WSL – LAMP
Después de haber instalado Subsistema de Windows para Linux (WSL) vamos a empezar a utilizarlo para algunas cosicas.
En este primer caso vamos a instalar LAMP (Linux Apache MariaDB PHP)
Para empezar, abrimos «Terminal» y dentro iniciamos una pestaña con OracleLinux_8_5
Lo primero que haremos será ejecutar «sudo dnf update
» para realizar la actualización del sistema. Cuando terminen las actualizaciones podremos empezar con la instalación y configuración de los paquetes necesarios.
1.- Instalación de APACHE
Para realizar la instalación del servidore web Apche, ejecutamos «sudo dnf install httpd«
Habilitamos el servicio con «sudo systemctl enable httpd«
Iniciamos el servicio con «sudo systemctl start httpd«
NOTA: Puede ser que en este punto nos de un error porque no se ha iniciado el sistema con «systemd», para solucionarlo ejecutamos lo siguiente:
sudo -e /etc/wsl.conf
En el fichero, añadimos lo siguiente:
[boot]
systemd=true
Guardamos el fichero (:wq), salimos de wsl (exit), paramos wsl (en ventana powershell «wsl –shutdown»).
Ya podemos volver a abrir nuestro wsl para seguir.
Comprobamos que el servicio está iniciado con «sudo systemctl status httpd«
También podemos probar que responde abriendo un navegador y accediendo a http://localhost
2.- Instalación de MariaDB (MySQL)
Para realizar la instalación de MariaDB ejecutamos «sudo dnf -y install mariadb mariadb-server«
Habilitamos el servicio con «sudo systemctl enable mariadb«
Iniciamos el servicio con «sudo systemctl start mariadb«
Comprobamos que el servicio está iniciado con «sudo systemctl status mariadb«
Ahora toca securizar la instalación de MariaDB, para ello ejecutaremos «sudo mysql_secure_installation» e iremos contestando todas las preguntas.
Con esto tenemos finalizada la instalación de MariaDB (MySQL).
Podemos acceder con:
mysql -u root -p
3.- Instalación de PHP
Para realizar la instalación de PHP ejecutamos lo siguiente:
sudo dnf install php-{common,gmp,fpm,curl,intl,pdo,mbstring,gd,xml,cli,zip,mysqli,opcache,mysqlnd}
Cuando termine, podemos chequear la versión de PHP instalada con «php-fmp --version«:
Habilitamos el servicio con «sudo systemctl enable php-fpm«
Iniciamos el servicio con «sudo systemctl start php-fpm«
Comprobamos que el servicio está iniciado con «sudo systemctl status php-fpm«
Para probar PHP, vamos a crear el fichero «info.php» en la carpeta raíz del sitio web.
sudo vi /var/www/html/info.php
Contenido del fichero
<?php
phpinfo();
?>
Después de crear el fichero, reiniciamos PHP y Apache
sudo systemctl restart php-fpm
sudo systemctl restart httpd
Y para comprobar, abrimos el navegador y accedemos a http://localhost/info.php
Con esto podríamos dar por finalizada la instalación pero añadiremos algún extra
4.- Elementos extras
4.1.- PHPMyAdmin
Vamos a instalar PHPMyAdmin para poder realizar una gestión más amigable de MariaDB (MySQL) y las BBDD
Instalación previa: sudo
dnf -y install php php-json unzip
Primero descargamos PHPMyAdmin
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
Cuando haya terminado la descarga, descomprimimos el archivo descargado:
tar xvf phpMyAdmin-5.2.1-all-languages.tar.gz
Renombramos la carpeta
mv phpMyAdmin-5.2.1-all-languages phpmyadmin
Seguimos con los siguientes comandos para mover la carpeta a la ruta de «www» y asignar los permisos necesarios.
sudo mv phpmyadmin /var/www/
cd /var/www
sudo chmod -R 775 phpmyadmin
sudo chown -R apache:apache phpmyadmin
Lo siguiente será crear el fichero de configuración en Apache para el sitio web de PHPMyAdmin
sudo vi /etc/httpd/conf.d/phpmyadmin.conf -- Con el siguiente contenido:
<virtualhost *:80>
servername phpmyadmin
serveralias www.phpmyadmin
Documentroot /var/www/phpmyadmin/
</virtualhost>
Editamos el fichero /etc/hosts para añadir la entrada para «phpmyadmin»
sudo vim /etc/hosts
También lo haremos en nuestro equipo windows (c:\windows\system32\drivers\etc\hosts), pero en este caso añadiremos la IP que tiene nuestra instalación WSL (Podemos saberla ejecutando «ip a» en la consola)
Para terminar tenemos que crear una base de datos y un usuario en MariaDB (MySQL)
sudo mysql -u root -p
MariaDB [(none)]> create database phpmyadmin;
MariaDB [(none)]> use phpmyadmin;
MariaDB [phpmyadmin]> create user 'rbidbadm'@'localhost' identified by 'contraseña';
MariaDB [phpmyadmin]> grant all privileges on phpmyadmin.* TO 'rbidbadm'@localhost;
MariaDB [phpmyadmin]> flush privileges;
MariaDB [phpmyadmin]> exit
Por último, reiniciamos el servicio Apache para que coja los cambios y podemos probar a acceder a http://localhost/phpmyadmin
sudo systemctl restart httpd
Ahora ya podemos acceder a la consola de PHPMyAdmin desde nuestro navegador mediante la URL http://phpmyadmin . Podremos acceder con el usuario «root» y la contreseña configurada durante la instalación de MariaDB.
4.2.- Acceder a ficheros de WSL desde Windows.
Otra ventaja, es que con el explorador de windows podemos acceder a los ficheros de nuestra instalación WSL de forma que podamos copiar y mover ficheros o editarlos desde alguna aplicación más amigable que «vi», como Notepad++ o incluso con Visual Code Studio.
Para ello, abrimos el explorador de archivos y en la ruta indicamos «\\wsl$\<nombre_distro>«
Espero que te resulte de utilidad.