Si hemos estado interesados en instalar un servidor LEMP, lo más seguro es que las herramientas que te presento a continuación nos van a ayudar, y mucho, a la creación y gestión de las páginas web que tengamos hospedadas en él.
A continuación puedes encontrar la serie completa dedicada a la instalación de un servidor LEMP:

Para ayudar a la gestión de las bases de datos MySQL, tenemos a nuestra disposición una herramienta basada en la web que facilita la administración de nuestros datos. Me refiero a phpMyAdmin, y vamos a instalarlo en nuestra flamante Raspberry.
Empezamos como siempre instalando:
sudo pacman -S phpmyadminVerificamos y si fuese necesario descomentamos las siguientes líneas en:
sudo nano /etc/php/php.iniextension=pdo_mysql
extension=mysqliY actualizamos también:
mysqli.allow_local_infile = On
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/Nota: open_basedir limita el acceso PHP añadiendo un poco más de seguridad.
Creamos un enlace a la carpeta de phpMyAdmin a nuestra carpeta http:
sudo ln -s /usr/share/webapps/phpMyAdmin/ /srv/http/phpMyAdminCreamos nuestro bloque de servidor:
sudo nano /etc/nginx/sites-available/phpMyAdminserver {
listen 80;
listen [::]:80;
server_name phpmyadmin.rpi;
access_log /var/log/nginx/phpMyAdmin.access.log;
error_log /var/log/nginx/phpMyAdmin.error.log;
location / {
root /srv/http/phpMyAdmin;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /srv/http/phpMyAdmin;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/http/phpMyAdmin/$fastcgi_script_name;
include fastcgi_params;
}
}Y lo enlazamos a los sitios activados:
sudo ln -s /etc/nginx/sites-available/phpMyAdmin /etc/nginx/sites-enabledEn el equipo cliente hay que declarar el alias en /etc/hosts:
sudo nano /etc/hosts...
192.168.1.71 phpmyadmin.rpi
...Y por último reiniciamos nginx y php-fpm:
sudo systemctl restart nginx
sudo systemctl restart php-fpmPara conectarnos a phpMyAdmin, escribiremos en nuestro navegador favorito el alias que acabamos de declarar en /etc/hosts:
http://phpmyadmin.rpi/
Y nos aparecerá el menú de acceso.
Las siguientes herramientas nos permitirán optimizar las tareas repetitivas al realizar páginas web.

Si no necesitamos una versión en especial, podemos instalar Node.js desde pacman. Si por el contrario, necesitamos una versión en concreto, ve directamente a la instalación alternativa, a continuación:
sudo pacman -S nodejs npmLo malo de actualizar en automático nuestra Raspberry, es que alguna vez puede ocasionar problemas, como el que he tenido hace unos días con Node.js que se actualizó a una versión que todavía node-sass no está soportada en ARM.
Afortunadamente, he descubierto NVM (Node Version Manager) en AUR que permite instalar la versión de Node.js que nos haga falta. ¡Vamos allá!
Nos conectamos mediante SSH a nuestra Raspberry y empezaremos desinstalando Node.js y npm:
sudo pacman -Rs npm nodejsAhora clonamos el repositorio nvm.git:
git clone https://aur.archlinux.org/nvm.gitCambiamos a la carpeta recién creada:
cd nvmY compilamos:
makepkg -siSalimos de la carpeta:
cd ..Y la borramos:
rm -rf nvmTal y como nos indica la wiki, añadimos en .bashrc las siguientes líneas:
nano .bashrc# Set up Node Version Manager
source /usr/share/nvm/init-nvm.shSalimos de la terminal, y abrimos otra para que tengamos disponible la modificación de bashrc. Ahora ya podemos instalar la versión que deseemos:
nvm install 12.0Downloading and installing node v12.0.0...
Downloading https://nodejs.org/dist/v12.0.0/node-v12.0.0-linux-armv7l.tar.xz...
######################################################################### 100,0%
Computing checksum with sha256sum
Checksums matched!
Now using node v12.0.0 (npm v6.9.0)
Creating default alias: default -> 12.0 (-> v12.0.0)
Gulp nos ayudará a automatizar tareas comunes y repetitivas en el desarrollo de aplicaciones web, como por ejemplo compilar Sass o JavaScript. Instalamos a nivel global:
sudo npm i -g gulp-cli
SASS básicamente es CSS con superpoderes, ofrece muchas opciones que CSS no ofrece y es el acrónimo de Syntatically Awesome StyleSheet.
Si hemos tenido que utilizar la instalación alternativa de Node.js, deberemos utilizar también la instalación alternativa de Sass, a continuación.
Si no es el caso, instalación habitual:
sudo npm install -g sassEste modo instalará node-sass indicando la versión que queremos instalar, al igual que hemos hecho con Node.js:
npm install node-sass@4.12.0
Con Webmin vamos a tener el pleno control del servidor, pero he tenido problemas al instalarlo desde AUR:
git clone https://aur.archlinux.org/webmin.git
cd webmin
makepkg==> ERROR: webmin no está disponible para la arquitectura «armv7h».Hay que modificar PKGBUILD:
nano PKGBUILDY modificar la siguiente línea:
arch=(x86_64 armv7h)Al segundo intento de compilar:
makepkgerror: no se ha encontrado el paquete: perl-authen-pam
error: no se ha encontrado el paquete: perl-encode-detect
==> ERROR: «pacman» ha fallado al instalar las dependencias que faltaban.Las dos dependencias que faltaban las he instalado desde AUR:
cd ..
git clone https://aur.archlinux.org/perl-authen-pam.git
cd perl-authen-pam
makepkg -si
cd ..
rm -rf perl-authen-pam
git clone https://aur.archlinux.org/perl-encode-detect.git
cd perl-encode-detect
makepkg -si
cd ..
rm -rf perl-encode-detectY al tercer intento:
cd webmin
makepkg -si
cd ..
rm -rf webminActivamos y arrancamos:
sudo systemctl enable webmin.service
sudo systemctl start webmin.serviceUna vez en marcha, desde nuestro navegador:
http://192.168.1.76:10000Por defecto, el usuario es root y su correspondiente contraseña.
Con este capítulo bonus completamos la serie del servidor LEMP. Ahora tienes:
¡Tu Raspberry Pi está lista para alojar y desarrollar proyectos web profesionales!
Este artículo forma parte de la serie Servidor LEMP.