Cómo configurar Apache VirtualHost en Ubuntu Top 10.Top 10 LTS

Cómo configurar Apache VirtualHost en Ubuntu Top 10.Top 10 LTS
Apache Virtualhost se usa para ejecutar múltiples sitios web en el mismo servidor Apache. Es una característica increíble del servidor web Apache 2 para la implementación de alta densidad de sitios web en un solo servidor. Apache tiene dos tipos de configuración virtualhost, virtualhost basado en IP y virtualhost basado en el nombre.VirtualHost basado en IP: En VirtualHost basado en IP, un servidor Apache tiene múltiples direcciones IP y responde con diferentes sitios web basados ​​en la dirección IP.

Fig. 1: VirtualHost basado en Apache IP.

VirtualHost basado en el nombre: En VirtualHost basado en nombres, un servidor Apache tiene una sola dirección IP y múltiples nombres de dominio configurados para cada sitio web. En un servidor DNS, a cada uno de estos nombres de dominio se les asigna la dirección IP del servidor Apache. Dependiendo del nombre de dominio que usara el cliente, el servidor devuelve diferentes sitios web.

Fig. 2: VirtualHost basado en el nombre de Apache.

En este artículo, le mostraré cómo configurar el nombre de apache basado en VirtualHost. Estaré usando Ubuntu 18.04 LTS para la demostración. Pero debería funcionar en cualquier distribución moderna de Linux con poco o ningún cambio. Entonces empecemos.

Instalación del servidor web Apache 2:

El servidor web Apache 2 está disponible en el repositorio oficial de paquetes de Ubuntu 18.04 LTS. Por lo tanto, puede instalarlo fácilmente con el Administrador de paquetes APT.

Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:

$ sudo apt actualización

Ahora, ejecute el siguiente comando para instalar el servidor web Apache 2:

$ sudo apt install apache2

Ahora presiona Y y luego presiona continuar.

Se debe instalar el servidor web Apache 2.

Configuración de DNS:

Ahora, debe configurar el servidor DNS para asignar los nombres de dominio que desea usar para VirtualHost en la dirección IP de su servidor Apache.

Puede encontrar la dirección IP de su servidor Apache con el siguiente comando:

$ ip a | egrep "inet"

Como puede ver, la dirección IP en mi caso es 192.168.21.166. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Si desea aprender a configurar Apache Virtualhost localmente, puede usar el /etc/huéspedes Archivo para la resolución local de DNS/Nombre.

Para configurar la resolución DNS local, abra el /etc/huéspedes presentar con nano como sigue:

$ sudo nano /etc /anfitriones

Ahora, agregue la línea marcada en la captura de pantalla a continuación al archivo. Entonces presione + X seguido por Y y Para guardar el archivo.

Ahora, la resolución de nombres locales debería funcionar.

Estructuras de directorio:

Quiero mantener todos los datos del sitio web de mi apache virtualhost en un directorio específico /www. Aquí, quiero crear un directorio para cada usuario. Cada usuario tendrá el suyo public_html/ y registros/ directorio también.

Por ejemplo, para 3 usuarios Bob (ejemplo1.com), Alice (Ejemplo2.com), Linda (ejemplo3.com), La estructura del directorio es la siguiente:

/www
- Ejemplo 1.com/
- www/
- public_html/
- índice.html
- registros/
- ejemplo2.com/
- www/
- public_html/
- índice.html
- registros/
- ejemplo3.com/
- www/
- public_html/
- índice.html
- registros/

Una manera fácil de hacerlo es crear un directorio de plantilla o esqueleto y colocar la estructura del directorio allí. Luego cree cada usuarios utilizando este directorio de esqueleto.

Primero, copie el contenido del directorio de esqueleto predeterminado /etc/skel a otro directorio /etc/skel-www como sigue:

$ sudo cp -rv /etc /skel /etc /skel -www

Ahora, navegue al nuevo directorio de esqueleto de la siguiente manera:

$ cd /etc /skel-www

Luego cree la estructura del directorio deseada dentro del directorio de esqueleto de la siguiente manera:

$ sudo mkdir -p www/public_html, Logs

También puede crear un valor predeterminado índice.html archivo en el public_html/ directorio si quieres.

$ Echo "

Funciona

"| Sudo Tee www/public_html/index.html

Ahora, crea el /www directorio con el siguiente comando:

$ sudo mkdir /www

Creación de usuarios:

Ahora puede crear el usuario Beto para www.Ejemplo 1.com como sigue:

