Cómo instalar hosts virtuales Apache en Debian 10

27 feb 2021 3 min di lettura
Cómo instalar hosts virtuales Apache en Debian 10
Indice dei contenuti

Introducción

El servidor HTTP Apache es el servidor web más utilizado del mundo. Proporciona muchas funciones potentes, incluidos módulos cargables dinámicamente.

En este tutorial explicaremos cómo instalar un servidor web Apache en un VPS con Debian 10.

Si su intención es instalar Apache Virtual Hosts en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación. Para conectarse al servidor como root, escriba este comando:

ssh root@IP_DEL_SERVER

A continuación, se le pedirá que ingrese la contraseña del usuario root. Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:

ssh VOSTRO_UTENTE@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario. Ahora está conectado a su servidor.

Instalar Apache

Puede instalar Apache usando el repositorio oficial de Debian con apt.

Actualice la lista de paquetes:

sudo apt update

Instale Apache:

sudo apt install apache2

Apache debería estar en funcionamiento. Para comprobar su estado:

sudo systemctl status apache2

En este punto, el servidor está listo con las configuraciones predeterminadas.

Simplemente conéctese a su dirección IP pública o localhost:


http://vostro_dominio_o_ip

 http://localhost

Configurar un host virtual

Cuando se utiliza el servidor web Apache, los hosts virtuales se pueden utilizar para alojar varios dominios y luego varios sitios web en un solo servidor. Configuraremos un dominio llamado example.com, pero debería utilizar un dominio existente.

Apache en Debian 10 tiene un bloque de servidor habilitado por defecto que está configurado para servir documentos desde el directorio /var /www /html que funciona correctamente para un solo sitio. Si aloja varios sitios, en lugar de modificar /var /www /html, cree una estructura de directorio dentro de /var /www dejando /var /www /html como el directorio predeterminado para servir si la solicitud de un cliente no coincide con ningún otro sitio configurado como anfitrión virtual.

Cree el directorio para example.com, usando la marca -p para crear todos los directorios necesarios:

sudo mkdir -p /var/www/esempio.com/html

Asigne al usuario actual como propietario del nuevo directorio:

sudo chown -R $USER:$USER /var/www/esempio.com/html

Asegúrese de que los permisos sean correctos:

sudo chmod -R 755 /var/www/esempio.com

Cree el archivo index.html para nuestro sitio:

nano /var/www/esempio.com/html/index.html

Pegue el siguiente texto en el archivo index.html:


<html>
 <head>
 <title>Ciao da esempio.com!</title>
 </head>
 <body>
 <h1>Esempio.com</h1>
 </body>
 </html>

Guarde y cierre el archivo

Cree un nuevo archivo de configuración para el host virtual example.com, sin cambiar el predeterminado:

sudo nano /etc/apache2/sites-available/esempio.com.conf

Pegue las siguientes líneas de código, asegurándose de cambiar los valores de su dominio, en este caso example.com:


<VirtualHost *:80>
 ServerAdmin [email protected]
 ServerName esempio.com
 ServerAlias www.esempio.com
 DocumentRoot /var/www/esempio.com/html
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Guarde y cierre el archivo.

Habilite el nuevo sitio:

sudo a2ensite esempio.com.conf

Deshabilite el archivo de configuración predeterminado:

sudo a2dissite 000-default.conf

Verifique si los datos ingresados en los archivos son correctos:

sudo apache2ctl configtest

Debería ver una respuesta similar a esta:


Syntax OK

Reinicie Apache:

sudo systemctl restart apache2

Ahora puede conectarse al host virtual que acaba de crear conectándose a su dominio:


http://esempio.com

Agregar otro host virtual (opcional)

Si desea agregar otro sitio con un dominio diferente, cree otro host virtual, simplemente repita los pasos ya explicados anteriormente:

sudo mkdir -p /var/www/esempio2.com/html
sudo chown -R $USER:$USER /var/www/esempio2.com/html
sudo chmod -R 755 /var/www/esempio2.com
nano /var/www/esempio2.com/html/index.html

Pegue las siguientes líneas de código:


<html>
 <head>
 <title>Ciao da esempio2.com!</title>
 </head>
 <body>
 <h1>Esempio2.com</h1>
 </body>
 </html>

sudo nano /etc/apache2/sites-available/esempio2.com.conf

Pegue las siguientes líneas de código teniendo cuidado de cambiar los valores con su segundo dominio:


<VirtualHost *:80>
 ServerAdmin [email protected]
 ServerName esempio2.com
 ServerAlias www.esempio2.com
 DocumentRoot /var/www/esempio2.com/html
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

sudo a2ensite esempio2.com.conf
sudo apache2ctl configtest
sudo systemctl restart apache2

Su segundo dominio está activo.

Ahora puede conectarse al host virtual que acaba de crear conectándose a su dominio:


http://esempio2.com

Comandos útiles para administrar Apache

Para detener los procesos de Apache y luego desconectar el servidor web:

sudo systemctl stop apache2

Para iniciar Apache:

sudo systemctl start apache

Para reiniciar Apache

sudo systemctl restart apache2

Para deshabilitar el inicio automático de Apache después del reinicio del servidor (VPS):

sudo systemctl disable apache2

Para habilitar el inicio automático de Apache después del reinicio del servidor (VPS):

sudo systemctl enable apache2

La instalación y configuración de Apache utilizando hosts virtuales en Debian 10 ha finalizado.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.