Pide tu presupuesto ya!

Instale Apache en Ubuntu y domine la gestión del tráfico del sitio web

¿Está buscando un servidor web de código abierto para manejar sus necesidades de alto tráfico? Instalar 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á cómo instalar Apache en un servidor Ubuntu Linux y configurar hosts virtuales.

¡Pruebe Apache hoy y elimine los tiempos de inactividad del servidor web!

Requisitos previos

Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente.

  • Un servidor Ubuntu: este tutorial utiliza Ubuntu 20.04.
  • Una cuenta de usuario con raíz privilegios.

Cómo instalar Apache en el servidor Ubuntu

Apache proporciona muchas funciones potentes, como módulos cargables dinámicamente, un sistema de configuración versátil y amplias capacidades de registro. Y para aprovechar estas funciones, comience instalando Apache en su servidor.

De forma predeterminada, el paquete Apache está disponible en los repositorios de Ubuntu y puede instalar Apache ejecutando un comando usando el apt gerente de empaquetación.

1. Ejecute el apt update comando a continuación para garantizar que su servidor esté actualizado y que se apliquen los parches de seguridad.

Updating Server Package Index

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

sudo apt-cache search apache2

En la siguiente captura de pantalla, 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-utilidades – este paquete proporciona varias utilidades para el servidor web Apache como htpasswd para crear usuarios para la autenticación básica.
Listado de paquetes de Apache
Listado de paquetes de Apache

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

sudo apt install -y apache2
Instalando Apache
Instalando Apache

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

sudo systemctl start apache2

5. Ahora, ejecute el siguiente comando para enable Apache se iniciará en el momento del arranque, ya que la instalación predeterminada de Ubuntu no iniciará el servicio Apache automáticamente.

sudo systemctl enable apache2
Habilitación del inicio automático de Apache al arrancar
Habilitación del inicio automático de Apache al arrancar

6. A continuación, ejecute el systemctl comando a continuación para verificar el status de los apaches (apache2) servicio.

sudo systemctl status apache2

Verá el siguiente resultado. El estado activo (en ejecución) indica que el servicio Apache se inició y se está ejecutando como se esperaba.

Verifique el estado del servicio Apache.
Verifique el estado del servicio Apache.

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

Al momento de escribir este artículo, la última versión estable de Apache es 2.4.41 y la suya puede ser diferente.

Comprobando la versión de Apache instalada
Comprobando la versión de Apache instalada

8. Finalmente, abra su navegador web favorito y navegue hasta la dirección IP o el nombre de host de su servidor Ubuntu (es decir, 192.168.1.100).

A continuación, puede ver 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, recibió un error, vaya a la siguiente sección y configure su firewall.

Verificación de la instalación de Apache accediendo a la página predeterminada de Apache
Verificación de la instalación de Apache accediendo a la página predeterminada de Apache

Configuración del firewall UFW para proteger el servidor Apache

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

Obteniendo error de conexión rechazada
Obteniendo error de conexión rechazada

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

1. Ejecute el siguiente comando para enumerar todos los perfiles de aplicación incluidos en UFW.

Puedes ver a continuación las diferentes aplicaciones disponibles en UFW:

  • apache completo – Este perfil permite el acceso a la gama completa de puertos que necesita el servidor web Apache (puertos 80 y 443).
  • apache – El perfil predeterminado que permite el acceso al puerto no seguro 80.

No deberías utilizar este perfil en un entorno de producción porque es menos seguro.

  • Apache seguro – Este perfil es más seguro porque restringe el acceso únicamente al puerto para el tráfico cifrado TLS/SSL (puerto 443).
  • AbiertoSSH – Este perfil permite el acceso al puerto SSH (puerto 22) para permitir conexiones SSH.
Listado de perfiles de aplicaciones disponibles en UFW
Listado de perfiles de aplicaciones disponibles en UFW

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

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

sudo ufw allow 'Apache Full'
sudo ufw allow 'OpenSSH'
Habilitar el perfil completo de Apache junto con SSH
Habilitar el perfil completo de Apache junto con SSH

Quizás desee deshabilitar una aplicación, cambie la opción permitir a deshabilitar la opción, así: sudo ufw enable ‘app_profile’

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

