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.
Serie completa servidor LEMP
A continuación puedes encontrar la serie completa dedicada a la instalación de un servidor LEMP:
- CAP.I PHP
- CAP.II NGINX
- CAP.III MARIADB
- CAP.IV BONUS ← Estás aquí
phpMyAdmin

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.
Instalación de phpMyAdmin
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.
Configuración de phpMyAdmin
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-fpmAcceder a phpMyAdmin
Para 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.
Desarrollo web
Las siguientes herramientas nos permitirán optimizar las tareas repetitivas al realizar páginas web.
Node.js

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 npmInstalación alternativa de Node.js con NVM
Lo 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

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-cliSass

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 sassInstalación alternativa de node-sass
Este 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.0Webmin

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».Solución: Modificar PKGBUILD
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.Instalar dependencias faltantes
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 webminActivar Webmin
Activamos 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.
Conclusión de la serie LEMP
Con este capítulo bonus completamos la serie del servidor LEMP. Ahora tienes:
- PHP configurado y optimizado
- Nginx como servidor web con virtual hosts
- MariaDB para bases de datos
- phpMyAdmin para gestión visual de bases de datos
- Node.js con control de versiones mediante NVM
- Gulp para automatización de tareas
- Sass para desarrollo de estilos avanzado
- Webmin para administración completa del servidor
¡Tu Raspberry Pi está lista para alojar y desarrollar proyectos web profesionales! 🚀
¿Te ha sido útil?
Ayúdame a mejorar con tu puntuación y comentarios.
💬 Comentarios
Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!