Configurar Raspberry Pi como servidor web.

Como dije en el tutorial para intercambiar archivos con Raspberry Pi mediante SSH desde terminal, ando montando un servidor web en la Raspberry para hacer unas pruebas.

Así que, aprovechando la ocasión, he decidido hacer este tutorial sobre cómo lo he hecho, apoyándome en este enlace, aunque con algunas mejoras que he sacado de los comentarios del mismo enlace.

Yo en mi caso lo voy a hacer a través de SSH desde mi propio ordenador, aunque también puedes hacerlo conectando una pantalla y un teclado a tu Raspberry y abriendo un terminal. Si quieres hacerlo a través de SSH y no sabes cómo, puedes ver este otro tutorial en el que te explico como configurar la conexión SSH en tu Raspberry.

1. Instalación de Apache y PHP.

Lo primero que debemos hacer es crear y dar permisos al grupo que usa por defecto apache. Cuando ejecuté el comando, el sistema me dijo que el grupo ya tenía los permisos, pero por si acaso, no está de más intentarlo.

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

Ahora actualizamos los repositorios.

sudo apt-get update

E instalamos Apache y PHP

sudo apt-get install apache2 php5 libapache2-mod-php5

Y, cuando la instalación termine, reiniciamos Apache con el siguiente comando.

sudo /etc/init.d/apache2 restart

2. Instalación y configuración de MySQL y PHPMyAdmin.

Lo primero que nos recomiendan en el enlace de Geeky Theory es activar nuestra interfaz de loopback. Una vez más, al ejecutar el siguiente comando mi sistema me dijo que la interfaz ya estaba activa, pero como antes, no está de más por si acaso.

sudo ifup lo

Y procedemos a instalar MySQL y PHPMyAdmin.

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

Durante la instalación nos saldrán algunas pantallas pidiéndonos las contraseñas de administración de MySQL y PHPMyAdmin, si queremos ponerle alguna, y preguntándonos cómo configurarlo todo. En mi caso he puesto contraseña siempre que me lo han pedido, obviamente, y he marcado “Sí” en la parte de configuración. También nos preguntará qué servidor queremos ejecutar, y he elegido “Apache”.

Una vez la instalación termine, debemos modificar el archivo “php.ini”. Para ello, ejecutamos el siguiente comando.

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

En el fichero que se nos abre, bajamos muy abajo (usando CTRL derecho + V iréis más rápido que si usáis las teclas de dirección) hasta que veamos una línea en la que pone “Dynamics Extensions”. Cuando encontremos esa línea, añadimos justo antes la siguiente línea.

extension=mysql.so

Tras esto, escribimos el siguiente comando.

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

Sin embargo a mí, al ejecutarlo, me da el siguiente error.

ln: fallo al crear el enlace simbólico <</etc/apache2/conf.d/phpmyadmin.conf>>: No existe el fichero o el directorio

Según algunos comentarios en el enlace de Geeky Theory, este error se debe a que no hemos creado el directorio “conf.d” en “/etc/apache2”. Eso se puede arreglar ejecutando el siguiente comando.

cd /etc/apache2 mkdir conf.d

Sin embargo, a mí me ha funcionado todo bien de momento sin hacer nada de esto.

A continuación ejecutamos el siguiente comando.

sudo /etc/init.d/apache2 reload

Y añadimos al final del archivo “/etc/apache2/apache2.conf” la instrucción “include /etc/phpmyadmin/apache.conf”. Para ello, ejecutamos el siguiente comando.

sudo nano /etc/apache2/apache2.conf

Y bajando en el fichero que se nos abre hasta el final (usando otra vez CTRL derecho + V) y añadimos la línea mencionada anteriormente. Una vez lo hagamos y guardemos las modificaciones del fichero, reiniciamos Apache.

/etc/init.d/apache2 restart

Probando el servidor.

Ya tenemos nuestro servidor montado. Si queremos probar que todo ha ido bien, podemos escribir en nuestro explorador de internet la siguiente dirección.

[direccionIPdelaRaspberry]/phpmyadmin

Donde [direccionIPdelaRaspberry] es la dirección IP de la Raspberry. Por ejemplo:

192.168.1.27/phpmyadmin

Y veremos una página como esta.

Y tras escribir el usuario de administración (que suele ser root) y la contraseña que introdujimos durante la instalación, veremos algo así.

Si no logras ver esto, algo ha ido mal. Deja un comentario abajo y seguramente alguien, sino yo, te echará un cable.

Si quieres hacer otra prueba más de que todo ha ido bien, puedes crear un archivo php de prueba en el directorio “/var/www/html” y acceder a él. Para ello, ejecutamos el siguiente comando.

sudo nano /var/www/html/holaMundo.php

Y en el fichero en blanco que se te abre escribes lo siguiente.

<?php echo "Hola Mundo"; ?>

Y, tras guardar el fichero con el nombre “holaMundo.php”, escribes en tu explorador web lo siguiente.

[direccionIPdelaRaspberry]/holaMundo.php

Donde [direccionIPdelaRaspberry] vuelve a ser la dirección IP de la Raspberry. Al hacerlo verás algo así.

¡Y enhorabuena! Acabas de hacer tu primer “Hola Mundo” en tu nuevo servidor web de tu Raspberry.

¡Y nada más! Así de simple. Como siempre, cualquier sugerencia o consulta podéis hacérmela llegar enviando un correo electrónico a sugerencias@manusoft.es o dejando un comentario en la entrada. ¡Muchas gracias por visitar ManuSoft.es!