Paso 1: Crear la estructura de directorios
Primero crearemos una estructura de directorios que albergarán los datos del sitio que presentaremos a los visitantes en nuestro directorio de Apache de nivel superior. Usaremos nombres de dominio de ejemplo, resaltados a continuación. Debería sustituirlos por sus nombres de dominio reales.
sudo mkdir -p /var/www/example.com/public
Paso 2: Conceder permisos
Ahora deberíamos cambiar los permisos de nuestro usuario no root actual para poder modificar los archivos.
sudo chown -R $USER:www-data /var/www/example.com/public sudo chmod -R 775 /var/www/example.com
Adicionalmente, nos aseguraremos de que el acceso de lectura se permita para el directorio web general y la totalidad de los archivos y las carpetas que contiene, de forma que las páginas se presenten correctamente.
¡Sólo la primer vez!
sudo chown -R $USER:www-data /var/www sudo chmod -R 775 /var/www
Paso 3: Crear páginas de demostración para cada host virtual
Crearemos contenido para presentar; crearemos una página de demostración index.html
para cada sitio. Podemos abrir un archivo index.html
en un editor de texto para nuestro primer sitio usando nano, por ejemplo.
nano /var/www/example.com/public/index.php
En este archivo, cree un documento HTML específico para el dominio, como se muestra a continuación:
/var/www/example.com/public/index.php
<?php phpinfo(); ?>
Paso 4: Crear nuevos archivos de host virtual
Apache cuenta con un archivo de host virtual predeterminado llamado 000-default.conf
, que usaremos como plantilla. Lo copiaremos para crear un archivo de host virtual para cada uno de nuestros dominios.
Cree el primer archivo de host virtual
Comience copiando el archivo para el primer dominio:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
Abra el nuevo archivo en su editor (usaremos nano) con privilegios root:
sudo nano /etc/apache2/sites-available/example.com.conf
Personalizaremos este archivo para nuestro propio dominio. Modifique el texto resaltado a continuación conforme a sus requisitos.
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
En este momento, guarde y cierre el archivo.
Paso 5: Habilitar los nuevos archivos de host virtual
Una vez creados nuestros archivos de host virtual, debemos habilitarlos. Usaremos la herramienta a2ensite
para hacerlo.
sudo a2ensite example.com.conf
Deshabilite el sitio predeterminado definido en 000-default.conf
:
sudo a2dissite 000-default.conf
Cuando termine, deberá reiniciar Apache para que estos cambios surtan efecto y usar systemctl status
para verificar que el reinicio se haya realizado correctamente.
sudo systemctl restart apache2
or
sudo systemctl reload apache2