Apache es un software de servidor web gratuito y de código abierto desarrollado por Apache Fundación de software. Se llama oficialmente Apache Servidor HTTP. Apache es uno de los servidores web multiplataforma más antiguos y es apto para principiantes.
En este tutorial, vamos a instalar Apache versión 2 (Apache2) en Ubuntu 20.04. Además, vamos a configurar hosts virtuales para que se pueda alojar más de un sitio web en un solo servidor.
Instale Apache2 en Ubuntu 20.04
Primero, busque actualizaciones de paquetes con el siguiente comando.
PS sudo actualización apta
En segundo lugar, ejecute el siguiente comando para instalar Apache versión 2 del repositorio de paquetes de Ubuntu.
PS sudo apto instalar apache2
Cuando se le solicite, ingrese y para continuar con la instalación.
Una vez que Apache2 se haya instalado correctamente, ejecute el siguiente comando para confirmar la versión.
$ apache2 -v
Compruebe el estado del servidor Apache2
A continuación, verifique el estado del servidor Apache2 ejecutando el siguiente comando.
PS sudo systemctl estado apache2

De forma predeterminada, el servicio Apache2 ya debería estar activo (en ejecución). Si no es así, inicie el servicio con el siguiente comando.
PS sudo systemctl iniciar apache2
Pruebe el servidor web Apache2
El último paso es probar el servidor web Apache2. Abra su navegador web preferido e ingrese la dirección IP de su servidor Ubuntu. O entrar localhost si está conectado localmente al servidor.
Debería ver la página predeterminada de Apache2 Ubuntu como se muestra en la imagen a continuación.

En nombre de la Apache Software Foundation, ¡le damos la bienvenida a Apache2!
Configurar hosts virtuales en Apache2
Los hosts virtuales le permiten alojar más de un sitio web en el mismo servidor Apache2. Mientras que en Nginx se denomina bloques de servidor.
De forma predeterminada, Apache2 viene con un host virtual y su información de configuración se almacena en /etc/apache2/sites-enabled/000-default.conf. Además, la raíz del sitio web predeterminada es / var / www / html.
Configurar un nuevo host virtual es fácil. Para example, Realizaría los siguientes pasos para configurar un host virtual para mi sitio web en www.cloudindevs.com. Puede seguir y simplemente reemplazar cloudindevs con su propio nombre de dominio registrado.
Nota: Su nombre de dominio registrado debe apuntar a la dirección IP de su servidor Ubuntu.
Crea un host virtual
Cree un nuevo archivo de configuración de host virtual copiando el predeterminado de la siguiente manera.
$ cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/cloudindevs.conf
Después de eso, desactive el host virtual predeterminado con el siguiente comando.
PS sudo a2dissite 000-default.conf
Crear directorio raíz de documentos
Ejecute el siguiente comando para crear un directorio raíz de documentos para almacenar archivos del sitio web.
PS sudo mkdir / var / www / cloudindevs
A continuación, convierta la cuenta de usuario del servicio Apache2 (www-data) y el grupo (www-data) como propietario del directorio raíz del documento de la siguiente manera.
PS sudo chown www-data: www-data / var / www / cloudindevs
Además, conceda a la cuenta de usuario del servicio Apache2 (www-data) acceso completo al directorio raíz del documento con el siguiente comando.
PS sudo chmod 755 / var / www / cloudindevs
Crear archivo de índice de sitio web
Ahora, cree un archivo de índice en el directorio raíz del documento con:
PS sudo nano /var/www/cloudindevs/index.html
Copie y pegue el código HTML de muestra a continuación.
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Cloudindevs!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Cloudindevs!</h1>
<p>If you see this page, the Cloudindevs website is working correctly!</p>
</body>
</html>
Save y close el archivo index.html.
Edite la configuración del host virtual
A continuación, edite el nuevo archivo de configuración del host virtual con el siguiente comando.
PS sudo nano /etc/apache2/sites-available/cloudindevs.conf
Ahora, descomente la línea que comienza con Nombre del servidor y luego reemplazar www.example.con con la URL real del sitio web. Además, reemplace / var / www / html con la nueva ruta raíz del documento.
A continuación se muestra una muestra de lo que se espera después de realizar los cambios.
<VirtualHost *:80>
ServerName www.cloudindevs.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/cloudindevs
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save y close el archivo de configuración del host virtual.
Habilite el host virtual Apache2
Para habilitar el host virtual Apache2, ejecute el siguiente comando.
PS sudo a2ensite cloudindevs.conf
Finalmente, reinicie el servidor web Apache2 con:
PS sudo systemctl reiniciar apache2
Seguramente, ahora se puede acceder a mi nuevo sitio web a través de www.cloudindevs.com como se muestra en la imagen a continuación.

Comandos básicos para administrar Apache Servidor HTTP
Como concluimos, aquí hay algunos systemctl comandos para ayudarlo a administrar su servidor web Apache2.
Usar reiniciar para detener el servicio Apache2 y luego iniciarlo de nuevo.
PS sudo systemctl reiniciar apache2
Utilizar el recargar opción para decirle a Apache2 que vuelva a cargar sus archivos de configuración pero sin detener el servicio.
PS sudo systemctl recargar apache2
Ejecutar el detener comando para detener el servicio Apache2.
PS sudo systemctl detener apache2
A permitir el servicio Apache2 para que se inicie cuando se inicie el servidor, ejecute:
PS sudo systemctl habilitar apache2
Ayudantes de Apache2
a2ensity – habilitar un sitio apache2 o un host virtual.
PS sudo a2ensite cloudindevs.conf
a2dissite – utilizado para deshabilitar un sitio apache2 o un host virtual.
sudo a2dissite cloudindevs.conf
Configuración básica de Apache2 y archivos de registro
Archivos de configuración
/etc/apache2/apache2.conf – archivo de configuración principal que extrae información de todos los demás archivos de configuración cuando se inicia el servidor web.
/etc/apache2/ports.conf – define puertos de escucha para conexiones entrantes.
/ etc / apache2 / mods-enabled – contiene información de configuración para administrar módulos.
/ etc / apache2 / conf habilitado – contiene información de configuración global.
/ etc / apache2 / sites-available – almacena configuraciones de host virtual.
/ etc / apache2 / sites-enabled – define los hosts virtuales habilitados.
Archivos de registro
/var/log/apache2/error.log – contiene información sobre los errores encontrados por Apache2.
/var/log/apache2/access.log – contiene todas las solicitudes procesadas por Apache2.
Conclusión
En esta guía, instalamos y configuramos el Apache Servidor HTTP junto con un host virtual en Ubuntu 20.04. Además, analizamos algunos comandos útiles para administrar Apache2. Por último, proporcionamos una breve descripción de la configuración importante y los archivos de registro utilizados por Apache2.