GNU/Linux >> Tutoriales Linux >  >> Linux

Aloje múltiples sitios web en un solo servidor con Apache en Ubuntu 18.04

Apache es gratuito, de código abierto y el servidor web más utilizado en todo el mundo. No solo es conocido por su potencia, sino también por sus múltiples componentes con funciones específicas. Apache Virtual Host es uno de esos componentes; nos permite alojar múltiples sitios web en un solo servidor.

Si tiene un gran servidor con amplios recursos, como mucho espacio en el disco duro, RAM y potencia de la CPU, puede alojar varios sitios web utilizando el alojamiento virtual. Puede alojar una cantidad ilimitada de sitios web en su servidor web Apache. Asegúrese de que su servidor tenga suficientes recursos para manejar los requisitos de tráfico y espacio en disco. Uno de los mejores ejemplos es un proveedor de alojamiento web que utiliza alojamiento virtual para alojar cientos y miles de sitios web en un solo servidor.

Hay tres formas de alojar varios sitios web en un solo servidor:

  1. Alojamiento virtual basado en nombres.
  2. Alojamiento virtual basado en IP.
  3. Alojamiento virtual basado en puerto.

En este tutorial, explicaremos el proceso para alojar dos sitios web en un solo servidor de tres maneras diferentes.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
  • Dos nombres de dominio o nombres de subdominio válidos apuntan a su dirección IP de VPS. En este tutorial, usaremos site1.example.com y site2.example.com como subdominios.
  • Dos direcciones IP estáticas, 192.168.0.101 y 192.168.0.102, configuradas en su VPS.

Paso 1:crear un servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar el servidor web Apache

Primero, instale el servidor web Apache ejecutando el siguiente comando:

apt-get install apache2 -y

Una vez completada la instalación, inicie el servicio Apache con el siguiente comando:

systemctl start apache2

Alojamiento virtual basado en nombres

El alojamiento virtual basado en nombres es el método más utilizado para alojar varios sitios web en la misma dirección IP y puerto. Necesitará nombres de dominio válidos para hospedar varios sitios web mediante hospedaje virtual basado en nombres.

En esta sección, usaremos site1.example.com y site2.example.com para alojar dos sitios web en un solo servidor.

Paso 3:crear una estructura de directorio

Primero, cree un directorio raíz de documentos para ambos sitios web:

mkdir /var/www/html/site1.example.com
mkdir /var/www/html/site2.example.com

A continuación, cree un index.html página para ambos sitios web.

Primero, crea un index.html página para sitio1.ejemplo.com :

nano /var/www/html/site1.example.com/index.html

Agregue las siguientes líneas:

<html>
<title>site1.example.com</title>
<h1>Welcome to site1.example.com Website</h1>
<p>This is my first website hosted with name-based virtual hosting</p>
</html>

A continuación, cree un index.html página para site2.example.com :

nano /var/www/html/site2.example.com/index.html

Agregue las siguientes líneas:

<html>
<title>site2.example.com</title>
<h1>Welcome to site2.example.com Website</h1>
<p>This is my second website hosted with name-based virtual hosting</p>
</html>

A continuación, cambie la propiedad de site1.example.com y sitio2.ejemplo.com directorio a www-data :

chown -R www-data:www-data /var/www/html/site1.example.com
chown -R www-data:www-data /var/www/html/site2.example.com

Paso 4:crear un archivo de configuración de host virtual

A continuación, deberá crear un archivo de configuración de host virtual de Apache para servir a ambos sitios web.

Primero, cree un archivo de configuración de host virtual de Apache para site1.example.com :

nano /etc/apache2/sites-available/site1.example.com.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.example.com
DocumentRoot /var/www/html/site1.example.com
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/site1.example.com_error.log
CustomLog ${APACHE_LOG_DIR}/site1.example.com_access.log combined
</VirtualHost>

Guarde y cierre el archivo.

A continuación, cree un archivo de configuración de host virtual de Apache para site2.example.com :

nano /etc/apache2/sites-available/site2.example.com.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site2.example.com
DocumentRoot /var/www/html/site2.example.com
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/site2.example.com_error.log
CustomLog ${APACHE_LOG_DIR}/site2.example.com_access.log combined
</VirtualHost>

Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual con los siguientes comandos:

