Cómo instalar Apache en Ubuntu para gestionar tu tráfico

¿Estás buscando un servidor web de código abierto para manejar tus necesidades de alto tráfico? ¡Instala Apache en Ubuntu para que sirva como la solución perfecta!

Apache es el servidor web más utilizado y puede manejar fácilmente grandes volúmenes de tráfico. Y en este tutorial, aprenderás cómo instalar Apache en un servidor Ubuntu Linux y configurar hosts virtuales.

¡Prueba Apache hoy mismo y deshazte de los tiempos de inactividad del servidor web!

Requisitos previos

Este tutorial será una demostración práctica. Si deseas seguirlo, asegúrate de tener lo siguiente.

  • Un servidor Ubuntu: este tutorial utiliza Ubuntu 20.04.
  • A user account with root privileges.

Cómo instalar Apache en el servidor Ubuntu

Apache ofrece muchas características poderosas, como módulos cargables dinámicamente, un sistema de configuración versátil y amplias capacidades de registro. Y para aprovechar estas características, comienza instalando Apache en tu servidor.

Por defecto, el paquete de Apache está disponible en los repositorios de Ubuntu, y puedes instalar Apache ejecutando un solo comando con el gestor de paquetes apt.

1. Ejecuta el siguiente comando apt update para asegurarte de que tu servidor esté actualizado y que se apliquen los parches de seguridad.

sudo apt update -y
Updating Server Package Index

2. Ejecute el comando apt-cache a continuación para buscar y listar todos los paquetes disponibles de Apache en su sistema.

sudo apt-cache search apache2

En la captura de pantalla a continuación, puede ver todos los paquetes de Apache disponibles, y los paquetes más comunes son:

  • apache2 – Servidor HTTP Apache – este paquete es el servidor web Apache estándar.
  • libapache2-mod-php – este paquete proporciona soporte PHP para el servidor web Apache.
  • apache2-ssl-dev – este paquete proporciona soporte para conexiones SSL/TLS en Apache
  • apache2-utils – este paquete proporciona varias utilidades para el servidor web Apache como htpasswd para crear usuarios para autenticación básica.
Listing Apache Packages

3. Ejecute el siguiente comando apt install para instalar Apache en su servidor.

sudo apt install -y apache2
Installing Apache

4. Una vez que el paquete esté instalado, ejecuta el comando systemctl a continuación para start Apache (apache2). Este comando no produce una salida, pero verificarás el estado del servicio Apache en los siguientes pasos.

sudo systemctl start apache2

5. Ahora, ejecuta el siguiente comando para enable Apache para que se inicie automáticamente al arrancar, ya que la instalación predeterminada de Ubuntu no iniciará el servicio Apache automáticamente.

sudo systemctl enable apache2
Enabling Apache Auto-Start on Boot Up

6. A continuación, ejecuta el comando systemctl a continuación para verificar el status del servicio Apache (apache2).

sudo systemctl status apache2

Verás la siguiente salida. El estado activo (running) indica que el servicio Apache se ha iniciado y está en funcionamiento como se esperaba.

Check the status of the Apache service.

7. Ejecuta el siguiente comando para verificar la versión de Apache instalada en tu servidor.

apache2 -version

A partir de esta escritura, la última versión estable de Apache es la 2.4.41, y la tuya podría ser diferente.

Checking Installed Apache Version

8. Finalmente, abre tu navegador web favorito y navega hasta la dirección IP o nombre de host de tu servidor Ubuntu (por ejemplo, 192.168.1.100).

A continuación, verás la página web predeterminada de Apache creada durante el proceso de instalación. Esta página confirma que Apache está instalado y funcionando como se esperaba.

Si, por alguna razón, recibiste un error en su lugar, pasa a la siguiente sección y configura tu firewall.

Verifying Apache Installation by Accessing Apache’s Default Page

Configuración del Firewall UFW para Asegurar el Servidor Apache

En la sección anterior, solicitaste una página web desde tu servidor Apache, que mostró la página web predeterminada de Apache. ¿Pero qué pasa si obtienes un error de “conexión rechazada”, como se muestra a continuación? Este error podría deberse a que tu firewall impide el acceso al servidor Apache.

Getting Connection Refused Error

Para resolver este error de conexión, configurarás tu firewall para permitir el acceso al servidor Apache. Y la instalación predeterminada de Ubuntu incluye un firewall llamado UFW que ayuda a proteger tu servidor contra accesos no autorizados.

1. Ejecuta el siguiente comando para listar todos los perfiles de aplicaciones incluidos en UFW.

sudo ufw app list

A continuación, puedes ver las diferentes aplicaciones disponibles en UFW:

  • Apache Full – Este perfil permite el acceso al rango completo de puertos necesarios para el servidor web Apache (puertos 80 y 443).
  • Apache – El perfil predeterminado que permite el acceso al puerto no seguro 80.

No debes usar este perfil en un entorno de producción porque es menos seguro.

  • Apache Secure – Este perfil es más seguro porque restringe el acceso solo al puerto para tráfico encriptado TLS/SSL (puerto 443).
  • OpenSSH – Este perfil permite el acceso al puerto SSH (puerto 22) para permitir conexiones SSH.
Listing Application Profiles Available in UFW

2. A continuación, ejecuta los siguientes comandos para habilitar (allow) el perfil Apache Full junto con SSH.