A continuación, puede ver las reglas de firewall disponibles, lo que indica que se puede acceder a Apache Full y OpenSSH desde cualquier lugar.

Comprobación del estado del cortafuegos UFW
Comprobación del estado del cortafuegos UFW

4. Finalmente, abra su navegador web e intente solicitar una página web desde su servidor Apache. Esta vez, verá la página web predeterminada de Apache creada durante el proceso de instalación.

Verificación de la instalación de Apache accediendo a la página predeterminada de Apache
Verificación de la instalación de Apache accediendo a la página predeterminada de Apache

Configuración de hosts virtuales para servir sitios web

Su servidor Apache está activo, por lo que es hora de la parte más interesante: alojar su aplicación web. ¿Cómo? Estarás configurando tu anfitriones virtuales en su servidor Ubuntu. Un host virtual es un archivo de configuración que le permite alojar varios sitios web en un único servidor con una única dirección IP.

Tenga en cuenta que la creación de archivos y directorios a partir de este punto del tutorial requiere acceso sudo.

Para comenzar a configurar hosts virtuales:

1. Ejecute el siguiente comando para crear un nuevo directorio llamado /var/www/example.com. Utilizará este directorio para almacenar el contenido de su sitio web. Reemplazar example.com con el nombre de dominio real que desea utilizar.

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

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

2. A continuación, ejecute lo siguiente chown comando para cambiar la propiedad del /var/www/example.com directorio a su cuenta de usuario. Este comando no tiene salida, pero le permite administrar el contenido de su sitio web.

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

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

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

4. Ahora, crea un archivo llamado índice.html en el /var/www/ejemplo.com directorio con su editor preferido. Complete el archivo con el código siguiente, guarde los cambios y cierre el archivo. El índice.html El archivo sirve como página predeterminada de su sitio web.

El siguiente código crea una página web simple que muestra el texto ¡Hola mundo! ¡Tu servidor 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. Cree un nuevo archivo de configuración de host virtual llamado ejemplo.com.conf en el /etc/apache2/sitios-disponibles directorio.

Puede editar el archivo predeterminado /etc/apache2/sites-available/000-default.conf para que contenga su nuevo host virtual. Pero es una mejor idea crear un nuevo archivo para su sitio web. Este comportamiento le ayuda a mantener organizados sus archivos de configuración.

Copie/pegue la configuración siguiente en el ejemplo.com.conf archivo. Pero asegúrese de reemplazar example.com y webmaster@localhost con los valores reales de su sitio web.

Guarde los cambios y cierre 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, ejecute cada comando a continuación para deshabilitar el archivo de host virtual predeterminado y habilitar su nuevo archivo de host virtual.

El archivo de host virtual predeterminado está habilitado de forma predeterminada y no puede usar su nuevo archivo de host virtual a menos que deshabilite el archivo de host virtual predeterminado.

# Disable the default virtual host file
sudo a2dissite 000-default
# Enable your virtual host file
sudo a2ensite example.com.conf
Deshabilitar el archivo de host virtual predeterminado y habilitar su nuevo host virtual
Deshabilitar el archivo de host virtual predeterminado y habilitar su nuevo host virtual

7. Ejecute el service comando a continuación para restart su servidor Apache (apache2) para aplicar los cambios.

sudo service apache2 restart

8. Finalmente, abra su navegador web y navegue por su sitio web (ejemplo.com).

Si la configuración de su servidor Apache es correcta, verá el mismo mensaje a continuación en su navegador web.

Accediendo al sitio web alojado
Accediendo al sitio web alojado

Conclusión

En este tutorial, aprendió cómo instalar Apache en Ubuntu y configurar hosts virtuales para servir su sitio web en un solo servidor. En este punto, ahora puede alojar varios sitios web en su servidor Ubuntu de manera efectiva.

Este tutorial actúa como una introducción y podría considerar ir más allá con Apache y configurar otras funciones. Quizás intente configurar hosts virtuales con SSL y protección con contraseña para proteger su servidor Apache? O agregando encabezados personalizados a su sitio web para controlar las solicitudes de los usuarios?

Written by

Leave a comment