Cómo instalar Apache con hosts virtuales en Debian 10


Apache, conocido popularmente como el servidor HTTP Apache, es un servidor web multiplataforma gratuito y de código abierto mantenido por la Fundación Apache. Es el servidor web líder con una participación de mercado del 35% en Internet y Nginx ocupa el segundo lugar con un 24%.

Apache es altamente confiable, flexible, fácil de instalar y ofrece numerosas características que lo hacen popular entre los desarrolladores y entusiastas de Linux. Además, la fundación Apache lo mantiene y actualiza regularmente y esto ayuda a corregir errores de software y mejorar su eficiencia general. En el momento de escribir este artículo, la última versión de Apache es 2.4.39.

En esta guía, lo guiaremos a través de los pasos sobre cómo instalar el servidor web Apache en Debian 10.

Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos:

  1. Una instancia de Debian 10.
  2. Un nombre de dominio completo (FQDN) que apunta al servidor.
  3. En esta guía, usamos el dominio tecmint.com que apunta a un sistema Debian 10 con una dirección IP 192.168.0.104.
  4. Una buena conexión a Internet.

Una vez realizada la verificación previa al vuelo, comencemos

Paso 1: actualice el repositorio del sistema Debian 10

El primer paso para instalar Apache en Debian 10 es actualizar los repositorios del sistema. Para lograr esto, inicie sesión como un usuario regular y use los privilegios de sudo para ejecutar el comando.

$ sudo apt update -y

Paso 2: instale Apache en Debian 10

Instalar Apache es pan comido y bastante sencillo. Una vez que haya actualizado con éxito los repositorios del sistema, ejecute el siguiente comando para instalar Apache en Debian 10.

$ sudo apt install apache2 -y

Paso 3: Verificación del estado del servidor web Apache

Después de la instalación exitosa del servidor web Apache, siempre se recomienda verificar si el servicio se está ejecutando. La mayoría de los sistemas Linux systemd iniciarán el servicio automáticamente después de la instalación.

Para verificar el estado del servidor web Apache, ejecute el comando.

$ sudo systemctl status apache2

Si el servicio no se está ejecutando, inícielo con el comando.

$ sudo systemctl start apache2

Para habilitar el servidor web Apache en el arranque, ejecute el comando.

$ sudo systemctl enable apache2

Para reiniciar Apache, ejecute.

$ sudo systemctl restart apache2

Paso 4: configurar el cortafuegos para permitir el puerto HTTP

Si el firewall UFW ya está configurado, debemos permitir el servicio Apache a través del firewall para que los usuarios externos puedan tener acceso al servidor web.

Para lograr esto, debemos permitir el tráfico en el puerto 80 del firewall.

$ sudo ufw allow 80/tcp

Para verificar que se haya permitido el puerto en el firewall, ejecute.

$ sudo ufw status

Además, puede utilizar el comando netstat para verificar el puerto como se muestra.

$ sudo netstat -pnltu

Paso 5: verificar el servidor web HTTP Apache

Con todas las configuraciones en su lugar, abra su navegador web favorito y busque la dirección IP o FQDN de su servidor como se muestra.

http://server-IP-address 
OR  
http://server-domain-name

Paso 6: configurar el servidor web Apache

Con el servidor web Apache ya configurado, es hora de alojar un sitio web de muestra.

El archivo de página web de Apache predeterminado index.html se encuentra en /var/www/html/, que es el directorio webroot. Puede alojar un solo sitio o crear archivos de host virtual para alojar varios sitios.

Para alojar un solo sitio, puede modificar el archivo index.html ubicado en el directorio webroot.

Pero primero, haga una copia de seguridad del archivo como se muestra.

$ sudo mv /var/www/html/index.html /var/www/html/index.html.bak

Ahora creemos un nuevo archivo index.html .

$ sudo nano /var/www/html/index.html

Agreguemos algunos ejemplos de contenido HTML como se muestra.

<html>
    <head>
        <title>Welcome to crazytechgeek</title>
    </head>
    <body>
        <h1>Howdy Geeks! Apache web server is up & running</h1>
    </body>
</html>

Salga del editor de texto y reinicie el servidor web.

$ sudo systemctl restart apache2

Ahora vuelva a cargar su navegador web y observe los cambios en su nuevo sitio.

Paso 7: creación de hosts virtuales en Apache

Si desea que su servidor web aloje varios sitios, la mejor manera de evitar esto es crear hosts virtuales en el servidor web Apache. Los hosts virtuales son útiles cuando desea alojar varios dominios en un solo servidor

Primero, necesitamos crear un directorio raíz web para el dominio tecmint.com .

$ sudo mkdir -p /var/www/html/tecmint.com/

A continuación, asignaremos los permisos necesarios al directorio usando la variable $USER .

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

A continuación, asigne los permisos necesarios del directorio webroot para el dominio.

$ sudo chmod -R 755 /var/www/html/tecmint.com

Ahora, usando su editor de texto favorito, diríjase y cree un archivo index.html de muestra.

$ sudo nano /var/www/html/tecmint.com/index.html

Agreguemos algunos ejemplos de contenido HTML como se muestra.

<html>
    <head>
        <title>Welcome to TecMint.com</title>
    </head>
    <body>
        <h1>Howdy Geeks!</h1>
    </body>
</html>

Guarde y salga del editor de texto.

Ahora, cree un archivo de host virtual para el dominio usando el comando que se muestra a continuación.

$ sudo nano /etc/apache2/sites-available/tecmint.com.conf

Ahora copie y pegue el contenido a continuación y reemplace el dominio tecmint.com con su propio dominio.

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

Guardar y Salir.

En este punto, habilite el archivo de host virtual como se muestra.

$ sudo a2ensite tecmint.com.conf

Ahora inhabilitemos el sitio predeterminado

$ sudo a2dissite 000-default.conf

Para efectuar los cambios, vuelva a cargar el servidor web apache.

$ sudo systemctl restart apache2

Ahora recargue su servidor web y observe los cambios para su dominio.

Si desea habilitar HTTPS en su sitio web, lea este artículo: Cómo configurar un certificado SSL gratuito para Apache en Debian 10.

Hemos llegado al final del tutorial. En esta guía, aprendió a instalar Apache en Debian 10 y también a configurar hosts virtuales para albergar otros dominios. No dude en comunicarse con nosotros con sus comentarios.