Estos comandos permiten el acceso a todos los puertos, lo cual es útil en un entorno de desarrollo.

sudo ufw allow 'Apache Full'
sudo ufw allow 'OpenSSH'
Enabling the Apache Full Profile along with SSH

Tal vez quieras deshabilitar una aplicación, cambia la opción permitir a la opción deshabilitar, como así: sudo ufw disable ‘app_profile’

3. Ejecuta el comando ufw status a continuación para verificar el estado de tu firewall UFW.

sudo ufw status verbose

A continuación, puedes ver las reglas del firewall disponibles, indicando que Apache Full y OpenSSH son accesibles desde cualquier lugar.

Checking UFW Firewall Status

4. Por último, abre tu navegador web e intenta solicitar una página web desde tu servidor Apache. Esta vez, verás la página web predeterminada de Apache creada durante el proceso de instalación.

Verifying Apache Installation by Accessing Apache’s Default Page

Configuración de Hosts Virtuales para Servir Sitios Web

Tu servidor Apache está activo, así que es hora de la parte más emocionante, alojar tu aplicación web. ¿Cómo? Configurando tus hosts virtuales en tu servidor Ubuntu. Un host virtual es un archivo de configuración que te permite alojar múltiples sitios web en un solo servidor con una sola dirección IP.

Ten en cuenta que crear archivos y directorios a partir de este punto del tutorial requiere acceso sudo.

Para comenzar a configurar hosts virtuales:

1. Ejecuta el siguiente comando para crear un nuevo directorio llamado /var/www/example.com. Utilizarás este directorio para almacenar el contenido de tu sitio web. Reemplaza example.com con el nombre de dominio real que deseas utilizar.

Este comando no tiene una salida, pero puedes verificar el directorio ejecutando este comando: ls /var/www

sudo mkdir -p /var/www/example.com

2. A continuación, ejecuta el siguiente comando chown para cambiar la propiedad del directorio /var/www/ejemplo.com a tu cuenta de usuario. Este comando no tiene una salida, pero te permite gestionar el contenido de tu sitio web.

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

3. Ejecuta el comando chmod a continuación para cambiar los permisos del directorio /var/www/ejemplo.com a 755. Este comando no tiene una salida, pero otorga a tu cuenta de usuario acceso de lectura y escritura al contenido de tu sitio web.

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

4. Ahora, crea un archivo llamado index.html en el directorio /var/www/ejemplo.com con tu editor preferido. Completa el archivo con el código a continuación, guarda los cambios y cierra el archivo. El archivo index.html sirve como la página predeterminada de tu sitio web.

El código a continuación crea una página web simple que muestra el texto ¡Hola Mundo! ¡Tu host virtual está funcionando!.

<html>
  <head>
    <title>Welcome to example.com!</title>
  </head>

  <body>
    <h1>Hello World! Your virtual host is working!</h1>
  </body>
</html>

5. Crea un nuevo archivo de configuración de host virtual llamado ejemplo.com.conf en el directorio /etc/apache2/sites-available.

Puedes editar el archivo predeterminado /etc/apache2/sites-available/000-default.conf para incluir tu nuevo host virtual. Pero es una mejor idea crear un nuevo archivo para tu sitio web. Este comportamiento te ayuda a mantener organizados tus archivos de configuración.

Copia y pega la siguiente configuración en el archivo example.com.conf. Pero asegúrate de reemplazar example.com y webmaster@localhost con los valores reales de tu sitio web.

Guarda los cambios y cierra el archivo.

<VirtualHost *:80>

  ServerAdmin webmaster@localhost

  ServerName example.com

  ServerAlias www.example.com

  DocumentRoot /var/www/example.com

  ErrorLog ${APACHE_LOG_DIR}/error.log

  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

6. Ahora, ejecuta cada comando a continuación para deshabilitar el archivo del host virtual predeterminado y habilitar tu nuevo archivo de host virtual.

El archivo del host virtual predeterminado está habilitado por defecto, y no podrás usar tu nuevo archivo de host virtual a menos que deshabilites el archivo del host virtual predeterminado.

# Deshabilitar el archivo del host virtual predeterminado
sudo a2dissite 000-default
# Habilitar tu archivo de host virtual
sudo a2ensite example.com.conf
Disabling the Default Virtual Host File and Enabling your New Virtual Host

7. Ejecuta el comando service a continuación para reiniciar tu servidor Apache (apache2) y aplicar los cambios.

sudo service apache2 restart

8. Finalmente, abre tu navegador web y visita tu sitio web (example.com).

Si las configuraciones de tu servidor Apache son correctas, verás el mismo mensaje que se muestra a continuación en tu navegador web.

Accessing the Hosted Website

Conclusión

En este tutorial, has aprendido cómo instalar Apache en Ubuntu y configurar hosts virtuales para servir tu sitio web en un único servidor. En este punto, ahora puedes alojar múltiples sitios web en tu servidor Ubuntu de manera efectiva.

Este tutorial sirve como introducción, y podrías considerar ir más allá con Apache y configurar otras características. ¿Quizás intentar configurar hosts virtuales con SSL y protección con contraseña para asegurar tu servidor Apache? ¿O agregar encabezados personalizados a tu sitio web para controlar las solicitudes de usuario?

Source:
https://adamtheautomator.com/install-apache-on-ubuntu/