Inicio Informática Servidor web Apache, instalación y conceptos para usarlo en Ubuntu 20.04

Servidor web Apache, instalación y conceptos para usarlo en Ubuntu 20.04

Publicado por entreunosyceros

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una  vez más aquí. En esta ocasión vengo a dejar un post sobre algo que siempre hago en mis equipos cuando instalo una nueva versión de Ubuntu (hace unos días se publicó la versión 20.04 de Ubuntu). En las siguientes líneas vamos a ver cómo podemos instalar un servidor web Apache en Ubuntu 20.04. Como mucha gente sabe, el servidor HTTP Apache es el servidor web más utilizado en el mundo. Proporciona muchas funciones potentes, en las que se incluyen módulos que cargan de forma dinámica, soporte de medios robusto y una amplia integración con otro software popular.

Antes de comenzar esta guía, debemos disponer de un usuario regular (no root) con privilegios de sudo configurado en el equipo. Además, debemos habilitar un firewall básico para bloquear puertos no esenciales. Cuando tengamos la cuenta de usuario disponible, iniciaremos sesión como usuario no root para comenzar.

Instalar Apache en Ubuntu 20.04

Apache está disponible en los repositorios de software predeterminados de Ubuntu, por lo que es posible instalarlo utilizando herramientas de administración de paquetes convencionales.

Vamos a empezar actualizando el índice de paquetes disponibles:

sudo apt update

Ahora ya podemos instalar el paquete apache2:

instalar el servidor web Apache

sudo apt install apache2

Finalizada la instalación podremos comprobar que versión de Apache acabamos de instalar escribiendo en la misma terminal:

versión de apache instalada en Ubuntu 20.04

sudo apache2ctl -v

Ajustes del cortafuegos

Antes de probar Apache, es necesario modificar la configuración del firewall para permitir el acceso externo a los puertos web predeterminados. Suponiendo que hemos seguido las instrucciones de los requisitos previos, debemos tener un firewall UFW configurado para restringir el acceso al servidor.

Durante la instalación, Apache se registra con UFW para proporcionar algunos perfiles de aplicación que se pueden usar para habilitar o deshabilitar el acceso a Apache a través del firewall.

Vamos a poder enumerar los perfiles de la aplicación ufw escribiendo en la terminal (Ctrl+Alt+T):

ufw app list

sudo ufw app list

Como lo indica la salida, hay tres perfiles disponibles para Apache:

  • Apache → Este perfil solo abre el puerto 80 (tráfico web normal sin cifrar)
  • Apache Full → Este perfil abre tanto el puerto 80 (tráfico web normal sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
  • Apache Secure → Este perfil solo abre el puerto 443 (tráfico cifrado TLS / SSL)

Se recomienda habilitar el perfil más restrictivo que aún permitirá el tráfico que configuramos. Como todavía no hemos configurado SSL, solo vamos a permitir el tráfico en el puerto 80:

ufc allo apache

sudo ufw allow 'Apache'

Podremos verificar el cambio escribiendo:

ufc status

sudo ufw status

Comprobar el servidor web

Al final del proceso de instalación, Ubuntu 20.04 inicia Apache. El servidor web ya debería estar en funcionamiento. Esto lo podremos verificar escribiendo:

Status del servidor web Apache

sudo systemctl status apache2

Según lo confirmado por este resultado, el servicio se ha iniciado con éxito. Sin embargo, la mejor manera de probar esto es solicitar una página de Apache. Podremos acceder a ella para confirmar que el software se ejecuta correctamente a través de su dirección IP. Si no conoces la dirección IP del equipo se puede obtener escribiendo en la terminal (Ctrl+Alt+T):

comando hostname -I

hostname -I

Este comando nos mostrará algunas direcciones locales separadas por espacios. Podemos probar cada uno en el navegador web para determinar si funcionan. Deberíamos ver la página web predeterminada de Ubuntu 20.04 Apache:

servidor web apache funcionando en local

Esta página también incluye información básica sobre archivos de Apache importantes y ubicaciones de directorios.

Gestionar Apache

Ahora que ya tenemos el servidor web en funcionamiento, veamos algunos comandos básicos de administración con systemctl.

Para detener el servidor web:

sudo systemctl stop apache2

Iniciar el servidor web cuando está detenido:

sudo systemctl start apache2

Para detener e iniciar el servicio:

sudo systemctl restart apache2

Si simplemente estamos haciendo cambios en la configuración, Apache a puede recargar sin perder las conexiones. Para hacer esto, usaremos el comando:

sudo systemctl reload apache2

De forma predeterminada, Apache está configurado para iniciarse automáticamente cuando se inicia el servidor. Si esto no es lo que queremos lo podemos desactivarlo escribiendo:

sudo systemctl disable apache2

Para volver a habilitar el servicio para que se inicie en el arranque:

sudo systemctl enable apache2

Archivos importantes y directorios de Apache

Contenido

  • /var/www/html → El contenido web real, que por defecto solo consiste en la página Apache predeterminada. Esto se puede cambiar en los archivos de configuración de Apache.

Configuración del servidor

  • /etc/apache2 → Todos los archivos de configuración de Apache residen aquí.
  • /etc/apache2/apache2.conf → Se trata del archivo de configuración principal de Apache. Este archivo es responsable de cargar muchos de los otros archivos en el directorio de configuración.
  • /etc/apache2/ports.conf → Este archivo especifica los puertos en los que Apache escuchará. De forma predeterminada, Apache escucha en el puerto 80. Además escucha en el puerto 443 cuando se habilita un módulo que proporciona capacidades SSL.
  • /etc/apache2/sites-available/ → El directorio donde se pueden almacenar hosts virtuales por sitio. Apache no utilizará los archivos de configuración que se encuentran en este directorio a menos que estén vinculados al directorio habilitado para sitios. Por lo general, toda la configuración de bloqueo del servidor se realiza en este directorio y luego se habilita mediante la vinculación al otro directorio con el comando a2ensite.
  • /etc/apache2/sites-enabled/ → El directorio donde se almacenan los hosts virtuales habilitados por sitio. Por lo general, estos se crean al vincular a los archivos de configuración que se encuentran en el directorio de sitios disponibles con el a2ensite. Apache lee los archivos de configuración y los enlaces que se encuentran en este directorio cuando se inicia o vuelve a cargar para compilar una configuración completa.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/ → Estos directorios tienen la misma relación que los directorios sitios disponibles y sitios habilitados, pero se utilizan para almacenar fragmentos de configuración que no pertenecen a un anfitrión virtual.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/Estos directorios contienen los módulos disponibles y habilitados, respectivamente. Los archivos que terminan en .load contienen fragmentos para cargar módulos específicos, mientras que los archivos que terminan en .conf contienen la configuración de esos módulos.

Registros del servidor

  • /var/log/apache2/access.logCada solicitud al servidor web se registra en este archivo de registro a menos que Apache esté configurado para hacer lo contrario.
  • /var/log/apache2/error.log → De forma predeterminada, todos los errores se registran en este archivo.

Se puede encontrar más información acerca de este servidor en la página web del proyecto.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.