Administrar Apache 2 VirtualHost con macro en Ubuntu 18.04 LTS

Apache Macro es como una función en un script de shell o un lenguaje de programación. Usted define una macro y luego la expande donde sea necesario para simplemente configurar la tarea del servidor web Apache.

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.

 aria-describedby=

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:

$ sudo a2enmod macro

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/

$ cd /etc/apache2/conf-available/

Ahora, cree un nuevo archivo de macro vhost-macro.confcon el siguiente comando:

$ sudo nano vhost-macro.conf

Debe abrirse un editor de texto.

Ahora, escriba las siguientes líneas:

&ltMacro VHost $domain&gt
&ltVirtualHost *:80&gt
ServerName $domain
ServerAlias www.$domain
 
DocumentRoot “/www/$domain/www/public_html”
 
&ltDirectory “/www/$domain/www/public_html”&gt
Options -FollowSymLinks +MultiViews +Indexes
AllowOverride all
Require all granted
&lt/Directory&gt
 
ErrorLog “/www/$domain/www/logs/error.log”
CustomLog “/www/$domain/www/logs/access.log” combined
&lt/VirtualHost&gt
&lt/Macro&gt

Finalmente, la macro tiene el siguiente aspecto. Ahora, guarde el archivo presionando &ltCtrl&gt + x seguido de y e &ltEnter&gt .

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

$ cd /etc/apache2/sites-available

Entonces, abra el archivo de configuración VirtualHost para bob (www.example1.com.conf) de la siguiente manera:

$ sudo nano www.example1.com.conf

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 &ltCtrl&gt + x seguido de y e &ltEnter&gt .

Use VHost example1.com

Ahora, haz lo mismo con Alice (www.example2.com.conf).

$ sudo nano www.example2.com.conf

Elimine todas las líneas, escriba la siguiente línea y guarde el archivo.

Use VHost example2.com

Nuevamente, haga lo mismo con linda (www.example3.com.conf).

$ sudo nano www.example3.com.conf

Elimine todas las líneas, escriba la siguiente línea y guarde el archivo.

Use VHost example3.com

Habilitación de macro:

Ahora, debe habilitar la macro vhost-macro.conf que acaba de crear.

Para hacer eso, ejecute el siguiente comando:

$ sudo a2enconf vhost-macro

La macro vhost-macro está habilitada.

Ahora, reinicie el servicio Apache 2 de la siguiente manera:

$ sudo systemctl restart apache2

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux