🚀 GUÍA DEFINITIVA VPS (Apache + Subdominios + SSL)

🧠 1. Concepto básico

Cada subdominio funciona así:

✔ Ejemplo: panel.vixpanel.xyz → /var/www/html/panel

📁 2. Crear carpetas en el servidor

Entrar al servidor y crear estructura:

sudo mkdir -p /var/www/html/panel
sudo mkdir -p /var/www/html/api
sudo mkdir -p /var/www/html/admin

✔ Esto crea las carpetas donde irá tu web

✏️ 3. Crear archivo principal con nano

Ejemplo: crear página para panel

sudo nano /var/www/html/panel/index.php

Ejemplo de contenido:

<?php
echo "Panel funcionando";
?>

Guardar:

🌐 4. Crear VirtualHost (Apache)

Ejemplo: panel.vixpanel.xyz

sudo nano /etc/apache2/sites-available/panel.vixpanel.xyz.conf
<VirtualHost *:80>

    ServerName panel.vixpanel.xyz

    DocumentRoot /var/www/html/panel

    <Directory /var/www/html/panel>
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

⚙️ 5. Activar sitio

sudo a2ensite panel.vixpanel.xyz.conf
sudo systemctl reload apache2

✔ Sitio activado

🔒 6. SSL (HTTPS con Certbot)

sudo certbot --apache -d panel.vixpanel.xyz

Si quieres varios dominios:

sudo certbot --apache \
-d vixpanel.xyz \
-d www.vixpanel.xyz \
-d panel.vixpanel.xyz

➕ 7. Cómo agregar nuevos subdominios

Ejemplo: api.vixpanel.xyz

1. Crear carpeta

sudo mkdir /var/www/html/api

2. Crear VirtualHost

sudo nano /etc/apache2/sites-available/api.vixpanel.xyz.conf
<VirtualHost *:80>

    ServerName api.vixpanel.xyz

    DocumentRoot /var/www/html/api

    <Directory /var/www/html/api>
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

3. Activar

sudo a2ensite api.vixpanel.xyz.conf
sudo systemctl reload apache2

4. SSL

sudo certbot --apache -d api.vixpanel.xyz

🔍 8. Verificar DNS

nslookup panel.vixpanel.xyz 8.8.8.8

✔ Debe devolver tu IP

⚠️ Errores comunes

🔥 Regla de oro

✔ 1 subdominio = 1 carpeta = 1 VirtualHost = 1 SSL

🚀 Nivel PRO