$ Sudo UserAdd-Create-Home--Home-Dir /www /Ejemplo1.com -shell
/bin/bash--gid www-data--skel/etc/skel-www bob

De la misma manera, crea el usuario Alicia para www.ejemplo2.com como sigue:

$ Sudo UserAdd-Create-Home-Home-Dir /www /Ejemplo2.com --shell /bin /bash
--GID www-data--skel /etc /skel-www alice

Nuevamente, cree el usuario Linda para www.ejemplo3.com como sigue:

$ Sudo UserAdd-Create-Home-Home-Dir /www /Ejemplo3.com --shell /bin /bash
--GID www-data--skel /etc /skel-www linda

Aquí, asigné el grupo principal de cada usuario a datos www. Por defecto, el servidor Apache se ejecuta como este grupo. Si no hubiera hecho eso, Apache Server no podrá acceder a los archivos en el public_html/ directorio y crear archivos de registro en el registros/ directorio.

Configuración de Apache VirtualHost:

Ahora, está listo para configurar Apache VirtualHost para 3 usuarios Beto (www.Ejemplo 1.com), Alicia (www.ejemplo2.com) y linda (www.ejemplo3.com).

El directorio de configuración del sitio de Apache predeterminado en Ubuntu es /etc/apache2/sites disponible.

Ahora, navegue al directorio /etc/apache2/sites disponible/ como sigue.

$ cd/etc/apache2/sites disponible/

Primero, cree un nuevo archivo de configuración para Bob www.Ejemplo 1.comunicarse.confusión como sigue:

$ sudo nano www.Ejemplo 1.comunicarse.confusión

Se debe abrir un editor de texto.

Ahora, escriba las siguientes líneas.

ServerName Ejemplo1.comunicarse
Serveralias www.Ejemplo 1.comunicarse
DocumentRoot "/www/ejemplo1.com/www/public_html "

Opciones -FreatosSymlinks +Multiviews +Índices
Permateverride todo
Requiere todos otorgados
ErrorLog "/www/ejemplo1.com/www/logs/error.registro"
CustomLog "/www/ejemplo1.com/www/logs/access.registro "combinado

Nota: Cambie los textos en negrita de acuerdo con sus requisitos.

Finalmente, el archivo de configuración www.ejemplo.comunicarse.confusión Debería aparecer como sigue. Prensa + X seguido de y y Para guardar el archivo de configuración.

simplemente copiar el archivo de configuración para Beto (www.Ejemplo 1.comunicarse.confusión) y hacer qué pocos cambios se requieren.

Copiar el archivo de configuración de Beto para Alicia y linda Con los siguientes comandos:

$ sudo cp -v www.Ejemplo 1.comunicarse.Conf www.ejemplo2.comunicarse.confusión
$ sudo cp -v www.Ejemplo 1.comunicarse.Conf www.ejemplo3.comunicarse.confusión

Ahora, edite el archivo de configuración de Alicia como sigue:

$ sudo nano www.ejemplo2.comunicarse.confusión

Ahora, cambie todas las ocurrencias de Ejemplo 1 a ejemplo2. Luego guarde el archivo.

Hacer lo mismo por linda.

$ sudo nano www.ejemplo3.comunicarse.confusión

Cambiar todos los acontecimientos de Ejemplo 1 a ejemplo3 y guarda el archivo.

Habilitando configuraciones de virtualhost:

Ahora, deshabilite la configuración del sitio web de Apache predeterminada de la siguiente manera:

$ sudo a2dissite 000 default.confusión

Ahora, habilite las configuraciones VirtualHost www.Ejemplo 1.comunicarse.confusión, www.ejemplo2.comunicarse.confusión, www.ejemplo3.comunicarse.confusión como sigue:

$ sudo a2ensite www.Ejemplo 1.comunicarse.Conf www.ejemplo2.comunicarse.Conf www.ejemplo3.comunicarse.confusión

Finalmente, reinicie el servicio Apache de la siguiente manera:

$ sudo systemctl reiniciar apache2

Prueba de VirtualHosts:

Ahora, intente acceder a los sitios web www.Ejemplo 1.com, www.ejemplo2.com, www.ejemplo3.comunicarse

Como puede ver, todos estos sitios web funcionan como se esperaba.

NOTA: Cambié la página predeterminada índice.html para cada sitio para que sea un poco diferente para cada sitio web para fines de prueba. De lo contrario, no podrá saber si la configuración de virtualhost funciona o no.

Entonces, así es como configuras Apache VirtualHost basado en el nombre en Ubuntu 18.04 LTS. Gracias por leer este artículo.