a2ensite site1.example.com
a2ensite site2.example.com

A continuación, reinicie el servidor web Apache para aplicar los cambios de configuración:

systemctl restart apache2

Paso 5:probar ambos sitios web

En este punto, ha configurado el servidor web Apache para servir a dos sitios web.

Ahora, abra su navegador web y escriba la URL http://site1.example.com. Debería ver su primer sitio web en la siguiente pantalla:

A continuación, abra su navegador web y escriba la URL http://site2.example.com. Debería ver su segundo sitio web en la siguiente pantalla:

Alojamiento virtual basado en IP

El alojamiento virtual basado en IP es un método para servir diferentes sitios web según la dirección IP. Puede asignar una dirección IP separada para cada sitio web en un solo servidor.

En esta sección, utilizaremos las direcciones IP 192.168.0.101 y 192.168.0.102 para alojar dos sitios web en un solo servidor.

Paso 3:crear una estructura de directorio

Primero, cree un directorio raíz de documentos para ambos sitios web:

mkdir /var/www/html/192.168.0.101
mkdir /var/www/html/192.168.0.102

A continuación, cree un index.html página para ambos sitios web.

Primero, crea un index.html página del sitio web alojado en 192.168.0.101 :

nano /var/www/html/192.168.0.101/index.html

Agregue las siguientes líneas:

<html>
<title>192.168.0.101</title>
<h1>Welcome to 192.168.0.101 Website</h1>
<p>This is my first website hosted with IP-based virtual hosting</p>
</html>

Guarde y cierre el archivo.

A continuación, cree un index.html página del sitio web alojado en 192.168.0.102 :

nano /var/www/html/192.168.0.102/index.html

Agregue las siguientes líneas:

<html>
<title>192.168.0.102</title>
<h1>Welcome to 192.168.0.102 Website</h1>
<p>This is my first website hosted with IP-based virtual hosting</p>
</html>

Guarde y cierre el archivo.

A continuación, cambie la propiedad de ambos sitios web a www-data:

chown -R www-data:www-data /var/www/html/192.168.0.101
chown -R www-data:www-data /var/www/html/192.168.0.102

Paso 4:crear un archivo de configuración de host virtual

A continuación, deberá crear un archivo de configuración de host virtual de Apache para servir a ambos sitios web.

Primero, cree un archivo de configuración de host virtual de Apache para el sitio web alojado en 192.168.0.101:

nano /etc/apache2/sites-available/192.168.0.101.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/192.168.0.101
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/192.168.0.101_error.log
CustomLog ${APACHE_LOG_DIR}/192.168.0.101_access.log combined
</VirtualHost>

Guarde y cierre el archivo.

A continuación, cree un archivo de configuración de host virtual de Apache para el sitio web alojado en 192.168.0.102:

nano /etc/apache2/sites-available/192.168.0.102.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName  192.168.0.102
DocumentRoot /var/www/html/192.168.0.102
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/192.168.0.102_error.log
CustomLog ${APACHE_LOG_DIR}/192.168.0.102_access.log combined
</VirtualHost>

Guarde y cierre el archivo. Luego habilite el host virtual con el siguiente comando:

a2ensite 192.168.0.101
a2ensite 192.168.0.102

Finalmente, reinicie el servidor web Apache para aplicar los cambios:

systemctl restart apache2

Paso 5:probar ambos sitios web

En este punto, ha configurado el servidor web Apache para servir a dos sitios web.

Ahora, abra su navegador web y escriba la URL http://192.168.0.101. Debería ver su primer sitio web en la siguiente pantalla:

A continuación, abra su navegador web y escriba la URL http://192.168.0.102. Debería ver su segundo sitio web en la siguiente pantalla:

Alojamiento virtual basado en puertos

El alojamiento virtual basado en puertos es un método para servir diferentes sitios web según el número de puerto. Puede asignar un número de puerto separado para cada sitio web en un solo servidor con una sola dirección IP.

En esta sección, utilizaremos los puertos numerados 8080 y 8081 para alojar dos sitios web en un solo servidor con la dirección IP 192.168.0.101.

Paso 3:configurar Apache para escuchar en los puertos 8080 y 8081

