domingo, 18 de enero de 2015

Manual de Raspberry Pi. Creación de un servidor web

Buenas a todos, hoy hemos querido probar una de las capacidades por las que mejor se conoce a la Raspberry, por poder configurar un servidor web con mucha facilidad.


Para poder instalar un servidor web, se necesita lo que se llama LAMP (Linux Apache MySQL PHP). La Raspberry Pi ya tiene instalado Linux, así que nos pondremos a instalar Apache2, PHP5, MySQL y phpMyAdmin.



Apache2 es es el servidor web,
de código HTTP, que escucha las peticiones de los clientes y PHP5 es el que se encarga de interpretar el código php y de devolver al servidor el resultado pertinente.

MySQL es una base de datos que permite guardar los datos gestionados en nuestro sitio web en uan base de datos. phpMyAdmin es una aplicación web que nos facilita la gestión de las bases de datos.
 

Para empezar a instalar el servidor web, lo primero que vamos a hacer es actualizar nuestra Raspberry Pi:

sudo apt-get update
sudo apt-get upgrade


Ahora vamos a darle una IP estática a nuestra Raspberry Pi.

sudo nano etc/network/interfaces

En mi caso voy a editar el eth0 ya que tengo la Raspberry Pi conectada por ethernet.


      auto eth0
      iface eth0 inet static
      address 192.168.**.** (poner vuestra propia dirección IP)
      netmask 255.255.255.0
      gateway 192.168.**.** (poner la dirección de vuestro router)


Anotaciones: La dirección IP de la raspberry nos la podemos inventar y la dirección del router si no la sabemos, podemos adivinarla escribiendo netstat -nr en el terminal y la dirección que aparezca en "gateway" será la dirección de nuestro router


Salimos pulsando Ctr+X y damos a Y (para guardar el documento)
 
Una vez que tenemos la IP estática podemos comenzar a instalar el servidor web.

Primero hay que crear  el grupo "www-data".

sudo groupadd www-data


Puede que la Raspberry ya tenga el grupo "www-data" creado. Si es así no ejecutamos el siguiente comando. Si por el contrario no tenía creado el grupo, ejecutamos:

sudo usermod-a -G www-data www-data

 

Apache
Para la instalación de apache ejecutamos:
 
sudo apt-get install apache2 

Para comprobar que se ha instalado bien, en cualquien navegador escribimos la dirección ip de nuestra Raspberry Pi y si aparece algo como la imagen siguiente, es que la instalación ha sido un éxito:




PHP
Para instalar php5 ejecutamos el siguiente comando:

sudo apt-get install php5 

Ahora vamos a instalar algunos paquetes que los podremos necesitar en un futuro:

sudo apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap php5-mhash php5-mysql php5-odbc 

Después de instalar todos estos paquetes tenemos que reiniciar nuestra Raspberry Pi.

sudo reboot  

Para comprobar que se ha instalado bien php5 en la Raspberry Pi, vamos a hacer una prueba con PHP.
 
sudo nano /var/www/prueba.php

Y escribimos el código siguiente:

      <? php
          echo phpinfo();
      ?>

Igual que en el caso anterior, si introducimos en cualquier navegador: 192.168.**.**/prueba.php nos debería aparecer algo similar a la siguiente imagen.



Ahora vamos a hacer que aparezca una frase escrita por nosotros en vez de la información de PHP. Para ello en el anterior documento tenemos que escribir el siguiente código:

      <? php
          echo "Hola, amigos de E-elektronic";
      ?>

Ahora al introducir 192.168.**.**/prueba.php nos debería aparecer nuestro mensaje de bienvenida.



MySQL
Una vez instalado el php, instalaremos la database MyQSL. Lo primero que tenemos que hacer es activar nuestro interfaz loopback ya que si no lo hacemos nos dará un error al instalar MySQL.

sudo ifup lo  

Ejecutamos el siguiente comando para la instalación de MySQL


sudo apt-get install mysql-server mysql-client php5-mysql


Durante la instalación de MySQL nos pedirá una contraseña que será la que nosotros queramos, pero hay que acordarse muy bien de ella porque la utilizaremos más tarde.
 

Una vez terminada la instalación reiniciamos la Raspberry Pi.

sudo reboot
   
Después de reiniciar la raspberry, podemos iniciar el servicio de MySQL introduciendo el siguiente comando:

sudo service mysql start

Para comprobar que la instalación se realizó correctamente introducimos el siguiente comando:

mysql -uroot -p(Contraseña)

Anotación: Después de la "p" escribimos la contraseña que pusimos en la instalación. Si no escribimos nada después de la "p", nos pedirá la contraseña después.


Si no ha habido ningún error nos saldrá una pantalla similar a la que se muestra a continuación:

 
Pulsamos Ctr+C para salir.


phpMyadmin
Solo nos queda instalar una aplicación para administrar la database a través de un navegador web. Para ello ejecutamos:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin 

Durante la instalación nos preguntará qué tipo de servidor hemos utilizado, a lo que tendremos
que responder que Apache. Después nos preguntará si queremos configurar una base de datos
a lo que diremos que SI y nos pedirá que introduzcamos la contraseña de MySQL. También nos 
pedirá una nueva contraseña para phpMyAdmin.


Una vez terminado, abrimos el siguiente fichero:

sudo nano /etc/php5/apache2/php.ini

Introducimos en cualquier punto del mismo la siguiente frase (yo la he introducido al principio):

       extension=mysql.so

Guardamos el archivo e introducimos en cualqier navegador 192.168.**.**/phpmyadmin/. El usuario es root y la contraseña la que pusimos al instalar MySQL.


Si no funciona, tendremos que ejecutar los dos comandos que aparecen a continuación:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload

Si sigue sin funcionar, reiniciamos la Raspberry Pi.


¡Saludos!