Hola amigos. En esta publicación, le mostraremos cómo configurar hosts virtuales de Apache en CentOS 8 / Rocky Linux 8.
Es normal que en un mismo servidor tengamos varias webs funcionando. Cada uno de ellos necesita una configuración específica porque las necesidades de cada uno de ellos pueden variar. Por eso es necesario crear hosts virtuales.
Estos hosts virtuales permiten tener muchos sitios web ejecutándose dentro del mismo servidor. Además, es la mejor forma de configurarlos.
Este es el objetivo de este post, mostrarte cómo hacerlo y de la mejor manera. Vamos a por ello.
Instalar servidor web Apache en CentOS 8 / Rocky Linux 8
Comencemos desde lo básico. Primero, instalaremos el servidor web Apache.
sudo dnf update
sudo dnf install httpd
Una vez que lo hayas instalado, tenemos que iniciarlo.
sudo systemctl start httpd
Normalmente, está habilitado para iniciarse junto con el sistema.
sudo systemctl status httpd
Y, por último, compruebe el estado en busca de errores.
sudo systemctl status httpd
Lo más probable es que tenga un firewall activo. En este caso, tenemos que abrir los puertos 80
y 443
.
sudo firewall-cmd --add-port=80/tcp
sudo firewall-cmd --add-port=443/tcp
Finalmente, reinicie el firewall para aplicar los cambios.
sudo firewall-cmd --reload
Ahora esto es suficiente.
Creación de servidores virtuales Apache en CentOS 8
La forma recomendada de crear hosts virtuales en CentOS 8 es crear una carpeta específica para cada uno de ellos. El nombre de la carpeta no es relevante, pero es conveniente utilizar un nombre que puedas identificar rápidamente.
En este caso, usaremos como dominio fbi.unixcop.com
pero puede ser tuyo.
Primero crea la carpeta:
sudo mkdir /var/www/fbi.unixcop.com
A partir de entonces, haga que Apache sea el propietario de la carpeta para que todo funcione correctamente.
sudo chown apache:apache /var/www/fbi.unixcop.com
En algunos casos, es posible que desee asignar permisos especiales a la carpeta.
sudo chmod -R 755 /var/www/fbi.unixcop.com
Ahora debe crear un nuevo archivo de configuración. Este archivo tiene que estar en el /etc/httpd/conf.d/
carpeta. El nombre tampoco importa mucho, pero será descriptivo.
Por ejemplo:
sudo nano /etc/httpd/conf.d/fbi.unixcop.com.conf
En este archivo, debe agregar toda la configuración de Apache para este sitio. Por ahora, solo agrega lo siguiente.
<virtualhost *:80>
ServerName fbi.unixcop.com
DocumentRoot /var/www/fbi.unixcop.com
ErrorLog /var/log/httpd/fbi.unixcop.com-error.log
CustomLog /var/log/httpd/fbi.unixcop.com-access.log combined
</virtualhost>
Todo es importante, pero ServerName
define el nombre de dominio; El DocumentRoot
directiva define la ruta donde se encuentra nuestro sitio; Si quieres que varios dominios apunten al sitio puedes hacerlo con el ServerAlias
directiva y separando por comas cada una de ellas.
Guarde los cambios y cierre el editor.
Para aplicar los cambios, reinicie el servidor web
sudo systemctl restart httpd
Accediendo al nuevo host virtual
Ahora cree un archivo HTML para probar. Por ejemplo,
sudo nano /var/www/fbi.unixcop.com/index.html
Y agrega algo de contenido como este
<html>
<body>
Hi, welcome to unixcop
</body>
</html>
Guarde los cambios y cierre el editor.
Ahora abra un navegador web y visite http://fbi.unixcop.com
y verás tu sitio web funcionando.
Disfrútalo.
Conclusión
En esta publicación, aprendió cómo configurar Apache Virtualhosts en CentOS 8 / Rocky Linux 8 fácilmente. Además de esto, te hemos mostrado cómo hacerlo de la mejor manera.