- Apps/
Apps | Instalar Lighttpd en tu Raspberry
Tabla de contenido
Aprende a instalar - Este articulo forma parte de una serie.
Uno de los usos que yo más a menudo he aprovechado de mi raspberry es la de servidor web, una maquina en la que poder almacenar mis sitios web para poder mostrarlos al mundo. En esta ocasión, y siguiendo con los servidores vamos a instalar el servidor Lighttpd para ese proposito
Puedes ver todos los articulos que componen esta serie aquí.
Lighttpd (pronunciado lighty) es un servidor web diseñado para ser rápido, seguro, flexible y fiel a los estándares.
Está optimizado para entornos donde la velocidad es muy importante y por eso consume menos CPU y memoria RAM que otros servidores. Por todo lo que ofrece, lighttpd es apropiado para cualquier servidor que tenga problemas de carga.
Lighttpd es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux y UNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows mantenida por Kevin Worthington.
Instalar Lighttpd en tu Raspberry. #
Vamos a instalar Lighttpd en nuestra Raspberry de la manera más sencilla que podamos.
Accedemos a la terminal y si no está seguro de tener Apache2 instalado, ejecute el siguiiente comando para desinstalarlo,puede omitir este paso si no tiene Apache.
sudo service apache2 stop
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
sudo apt-get autoremove
whereis apache2
sudo rm -rf /etc/apache2
Si te surge algún problema al desinstalar apache hemos escrito una idea con la que intentar dar soluciones.
Con Apache eliminado, podemos continuar con la instalación desde el repositorio de paquetes.
Instálelo ejecutando el siguiente comando.
sudo apt-get install -y lighttpd
Ya tenemos lighttpd instalado configuremos ahora UFW, si no lo tienes instalado usa tutorial ufw, una vez que lo tengas procederemos a habilitar el acceso a Lighttpd en el firewall.
Comprobaremos los perfiles que nos proporciona el firewall para Lighttpd con el siguiente comando:
sudo ufw app list
Aparecerá una lista con perfiles para diferentes aplicaciones en esta ocasion nos interesan las relacionadas con Lighttpd. Aparecerán 3:
Lighttpd HTTP --- Abre solo el puerto 80 (http)
Lighttpd Full --- Abre el 80 (http) y el puerto 443 (https)
Lighttpd HTTPS --- Abre solo el puerto 443 (https)
Como de momento aún no configuraremos SSL para nuestro servidor, solo permitiremos el tráfico en el puerto 80.
sudo ufw allow 'Lighttpd HTTP'
Si necesitas otra opcion diferente elige el perfil que se ajuste a tus necesidades.
Al final del proceso de instalación, se ha debido iniciar Lighttpd, por lo que el servidor web ya debería estar activo.
Podemos verificarlos y asi asegurarnos que se encuentra en ejecución el servicio escribiendo lo siguiente:
sudo systemctl status lighttpd
Si vas a usar tu raspberry como un servidor te aconsejo seguir este tutorial para asignar una ip a tu Raspberry. Si lo seguiste ya debes saber cual es la ip, sino usa el siguiente comando para saberla.
hostname -I
Si en el resultado aparece como active ya puedes acceder a tu servidor usando http://[IP de tu raspberry]
Configuracion de PHP para Lighttpd #
Antes de comenzar a configurar PHP para Lighttpd, debemos continuar e instalar PHP 7.4 y algunos módulos PHP recomendados que lo harán más fácil cuando trabajemos con scripts PHP más extensos.
Puede instalar todo ejecutando el siguiente comando.
sudo apt install php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-curl php7.4-gd php7.4-curl php7.4-zip php7.4-xml -y
Ahora que hemos instalado PHP-FPM, hay algunas cosas que tendremos que hacer.
Para comenzar, primero necesitaremos ejecutar los siguientes dos comandos, y esto crea dos enlaces simbólicos para que Lighttpd comience a leer los archivos de configuración que lo configuran para PHP.
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
Ya falta muy poco, antes de que podamos recargar Lighttpd. De forma predeterminada, está configurado para funcionar con PHP-CGI y no con PHP-FPM , debemos realizar estos cambios.
Comencemos ejecutando el siguiente comando para comenzar a editar el archivo.
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
El contenido de archivo será similar a esto:
# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
))
Borra el contenido del archivo y copia el texto del badge inferior y pegalo dentro del editor nano (o el que uses).
# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php/php7.4-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Guarda y sal de nano presionando CTRL + X y luego presionando Y. Por último, presione ENTER.
Con las modificacione hemos descartando todas las opciones excepto la que defimos la ruta del socket y la donfiguración del broken-scriptfilename.
A continuación, necesitaremos forzar la recarga de Lighttpd. Usaremos el siguiente comando:
sudo service lighttpd force-reload
Esto es opcional pero no viene mal probar la configuración de PHP, pa hacerlo crearemos con nano un archivo index.php en el directorio raiz del sitio que por defecto es /var/www/html
Ejecute el siguiente comando para crear con nano nuestro index.php.
sudo nano /var/www/html/index.php
A este archivo, copie y pege en nano la siguiente línea de código.
<?php phpinfo(); ?>
Hemos llegado al fin CTRL+ X despues Y, seguido de ENTER y ya hemos guardado el info.hp.
Ahora, como hiciste antes accede de nuevo a la dirección IP de tu Raspberry Pi ; si esta vez, se muestra una página con toda la información sobre tu versión de PHP y qué módulos están actualmente activos, eso demuestra de que la instalación de PHP está funcionando correctamente.
¿Se puede hacer algo mas?. #
Si desea ir un paso más allá, puede considerar configurar una base de datos MYSQL para acompañarlo. Es bastante sencillo y perfecto para cualquiera que necesite un buen software de base de datos.
– Ya podeis visitar el tutorial de como
Instalar MariaDB, con el tutorial para instalar y asegurar MariaDb.En un futuro incluiré
En un futuro incluiré un tutorial para Instalar phpMyAdmin.
A falta de algunos flecos sueltos podemos decir que tenemos nuestra Raspberry Pi con un servidor web Lighttpd completamente funcional y con PHP funcionando correctamente.
Y eso es todo. #
Bueno, otra cosa aprendida, espero que todo este rollo
os esté sirviendo, para eso lo hago desde luego.
En la siguiente parte
de esta serie os explicaré como instalar y asegurar MariaDb.
🙋♀️ Recuerda, si necesitas algun consejo para empezar dejame un mensaje de email y trataré de ayudarte en la medida de mis posibilidades.