๐Ÿง Instalaciรณn WSL Debian

Objetivo: Configurar un entorno de desarrollo completo con WSL Debian, Apache2, PHP 8.4, MariaDB y phpMyAdmin para el proyecto unicarlos.

๐Ÿš€ Paso 1: Instalar WSL y Debian

๐Ÿ“‹ Ejecutar desde PowerShell como Administrador:

Habilitar WSL en Windows

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
๐Ÿ“‹ Copiar
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
๐Ÿ“‹ Copiar
โš ๏ธ IMPORTANTE:
  • Ejecutar ambos comandos por separado
  • Esperar a que cada comando termine completamente
  • Reiniciar el sistema despuรฉs de ejecutar ambos comandos

Instalar Debian

wsl --install -d Debian
๐Ÿ“‹ Copiar
โš ๏ธ IMPORTANTE:
  • Crear usuario: me
  • Contraseรฑa: me
  • NOTA.- Al escribir la contraseรฑa, no se verรก nada en la pantalla, solo se escribirรก.

Abrir Debian

๐Ÿ” Buscar: Teclea "Debian"
๐ŸชŸ Tecla Windows y pinchar en el icono de ๐Ÿ”ด Debian

Se abrirรก una ventana de Debian donde se debe ejecutar los siguientes comandos:

๐Ÿ”ง Paso 2: Configurar Debian

sudo apt update && sudo apt upgrade -y
๐Ÿ“‹ Copiar
sudo apt install apache2 -y
๐Ÿ“‹ Copiar
sudo apt install -y gnupg apt-transport-https ca-certificates curl
๐Ÿ“‹ Copiar
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sury-archive-keyring.gpg
๐Ÿ“‹ Copiar
echo "deb [signed-by=/usr/share/keyrings/sury-archive-keyring.gpg] https://packages.sury.org/php/ bookworm main" | sudo tee /etc/apt/sources.list.d/php.list
๐Ÿ“‹ Copiar
sudo apt update && sudo apt upgrade -y
๐Ÿ“‹ Copiar
sudo apt install -y php8.4
๐Ÿ“‹ Copiar
php -v
๐Ÿ“‹ Copiar
sudo apt install -y php8.4-{cli,fpm,mysql,mbstring,curl,xml,zip,bcmath,gd}
๐Ÿ“‹ Copiar
sudo apt install mariadb-server mariadb-client -y
๐Ÿ“‹ Copiar
mysql --version
๐Ÿ“‹ Copiar
sudo apt install phpmyadmin -y
๐Ÿ“‹ Copiar
sudo a2enconf phpmyadmin
๐Ÿ“‹ Copiar
sudo systemctl reload apache2
๐Ÿ“‹ Copiar
sudo apt install -y curl wget git vim nano htop tree unzip rsync openssh-server
๐Ÿ“‹ Copiar
sudo systemctl enable ssh
๐Ÿ“‹ Copiar
sudo systemctl start ssh
๐Ÿ“‹ Copiar

Crear carpeta unicarlos en vuestra unidad c

sudo nano /etc/apache2/sites-available/unicarlos.conf
๐Ÿ“‹ Copiar
                   
                       ServerAdmin webmaster@localhost
                       DocumentRoot /mnt/c/unicarlos
                       <Directory /mnt/c/unicarlos>
                           Options Indexes FollowSymLinks
                           AllowOverride All
                           Require all granted
                       </Directory>
                       ErrorLog ${APACHE_LOG_DIR}/unicarlos_error.log
                       CustomLog ${APACHE_LOG_DIR}/unicarlos_access.log combined
                   
               
sudo a2ensite unicarlos.conf
๐Ÿ“‹ Copiar
sudo a2dissite 000-default.conf
๐Ÿ“‹ Copiar
sudo systemctl restart apache2
๐Ÿ“‹ Copiar
sudo mariadb
๐Ÿ“‹ Copiar

MariaDB [(none)]>

FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'me';
๐Ÿ“‹ Copiar
quit
๐Ÿ“‹ Copiar

Instalar docker y docker compose

Sigue la guรญa oficial para tener los repositorios estables, instalar ambos paquetes y dejar Docker listo para trabajar sin sudo.
sudo apt install -y ca-certificates curl gnupg
๐Ÿ“‹ Copiar
sudo install -m 0755 -d /etc/apt/keyrings
๐Ÿ“‹ Copiar
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
๐Ÿ“‹ Copiar
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
๐Ÿ“‹ Copiar
sudo apt update
๐Ÿ“‹ Copiar
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
๐Ÿ“‹ Copiar
docker --version
๐Ÿ“‹ Copiar
docker compose version
๐Ÿ“‹ Copiar
sudo usermod -aG docker me
๐Ÿ“‹ Copiar
newgrp docker
๐Ÿ“‹ Copiar
docker run hello-world
๐Ÿ“‹ Copiar

Instalar Portainer (gestor de contenedores)

docker volume create portainer_data
๐Ÿ“‹ Copiar
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
๐Ÿ“‹ Copiar
docker stop portainer
๐Ÿ“‹ Copiar
docker start portainer
๐Ÿ“‹ Copiar
Ir a Portainer Accede desde el navegador a https://localhost:9443, crea la cuenta de administrador y comienza a gestionar tus contenedores desde Portainer.