Unidad 9.3: VirtualHosts y sitios
Multiples sitios en un solo servidor
Unidad 9.3: VirtualHosts y sitios
Introduccion
Un VirtualHost permite servir multiples sitios (dominios) desde el mismo Apache. La base operacional es: document root -> vhost -> enable -> configtest -> reload.
Objetivos de aprendizaje
- Crear un sitio simple con DocumentRoot propio
- Habilitar el sitio y deshabilitar el default
- Validar con curl usando Host header
Crear un DocumentRoot de ejemplo
BASH
- 1
- mkdir -p crea el directorio del sitio.
- 2
- tee escribe un index.html con permisos root.
Crear VirtualHost
BASH
1$ sudo tee /etc/apache2/sites-available/site1.conf >/dev/null <<'EOF'
<VirtualHost *:80>
ServerName site1.local
DocumentRoot /var/www/site1/public
ErrorLog ${APACHE_LOG_DIR}/site1-error.log
CustomLog ${APACHE_LOG_DIR}/site1-access.log combined
<Directory /var/www/site1/public>
Require all granted
</Directory>
</VirtualHost>
EOF- 1
- tee + heredoc crea el archivo del VirtualHost.
Habilitar sitio y validar
BASH
- 1
- a2ensite habilita el vhost.
- 2
- a2dissite deshabilita el sitio por defecto.
- 3
- apachectl configtest valida sintaxis.
- 4
- systemctl reload aplica cambios.
Probar con Host header
BASH
1$ curl -H 'Host: site1.local' http://127.0.0.1
<h1>Site1 OK</h1>- 1
- curl -H ‘Host: …’ simula un request con nombre de host para seleccionar el VirtualHost.