¿Cómo configurar Virtual Hosts de Apache?



Vamos a crear 3 Virtual Hosts virtuales en Apache para los nombre de dominio que creamos en esta anterior entrada.

¿Que es un virtual host?
Un virtual host se refiere a hacer funcionar mas de un Sitio Web en una sola maquina, por ejemplo en nuestro caso tendremos 3 sitios web, daniortizgarcia.tk, holup.tk y daniortiz.ml funcionando en nuestro VPS.

Lo primero que vamos ha hacer es crear las carpetas donde redireccionaremos al poner el nombre de dominio.


- sudo mkdir -p /var/www/daniortizgar.tk/public_html

- sudo mkdir -p /var/www/daniortiz.ml/public_html

- sudo mkdir -p /var/www/holup.tk/public_html

Después de esto le daremos permisos al usuario actual para poder editar estas carpetas sin necesidad de sudo.

- sudo chown -R $USER:$USER /var/www/daniortizgar.tk/public_html

- sudo chown -R $USER:$USER /var/www/daniortiz.ml/public_html

- sudo chown -R $USER:$USER /var/www/holup.tk/public_html


Creamos el html donde veremos la página que queremos mostrar.



- nano /var/www/daniortizgar.tk/public_html/index.html



- nano /var/www/daniortiz.ml/public_html/index.html



- nano /var/www/holup.tk/public_html/index.html



Ejemplo del HTML.



<html>

       <head>

               <title>¡Bienvenido a daniortizgar.tk!</title>

               <meta charset="UTF-8">

       </head>

       <body>

               <h1>¡Lo lograste! El virtual host example.com está funcionando</h1>

       </body>

</html>



Creamos el primer archivo del virtual hosts

- sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/daniortizgar.tk.conf

- sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/daniortiz.ml.conf

- sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/holup.tk.conf

Lo modificamos

- sudo nano /etc/apache2/sites-available/daniortizgar.tk.conf

- sudo nano /etc/apache2/sites-available/daniortiz.ml.conf

- sudo nano /etc/apache2/sites-available/holup.tk.conf

Así quedara daniortizgar.tk.conf

<VirtualHost *:80>
   ServerAdmin admin@daniortizgar.tk
   ServerName daniortizgar.tk
   ServerAlias www.daniortizgar.tk
   DocumentRoot /var/www/daniortizgar.tk/public_html
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>



Así quedara daniortiz.ml.conf

<VirtualHost *:80>
   ServerAdmin admin@daniortiz.ml
   ServerName daniortiz.ml
   ServerAlias www.daniortiz.ml
   DocumentRoot /var/www/daniortiz.ml/public_html
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>



Así quedara holup.tk.conf

<VirtualHost *:80>
   ServerAdmin admin@holup.tk
   ServerName holup.tk
   ServerAlias www.holup.tk
   DocumentRoot /var/www/holup.tk/public_html
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>



Habilitamos los virtual hosts.



- sudo a2ensite daniortizgar.tk.conf

- sudo a2ensite daniortiz.ml.conf

- sudo a2ensite holup.tk.conf

Reiniciamos para que los cambios se vean reflejados.

- sudo systemctl restart apache2

Buscamos la dirección en el navegador para ver si los cambios están guardados correctamente.