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.