Cómo instalar el servidor Web Apache en Ubuntu 18.04

Introducción

El Servidor HTTP Apache es el servidor web más utilizado en el mundo. Proporciona muchas características potentes que incluyen módulos cargables dinámicamente, soporte de medios robusto y una amplia integración con otro software popular.

en esta guía, explicaremos cómo instalar un servidor Web Apache en su servidor Ubuntu 18.04.

prerrequisitos

antes de comenzar esta guía, debe tener un usuario normal que no sea root con privilegios sudo configurados en su servidor., Además, deberá habilitar un firewall básico para bloquear puertos no esenciales. Puede aprender cómo configurar una cuenta de usuario normal y configurar un firewall para su servidor siguiendo nuestra guía de configuración inicial del servidor para Ubuntu 18.04.

Cuando tengas una cuenta disponible, inicia sesión como usuario no root para comenzar.

Paso 1 — Instalación de Apache

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

comencemos actualizando el índice de paquetes local para reflejar los últimos cambios de origen:

  • sudo apt update

luego, instale el apache2 paquete:

  • sudo apt install apache2

después de confirmar la instalación, apt instalará Apache y todas las dependencias necesarias.

Paso 2 — Ajuste del Firewall

antes de probar Apache, es necesario modificar la configuración del firewall para permitir el acceso externo a los puertos web predeterminados., Suponiendo que haya seguido las instrucciones de los requisitos previos, debe tener un firewall UFW configurado para restringir el acceso a su 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.,668e2bfd4″>

verá una lista de los perfiles de la aplicación:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

como puede ver, hay tres perfiles disponibles para Apache:

  • Apache: este perfil abre solo el puerto 80 (tráfico web normal, sin cifrar)
  • Apache Full: este perfil abre ambos puertos 80 (tráfico web normal, sin cifrar) y el puerto 443 (tráfico cifrado TLS/SSL)
  • Apache secure: este perfil abre solo el puerto 443 (tráfico cifrado TLS/SSL)

se recomienda habilitar el perfil más restrictivo que aún permita el tráfico que ha configurado., Dado que aún no hemos configurado SSL para nuestro servidor en esta guía, solo necesitaremos permitir el tráfico en el puerto 80:

  • sudo ufw allow 'Apache'

puede verificar el cambio escribiendo:

  • sudo ufw status

debería ver el tráfico HTTP permitido en la salida mostrada:

como puede ver, el perfil se ha activado para permitir el acceso a la web.servidor.

Paso 3-comprobando su servidor web

al final del proceso de instalación, Ubuntu 18.04 inicia Apache. El servidor web ya debería estar en funcionamiento.,

compruebe con el sistema de iniciosystemd para asegurarse de que el servicio se está ejecutando escribiendo:

  • sudo systemctl status apache2

como puede ver en esta salida, el servicio parece haberse iniciado correctamente. Sin embargo, la mejor manera de probar esto es solicitar una página de Apache.

Puede acceder a la página de destino predeterminada de Apache para confirmar que el software se está ejecutando correctamente a través de su dirección IP. Si no conoce la dirección IP de su servidor, puede obtenerla de varias maneras diferentes desde la línea de comandos.,

intente escribir esto en el símbolo del sistema de su servidor:

  • hostname -I

obtendrá algunas direcciones separadas por espacios. Puede probar cada uno en su navegador web para ver si funcionan.,

una alternativa es escribir esto, que debería darle su dirección IP pública como se ve desde otra ubicación en internet:

  • curl -4 icanhazip.com

Cuando tenga la dirección IP de su servidor, introdúzcala en la barra de direcciones de su navegador:

You should see the default Ubuntu 18.04 Apache web page:

This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.

Step 4 — Managing the Apache Process

Now that you have your web server up and running, let’s go over some basic management commands.

To stop your web server, type:

  • sudo systemctl stop apache2

para iniciar el servidor web cuando se detiene, escriba:

  • sudo systemctl start apache2

para detener y luego iniciar el servicio de nuevo, escriba:

  • sudo systemctl restart apache2

si simplemente está haciendo cambios de configuración, Apache a menudo puede recargar sin soltar conexiones., Para hacer esto, use este comando:

  • sudo systemctl reload apache2

por defecto, Apache está configurado para iniciarse automáticamente cuando el servidor arranca. Si esto no es lo que desea, deshabilite este comportamiento escribiendo:

  • sudo systemctl disable apache2

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

  • sudo systemctl enable apache2

Apache ahora debe iniciarse automáticamente cuando el servidor arranca de nuevo.,

Paso 5-Configuración de Hosts virtuales (recomendado)

al usar el servidor Web Apache, puede usar hosts virtuales (similares a los bloques de servidor en Nginx) para encapsular detalles de configuración y alojar más de un dominio desde un solo servidor. Configuraremos un dominio llamado your_domain, pero debes reemplazarlo con tu propio nombre de dominio. Para obtener más información sobre cómo configurar un nombre de dominio con DigitalOcean, consulte nuestra introducción a DigitalOcean DNS.

