// como convertir su Raspberry Pi en todo un Web Server

1

Si nos sigue a diario, saben que estamos maravillados con el Raspberry Pi. Es increíble como esta económica micro-computadora se desempeña al utilizarlo en diferentes modalidades: como consola retro de videojuegos, como un File Server y hasta como un Web Server. Y es precisamente esta última configuración la que vamos a discutir hoy, como convertir su Rapsberry Pi en todo un Web Server.

Utilizaremos la configuración de LAMP (Linux, Apache, MySQL y PHP) en el Raspberry Pi pero con una pequeña modificación. En vez de usar Apache como el software de web server, utilizaremos otra famosa opción el cual ha estado ganando mucha fanaticada últimamente: Lighttpd. Lighttpd es también un software de código abierto el cual se caracteriza por ser más liviano que Apache, tanto en memoria, como en CPU. Perfecto para nuestro pequeño Raspberry Pi. Antes de empezar, usted debe de haber instalado Raspbian en su Raspberry Pi. Si no lo ha hecho, puede consultar nuestro tutorial.

Iremos paso por paso en cómo se completa la instalación y configuración de cada uno de estos componentes:

Instalación de Lighttpd, PHP y MySQL

Paso #1: Ingrese al Terminal del Raspberry Pi

Paso #2: Siempre debemos comenzar actualizando los repositorios de aplicaciones en su Raspberry Pi para estar seguro de que estamos trabajando con las versiones más reciente. Ingrese los siguientes comandos para actualizar los repositorios:

sudo apt-get update

sudo apt-get upgrade

Paso #3: Primero instalaremos la aplicación del web server Lighttpd. Ingrese el siguiente comando para iniciar la instalación:

sudo apt-get -y install lighttpd

Al finalizar, este inicia los servicios del webserver automáticamente.

Paso #4: Ahora vamos a instalar PHP. Son tres componentes a ser instalados en este preciso orden: php5-common, php5-cgi y php5. Inicie la instalación ingresando este comando.

sudo apt-get -y install php5-common php5-cgi php5

Paso #5: Próximo, habilite el módulo de Fastcgi quien trabajará las paginas PHP:

sudo lighty-enable-mod fastcgi-php

Obligue a Lighttpd a reiniciar para que asuma todos los cambios:

sudo service lighttpd force-reload

Nota: Si quiere probar que todo está en orden con el webserver, desde otra computadora en la misma red, ingrese el número de IP del Raspberry Pi en el navegador de Internet. Para saber cuál es el número de IP en el Raspberry Pi ingrese el siguiente comando:

sudo ip addr show

En el segundo bloque, en la sección de “eth0”, luego de donde dice “inet” aparece el número de IP del equipo.
Ingrese este en el navegador y verá una página temporera (conocida como un “placeholder”).  Usted acaba de confirmar que el webserver está trabajando adecuadamente.

image

Paso #6: Ahora instalaremos MySQL el cual trabajará todas las bases de datos. Ingrese el siguiente comando para iniciar la instalación:

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

Durante el proceso de instalación este le hará varias preguntas, primero confirmando su instalación y luego preguntando por la contraseña de administrador de las bases de datos. Este pendiente para ingresar esta información para que la instalación se complete exitosamente. Paso #7: Ahora vamos a cambiar unos permisos. Por defecto, el susuario de “root” es e dueño del directorio /var/www (donde se almacenan sus páginas de web). Queremos que el usuario de “Pi” tenga la capacidad de escribir en los archivos en este directorio. Ingrese el siguiente comando:

sudo chown www-data:www-data /var/www

Ahora vamos a darle permisos al grupo “www-data” para que pueda escribir (write) en el directorio /var/www.

sudo chmod 775 /var/www

Y por último, añadimos al usuario “Pi” al grupo “ww-data”.

sudo usermod -a -G www-data pi

Paso #8: Hora de reiniciar su Raspberry Pi para que asuma todos lso cambios. Ingrese este comando para reiniciar el equipo.

sudo reboot

Paso #9: ¿Se acuerdan de la página temporera (el “placeholder”)? Eso como que no nos dice mucho, además no sabemos si PHP está trabajando adecuadamente con el webserver Lighttpd. Vamso a cambiar esta página para que utilice uno diseñado en PHP. Ingrese el siguiente comando para ingresar al directorio /var/www (donde se almacenan las páginas web:

cd /var/www

Vamos a modificar el nombre de la página que utiliza por defecto Lighttpd mediante este comando:

mv index.lighttpd.html index.lighttpd.hxxx

Ahora vamos a copiar esta página diseñada en PHP (tiene que estar conectado su Raspberry Pi al Internet para descargar el mismo) y copiarlo al directorio /var/www con el nombre de index.php:

sudo wget http://www.raspberrypi-spy.co.uk/archive/misc/lighttpd_test.php.txt -O /var/www/index.php

Nota: El comando “-O” es la letra “O” en mayúscula, no el número cero.

Ingrese nuevamente a un navegador de web, coloque como dirección el número de IP de su Raspberry Pi y ahora el webserver le responde con una página más detallada con información del equipo, todo basado en PHP. ¡Mucho mejor!

Screen Shot 2013-07-24 at 12.22.18 AM

Opcional: Mejorar el desempeño del Raspberry Pi como webserver

Por defecto, el Raspberry Pi comparte su única memoria entre el CPU y el GPU (para gráficas) por la misma mitad. Eso está bien si usted va a trabajar mucho con el ambiente grafico del Raspberry Pi, pero si lo va a dedicar a que trabaje como un webserver, tanta memoria para el GPU no es necesario. Así que vamos a cambiar como el Raspberry Pi distribuye la memoria entre el CPU y el GPU para que le dedica gran parte de sus recursos al CPU. Desde el terminal ingrese este comando:

sudo raspi-config

Este lo lleva a una pantalla de configuración del Raspberry Pi. Utilizando su teclado, ingrese a la opción de ADVANCED OPTIONS.

image

Luego ingrese a la opción de MEMORY_SPLIT.

Ingrese 16 como la cantidad de memoria reservada para el GPU (el cual sería el mínimo). Luego Seleccione OK y luego FINISH. Su Raspberry Pi reinicia para asumir los cambios.

image

Listo, ahora gran parte de la memoria está dedicada al CPU. Esto no significa que no pueda ingresar al Raspberry Pi mediante el Desktop (GUI), solo no espere ejecutar un video o un juego y que este se vea bien. Pero oigan, ¡esto es un webserver! ¡No vamos a estar jugando DOOM en este equipo!

One Response

¡Comparte tu opinion!