Como configurar Virtual Hosts con apache2 en Ubuntu 18.04
Tabla de contenido:
En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en Ubuntu 18.04.
Apache Virtual Hosts le permite ejecutar más de un sitio web en una sola máquina. Con Virtual Hosts, puede especificar la raíz del documento del sitio (el directorio que contiene los archivos del sitio web), crear una política de seguridad separada para cada sitio, usar diferentes certificados SSL y mucho más.
Aunque este tutorial está escrito para Ubuntu 18.04 Bionic Beaver, se pueden usar los mismos pasos para Ubuntu 16.04 Xenial Xerus.
Prerrequisitos
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Tiene un nombre de dominio que apunta a la IP de su servidor público. Usaremos
example.com
. Tiene instalado Apache siguiendo estas instrucciones. Ha iniciado sesión como usuario con privilegios de sudo.
Crear la estructura del directorio
La raíz del documento es el directorio donde se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. Puede establecer la raíz del documento en la ubicación que desee, en esta guía usaremos la siguiente estructura de directorios:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html
Básicamente, crearemos un directorio separado para cada dominio que queramos alojar en nuestro servidor dentro del directorio
/var/www
. Dentro de cada uno de estos directorios, crearemos un directorio
public_html
que almacenará los archivos del sitio web del dominio.
Comience creando el directorio raíz para el dominio
example.com
:
sudo mkdir -p /var/www/example.com/public_html
Para fines de prueba, también cree un archivo
index.html
dentro del directorio raíz del documento de dominio.
Abra su editor y cree el archivo de demostración:
/var/www/example.com/public_html/index.html
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
En esta guía, estamos ejecutando los comandos como un usuario sudo y los archivos y directorios recién creados son propiedad del usuario raíz.
Para evitar problemas de permisos, podemos cambiar la propiedad del directorio raíz del documento de dominio al usuario de apache (
www-data
):
sudo chown -R www-data: /var/www/example.com
Crear un host virtual
De manera predeterminada en los sistemas Ubuntu, los archivos de configuración de los Hosts virtuales Apache se almacenan en el directorio
/etc/apache2/sites-available
y se pueden habilitar creando enlaces simbólicos al directorio
/etc/apache2/sites-enabled
.
Abra el editor de su elección y cree el siguiente archivo básico de configuración de Virtual Host:
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
-
ServerName
: el dominio que debe coincidir con esta configuración de host virtual. Este debería ser tu nombre de dominio.ServerAlias
: todos los demás dominios que también deberían coincidir con este host virtual, como el subdominiowww
.DocumentRoot
: el directorio desde el cual Apache servirá los archivos de dominio.Options
: esta directiva controla qué funciones del servidor están disponibles en un directorio específico.-
-Indexes
: evita listados de directorios.FollowSymLinks
: esta opción le dice a su servidor web que siga los enlaces simbólicos.
AllowOverride
: especifica qué directivas declaradas en el archivo.htaccess
pueden anular las directivas de configuración.ErrorLog
,CustomLog
: especifica la ubicación de los archivos de registro. -
Puede nombrar el archivo de configuración como desee, pero la mejor práctica es utilizar el nombre de dominio como el nombre del archivo de configuración del host virtual.
Para habilitar el nuevo archivo de host virtual, necesitamos crear un enlace simbólico desde el archivo de host virtual al directorio
sites-enabled
para
sites-enabled
, que es leído por apache2 durante el inicio.
La forma más fácil de habilitar el host virtual es mediante el uso del ayudante
a2ensite
:
sudo a2ensite example.com
La otra opción es crear manualmente un enlace simbólico como se muestra a continuación:
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/
Una vez hecho esto, pruebe la configuración para detectar errores de sintaxis con:
sudo apachectl configtest
Si no hay errores, verá el siguiente resultado:
Syntax OK
Reinicie el servicio Apache para que los cambios surtan efecto:
sudo systemctl restart apache2
Finalmente, para verificar que todo funcione como se esperaba, abra
http://example.com
en el navegador que elija y verá algo como esto:
Conclusión
Ha aprendido cómo crear una configuración de host virtual apache para alojar múltiples dominios en un solo servidor Ubuntu. Puede repetir los pasos que describimos anteriormente y crear hosts virtuales adicionales para todos sus dominios.
Apache ubuntuEsta publicación es parte de la serie how-to-install-lamp-stack-on-ubuntu-18-04.
Otras publicaciones en esta serie:
• Cómo instalar Apache en Ubuntu 18.04 • Cómo configurar Apache Virtual Hosts en Ubuntu 18.04 • Asegure Apache con Let's Encrypt en Ubuntu 18.04 • Cómo instalar MySQL en Ubuntu 18.04 • Cómo instalar PHP en Ubuntu 18.04Cómo instalar y configurar nextcloud con apache en ubuntu 18.04

Nextcloud es una plataforma de colaboración y recursos compartidos de archivos de código abierto, similar a Dropbox. En este tutorial le mostraremos cómo instalar y configurar Nextcloud con Apache en una máquina Ubuntu 18.04.
Cómo configurar hosts virtuales apache en centos 7

En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en un servidor CentOS 7. Apache Virtual Hosts permite que múltiples sitios web se ejecuten en un servidor web.
Cómo configurar hosts virtuales apache en debian 9

Apache Virtual Hosts le permite alojar más de un dominio en una sola máquina. En este tutorial, le explicaremos cómo configurar Apache Virtual Hosts en Debian 9.