Primero, deberá configurar el servidor web Apache para escuchar en el puerto 8080 y 8081 . Puedes hacerlo editando el archivo /etc/apache2/ports.conf :

nano /etc/apache2/ports.conf

Agregue las siguientes líneas exactamente debajo de la línea Escuchar 80 :

Listen 8080
Listen 8081

Guarde y cierre el archivo cuando haya terminado.

Paso 4:crear una estructura de directorio

Primero, cree un directorio raíz de documentos para ambos sitios web:

mkdir /var/www/html/8080
mkdir /var/www/html/8081

A continuación, cree un index.html página para ambos sitios web.

Primero, crea un index.html página del sitio web alojado en el puerto 8080 :

nano /var/www/html/8080/index.html

Agregue las siguientes líneas:

<html>
<title>8080</title>
<h1>Welcome to 8080 Website</h1>
<p>This is my first website hosted with Port-based virtual hosting</p>
</html>

Guarde y cierre el archivo.

A continuación, cree un index.html página del sitio web alojado en el puerto 8081 :

nano /var/www/html/8081/index.html

Agregue las siguientes líneas:

<html>
<title>8081</title>
<h1>Welcome to 8081 Website</h1>
<p>This is my first website hosted with Port-based virtual hosting</p>
</html>

Guarde y cierre el archivo.

A continuación, cambie la propiedad de ambos sitios web a www-data:

chown -R www-data:www-data /var/www/html/8080
chown -R www-data:www-data /var/www/html/8081

Paso 5:crear un archivo de configuración de host virtual

A continuación, deberá crear un archivo de configuración de host virtual de Apache para servir a ambos sitios web.

Primero, cree un archivo de configuración de host virtual de Apache para el sitio web alojado en el puerto 8080 :

nano /etc/apache2/sites-available/8080.conf

Agregue las siguientes líneas:

<VirtualHost 192.168.0.101:8080>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/8080
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/8080_error.log
CustomLog ${APACHE_LOG_DIR}/8080_access.log combined
</VirtualHost>

Guarde y cierre el archivo.

A continuación, cree un archivo de configuración de host virtual de Apache para el sitio web alojado en el puerto 8081. :

nano /etc/apache2/sites-available/8081.conf

Agregue las siguientes líneas:

<VirtualHost 192.168.0.101:8081>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/8081
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/8081_error.log
CustomLog ${APACHE_LOG_DIR}/8081_access.log combined
</VirtualHost>

Guarde y cierre el archivo. Luego, habilite el host virtual con el siguiente comando:

a2ensite 8080
a2ensite 8081

Finalmente, reinicie el servidor web Apache para aplicar los cambios:

systemctl restart apache2

Paso 6:probar ambos sitios web

En este punto, ha configurado el servidor web Apache para servir a dos sitios web.

Ahora, abra su navegador web y escriba la URL http://192.168.0.101:8080. Debería ver su primer sitio web en la siguiente pantalla:

A continuación, abra su navegador web y escriba la URL http://192.168.0.101:8081. Debería ver su segundo sitio web en la siguiente pantalla:

Conclusión

¡Felicidades! Ha alojado con éxito dos sitios web en un solo servidor de tres maneras diferentes. Ahora puede alojar fácilmente más sitios web con el método de alojamiento virtual de Apache. Si está listo para comenzar a configurar varios sitios web en un Apache VPS, consulte las opciones de alojamiento de VPS de Atlantic.Net.


Linux
  1. Cómo configurar varios sitios web con el servidor web Apache

  2. Aloja varios sitios web en contenedores Docker

  3. Cómo configurar un subdominio o alojar múltiples dominios usando nginx en el servidor Linux

  4. Instale phpMyAdmin en Ubuntu 20.04 con Apache

  5. Instale phpMyAdmin en Ubuntu 22.04 con Apache

Cómo instalar FileRun en Ubuntu 20.04 con Apache/Nginx

Instalar Roundcube Webmail en Ubuntu 18.04 con Apache/Nginx

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache

Aloje múltiples sitios web con diferentes versiones de PHP en Ubuntu 18.04 VPS

Cómo instalar y configurar ModEvasive con Apache en Ubuntu 18.04

Cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04