Apache HTTP

Cómo configurar Apache VirtualHost en Ubuntu 18.04 LTS

Cómo configurar Apache VirtualHost en Ubuntu 18.04 LTS
Apache VirtualHost se utiliza para ejecutar varios sitios web en el mismo servidor Apache. Es una característica impresionante del servidor web Apache 2 para la implementación de sitios web de alta densidad en un solo servidor. Apache tiene dos tipos de configuración de VirtualHost, VirtualHost basado en IP y VirtualHost basado en nombre.VirtualHost basado en IP: En VirtualHost basado en IP, un servidor Apache tiene varias direcciones IP y responde con diferentes sitios web según la dirección IP.

Figura 1: VirtualHost basado en IP de Apache.

VirtualHost basado en nombre: En VirtualHost basado en nombres, un servidor Apache tiene una única dirección IP y varios nombres de dominio configurados para cada sitio web. En un servidor DNS, a cada uno de estos nombres de dominio se le asigna la dirección IP del servidor Apache. Dependiendo del nombre de dominio que utilizó 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 VirtualHost basado en el nombre de Apache. Usaré Ubuntu 18.04 LTS para la demostración. Pero debería funcionar en cualquier distribución de Linux moderna 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 de paquetes oficial de Ubuntu 18.04 LTS. Por lo tanto, puede instalarlo fácilmente con el administrador de paquetes APT.

Primero, actualice la caché del repositorio de paquetes APT con el siguiente comando:

actualización de $ sudo apt

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

$ sudo apt instalar apache2

Ahora presiona y y luego presione 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 a 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. Por lo tanto, asegúrese de reemplazarlo por el suyo a partir de ahora.

Si desea aprender a configurar Apache VirtualHost localmente, puede usar el / etc / hosts archivo para resolución de nombres / DNS local.

Para configurar la resolución de DNS local, abra el / etc / hosts archivar con nano como sigue:

$ sudo nano / etc / hosts

Ahora, agregue la línea como se marca 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á su propio 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 forma sencilla de hacerlo es crear una plantilla o un directorio esqueleto y colocar la estructura del directorio allí.  Luego crea cada usuario usando este directorio esqueleto.

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

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

Ahora, navegue hasta el nuevo directorio de esqueleto de la siguiente manera:

$ cd / etc / skel-www

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

$ sudo mkdir -p www / public_html, logs

También puede crear una í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 puedes crear el usuario Beto para www.Ejemplo 1.com de la siguiente manera:

$ sudo useradd --create-home --home-dir / www / example1.com --shell
/ bin / bash --gid www-data --skel / etc / skel-www bob

De la misma forma, crea el usuario Alicia para www.ejemplo2.com de la siguiente manera:

$ sudo useradd --create-home --home-dir / www / example2.com --shell / bin / bash
--gid www-data --skel / etc / skel-www alice

Nuevamente, cree el usuario linda para www.ejemplo3.com de la siguiente manera:

$ sudo useradd --create-home --home-dir / www / example3.com --shell / bin / bash
--gid www-data --skel / etc / skel-www linda

Aquí, asigné el grupo principal de cada usuario a www-datos. De forma predeterminada, el servidor Apache se ejecuta como este grupo. Si no lo hubiera hecho, el servidor Apache 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 Apache predeterminado en Ubuntu es / etc / apache2 / sites-available.

Ahora, navega al directorio / etc / apache2 / sites-available / como sigue.

$ cd / etc / apache2 / sites-available /

Primero, cree un nuevo archivo de configuración para bob www.Ejemplo 1.com.conf como sigue:

$ sudo nano www.Ejemplo 1.com.conf

Se debe abrir un editor de texto.

Ahora, escriba las siguientes líneas.

Ejemplo 1 de ServerName.com
ServerAlias ​​www.Ejemplo 1.com
DocumentRoot "/ www / example1.com / www / public_html "

Opciones -FollowSymLinks + MultiViews + Índices
Permitir anular todo
Requerir todo concedido
ErrorLog "/ www / example1.com / www / logs / error.Iniciar sesión"
CustomLog "/ www / example1.com / www / logs / access.log "combinado

NOTA: Cambie los textos en negrita según sus necesidades.

Finalmente, el archivo de configuración www.ejemplo.com.conf debería verse como sigue. prensa + X seguido de y y para guardar el archivo de configuración.

para simplemente copiar el archivo de configuración para Beto (www.Ejemplo 1.com.conf) y haga los pequeños cambios necesarios.

Copie el archivo de configuración de Beto por Alicia y linda con los siguientes comandos:

$ sudo cp -v www.Ejemplo 1.com.conf www.ejemplo2.com.conf
$ sudo cp -v www.Ejemplo 1.com.conf www.ejemplo3.com.conf

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

$ sudo nano www.ejemplo2.com.conf

Ahora, cambie todas las apariciones de Ejemplo 1 a ejemplo2. Luego guarda el archivo.

Haz lo mismo por linda.

$ sudo nano www.ejemplo3.com.conf

Cambiar todas las apariciones de Ejemplo 1 a ejemplo3 y guarda el archivo.

Habilitación de configuraciones de VirtualHost:

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

$ sudo a2dissite 000-default.conf

Ahora, habilite las configuraciones de VirtualHost www.Ejemplo 1.com.conf, www.ejemplo2.com.conf, www.ejemplo3.com.conf como sigue:

$ sudo a2ensite www.Ejemplo 1.com.conf www.ejemplo2.com.conf www.ejemplo3.com.conf

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.com

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

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

Entonces, así es como se configura Apache VirtualHost basado en nombres en Ubuntu 18.04 LTS. Gracias por leer este artículo.

Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...