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.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

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.