Una macro de Apache tiene un nombre, algunas variables y líneas de códigos de configuración de Apache. Cuando desea utilizar la macro, la llama por el nombre de la macro, pasa los valores para cada variable, las variables se reemplazan con el valor en la macro y luego la macro se expande. Hace que la configuración sea muy fácil y modular.
En este artículo, le mostraré cómo usar la macro para administrar Apache 2 VirtualHost. Entonces empecemos.
Configuración de VirtualHost:
En este artículo, voy a implementar la configuración de VirtualHost como se muestra en la figura 1 con macro. Tendré 3 usuarios bob , alice y linda . bob alojará su sitio web www.example1.com en el servidor Apache con la dirección IP 192.168.21.166 . De la misma manera, Alice y Linda alojarán sus sitios web www.example2.com y www.example3.com respectivamente en el mismo servidor Apache.
Fig 1: VirtualHost basado en nombre en Apache 2
Este artículo es una extensión del artículo que escribí sobre la configuración de Apache VirtualHost en Ubuntu 18.04 LTS, que puede leer en Cómo configurar Apache VirtualHost en Ubuntu 18.04 LTS (enlace ese artículo aquí) .
Requerimientos:
Si es nuevo en la configuración de Apache 2 y desea aprender todo paso a paso, primero lea mi artículo Cómo configurar Apache VirtualHost en Ubuntu 18.04 LTS (enlace ese artículo aquí) . A partir de este artículo, debe seguir las secciones que se indican a continuación:
- Instalación del servidor web Apache 2
- Configurando DNS
- Estructuras de directorio
- Crear usuarios
Una vez que siga estas secciones del artículo de referencia, puede continuar con las siguientes secciones de este artículo.
Habilitando el módulo mod_macro de Apache 2:
De forma predeterminada, el módulo mod_macro no está habilitado en el servidor web Apache 2 en Ubuntu 18.04 LTS. Pero, el módulo está ahí y puede habilitarlo fácilmente con el comando a2enmod .
Para habilitar el módulo mod_macro , ejecute el siguiente comando:
mod_macro debe estar habilitado.
Creando una macro para VirtualHost:
El directorio predeterminado donde debe colocar sus archivos de macro en Ubuntu 18.04 LTS es ./etc/apache2/conf-available/
Primero, navegue hasta el directorio de la siguiente manera:/etc/apache2/conf-available/
Ahora, cree un nuevo archivo de macro
vhost-macro.conf
con el siguiente comando:
Debe abrirse un editor de texto.
Ahora, escriba las siguientes líneas:
<VirtualHost *:80>
ServerName $domain
ServerAlias www.$domain
DocumentRoot “/www/$domain/www/public_html”
<Directory “/www/$domain/www/public_html”>
Options -FollowSymLinks +MultiViews +Indexes
AllowOverride all
Require all granted
</Directory>
ErrorLog “/www/$domain/www/logs/error.log”
CustomLog “/www/$domain/www/logs/access.log” combined
</VirtualHost>
</Macro>
Finalmente, la macro tiene el siguiente aspecto. Ahora, guarde el archivo presionando <Ctrl> + x seguido de y e <Enter> .
Usando macro para cada VirtualHost:
En el artículo anterior, creé archivos de configuración de VirtualHost para bob (www.example1.com.conf), alice (www.example2.com.conf) y linda (www.example3.com.conf).
Ahora es el momento de reemplazarlo con macro.
Primero, navegue hasta el directorio de sitios predeterminado de Apache 2 de la siguiente manera:/etc/apache2/sites-available
Entonces, abra el archivo de configuración VirtualHost para bob (www.example1.com.conf) de la siguiente manera:
Son muchas líneas. Bueno, borre todas estas líneas. Ya no los necesitamos.
Simplemente ingrese la siguiente línea y guarde el archivo presionando <Ctrl> + x seguido de y e <Enter> .
Ahora, haz lo mismo con Alice (www.example2.com.conf).
Elimine todas las líneas, escriba la siguiente línea y guarde el archivo.
Nuevamente, haga lo mismo con linda (www.example3.com.conf).
Elimine todas las líneas, escriba la siguiente línea y guarde el archivo.
Habilitación de macro:
Ahora, debe habilitar la macro vhost-macro.conf que acaba de crear.
Para hacer eso, ejecute el siguiente comando:
La macro vhost-macro está habilitada.
Ahora, reinicie el servicio Apache 2 de la siguiente manera:
Prueba de VirtualHosts basados en macros:
Ahora, intente acceder a los sitios web www.example1.com , www.example2.com , www.example3.com .
Como puede ver, todos estos sitios web funcionan como se esperaba.
¿Viste cómo las macros marcan la diferencia? Anteriormente, tuvimos que poner muchas líneas de códigos en el archivo de configuración de VirtualHost. Pero ahora, solo una línea de código es suficiente para configurar un VirtualHost. Hace que la configuración de VirtualHost sea muy fácil.
Entonces, así es como usa las macros de Apache 2 para simplemente la configuración de VirtualHost en Ubuntu 18.04 LTS. Gracias por leer este artículo.