Apache en Ubuntu 18.,04 tiene un bloque de servidor habilitado de forma predeterminada que está configurado para servir documentos desde el directorio /var/www/html. Si bien esto funciona bien para un solo sitio, puede volverse difícil de manejar si está alojando varios sitios. En lugar de modificar /var/www/html, vamos a crear una estructura de directorios dentro de /var/www para un sitio your_domain, dejando /var/www/html en su lugar como el directorio predeterminado para ser servido si una solicitud de cliente no coincide con ningún otro sitio.,su_dominio de la siguiente manera:

  • sudo mkdir /var/www/your_domain

a continuación, asigne la propiedad del directorio con la variable de entorno $USER:

  • sudo chown -R $USER:$USER /var/www/your_domain

los permisos de sus raíces web deben ser correctos si no ha modificado su unmask valor, pero puede asegurarse escribiendo:

  • sudo chmod -R 755 /var/www/your_domain

a continuación, cree una página de muestra index.html usando nano o su editor favorito:

  • nano /var/www/your_domain/index.html

dentro, agregue el siguiente HTML de ejemplo:

/var/www/su_dominio/index.,html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>

Guarde y cierre el archivo cuando haya terminado.

para que Apache sirva este contenido, es necesario crear un archivo de host virtual con las directivas correctas. En lugar de modificar el archivo de configuración predeterminado ubicado en /etc/apache2/sites-available/000-default.conf directamente, hagamos uno nuevo en /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

pegue en el siguiente bloque de configuración, que es similar al predeterminado, pero actualizado para nuestro nuevo directorio y nombre de dominio:

/etc/apache2/sites-disponible/su_dominio.,conf

observe que hemos actualizado DocumentRoota nuestro nuevo directorio y ServerAdmin a un correo electrónico al que el administrador del sitio your_domain puede acceder. También hemos añadido dos directivas: ServerName, que establece el dominio base que debe coincidir con esta definición de host virtual, y ServerAlias, que define otros nombres que deben coincidir como si fueran el nombre base.

Guarde y cierre el archivo cuando haya terminado.,

Vamos a habilitar el archivo con el a2ensite herramienta:

  • sudo a2ensite your_domain.conf

Deshabilitar la página por defecto definida en 000-default.conf:

  • sudo a2dissite 000-default.conf

a continuación, vamos a probar por errores de configuración:

  • sudo apache2ctl configtest

Usted debe ver la siguiente salida:

Output
Syntax OK

Reiniciar Apache para implementar los cambios:

  • sudo systemctl restart apache2

Apache ahora atiende a su nombre de dominio., Puede probar esto navegando a , donde debería ver algo como esto:

Paso 6 – familiarizarse con los archivos y directorios importantes de Apache

ahora que sabe cómo administrar el servicio Apache en sí, debería tomarse unos minutos para familiarizarse con algunos directorios y archivos importantes.,

Content

  • /var/www/html: el contenido web real, que por defecto solo consiste en la página predeterminada de Apache que vio anteriormente, se sirve desde el directorio /var/www/html. Esto se puede cambiar alterando los archivos de configuración de Apache.

Configuración del Servidor

  • /etc/apache2: El directorio de configuración de Apache. Todos los archivos de configuración de Apache residen aquí.
  • /etc/apache2/apache2.conf : el archivo de configuración principal de Apache. Esto se puede modificar para realizar cambios en la configuración global 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á. Por defecto, Apache escucha en el puerto 80 y adicionalmente escucha en el puerto 443 cuando un módulo que proporciona capacidades SSL está habilitado.
  • /etc/apache2/sites-available/ : el directorio donde se pueden almacenar los 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 sites-enabled., Normalmente, toda la configuración del bloque del servidor se realiza en este directorio y, a continuación, se habilita Enlazando al otro directorio con el comando a2ensite.
  • /etc/apache2/sites-enabled/ : el directorio donde se almacenan los hosts virtuales habilitados por sitio. Normalmente, estos se crean Enlazando a archivos de configuración que se encuentran en el directorio sites-available con el a2ensite. Apache lee los archivos de configuración y enlaces que se encuentran en este directorio cuando se inicia o recarga para compilar una configuración completa.,
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: estos directorios tienen la misma relación que los directorios sites-available y sites-enabled, pero se utilizan para almacenar fragmentos de configuración que no pertenecen a un host virtual. Los archivos en el directorio conf-available se pueden habilitar con el comando a2enconf y deshabilitar con el comando a2disconf.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Estos directorios contienen los módulos activos y disponibles, 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 para esos módulos. Los módulos se pueden habilitar y deshabilitar usando el comando a2enmod y a2dismod.

registros del servidor

  • /var/log/apache2/access.log: de forma predeterminada, cada solicitud a su 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., La directiva LogLevel en la configuración de Apache especifica cuánto detalle contendrán los registros de errores.

conclusión

ahora que tiene su servidor web instalado, tiene muchas opciones para el tipo de contenido que puede servir y las tecnologías que puede usar para crear una experiencia más rica.

si desea construir una pila de aplicaciones más completa, puede ver este artículo sobre cómo configurar una pila LAMP en Ubuntu 18.04.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *