Volver al blog

Instalación del servidor Apache en Ubuntu 18.04: una guía práctica

Instalación del servidor Apache en Ubuntu 18.04: una guía práctica

Introducción

El Servidor HTTP Apache es un servidor web de código abierto de la Apache Software Foundation. Es un software que conecta su servidor local con los servidores de sitios web como Firefox o Google Chrome. Esta conexión se utiliza para enviar y recibir archivos y datos.

Es el servidor más popular en todo el mundo. Más del 40% de todos los sitios web en la world wide web funcionan con Apache HTTP. Las razones de su popularidad son su alta capacidad de personalización, su gran capacidad de integración y su soporte de medios confiable. Apache opera sobre una arquitectura basada en módulos. Puede modificar módulos individuales para agregar y eliminar diversas funcionalidades. En este tutorial, le guiaremos sobre cómo instalar el servidor Apache en Ubuntu 18.04.

Antes de la instalación

Antes de comenzar a instalar Apache, debe encargarse de algunos requisitos previos. Para empezar, asegúrese de haber configurado ya un usuario no raíz con privilegios sudo en el servidor local. La otra cosa que necesitará es un cortafuegos. Debe habilitar su cortafuegos básico y bloquear los puertos no esenciales. Antes de comenzar la instalación, inicie sesión con su usuario no raíz con privilegios. Puede instalar fácilmente su servidor siguiendo nuestro tutorial sobre cómo configurar un servidor Ubuntu.

Cómo instalar el servidor web Apache en Ubuntu 18.04

Si ha tenido en cuenta los requisitos previos, puede pasar a la instalación real. Puede instalar y explorar el servidor web Apache en 6 sencillos pasos:

Paso 1: Instalar Apache

Le alegrará saber que Apache ya forma parte de Ubuntu. Esto significa que puede instalar Apache en su servidor utilizando las herramientas típicas de gestión de paquetes. Está disponible como software predeterminado en el repositorio. Primero, deberá actualizar el índice de paquetes local:

Este comando hace que los cambios recientes de upstream aparezcan en el índice de paquetes. A continuación, debemos dar la orden para instalar el paquete apache2:

Paso 2: Cambiar la configuración de su cortafuegos

Al encargarse de los requisitos previos, debe haber configurado su cortafuegos UFW. Si siguió las instrucciones, su cortafuegos estará bloqueando su acceso al servidor. Debemos dar acceso al servidor a los puertos web predeterminados antes de operar Apache. Como resultado, se debe cambiar la configuración del cortafuegos.

En el momento de la instalación, Apache se registra con el UFW. El resultado de este registro es la creación de algunos perfiles de aplicación. Además, puede utilizar estos perfiles para habilitar o deshabilitar el acceso del cortafuegos a Apache. Luego, visualice estas aplicaciones ufw con el siguiente comando:

Verá su perfil de aplicación en una lista como esta:

Apache Server ufw app list

La lista anterior muestra que se han creado tres perfiles de aplicación, a saber, Apache, Apache Full y Apache Secure. Aquí hay algunos detalles útiles sobre cada uno de estos perfiles:

  • Apache:

El perfil Apache puede abrir únicamente el puerto 80. Este puerto permite el tráfico web normal y no cifrado.

  • Apache Full:

El perfil Apache Full tiene la capacidad de abrir tanto el puerto 80 como el 443. Mientras que el puerto 80 permite el tráfico web normal y no cifrado, el puerto 443 se encarga del tráfico cifrado TLS/SSL.

  • Apache Secure:

Por último, Apache Secure solo abre el puerto 443. Como se mencionó anteriormente, es responsable de permitir la entrada de tráfico web cifrado TLS o SSL.

Al elegir entre estos perfiles, piense en el tráfico que ha configurado. Querrá asegurarse de que pase el tráfico deseado mientras opta por el perfil más restrictivo. La configuración de SSL está fuera de nuestro alcance en este momento. Por lo tanto, nos centraremos en el tráfico que llega a través del puerto 80 por ahora. Esto significa que estamos habilitando el perfil de aplicación ‘Apache’ en este escenario. Puede hacerlo de la siguiente manera:

Para verificar la modificación, escriba lo siguiente:

Este comando mostrará una salida que contiene el tráfico HTTP que actualmente tiene permitido pasar. Verá algo como esto:

Apache Server firewall status

El flujo de tráfico muestra que se ha activado el perfil de Apache deseado. Se ha concedido acceso al servidor web a través del cortafuegos.

Paso 3: Comprobar su servidor web

La instalación de Apache se ha completado y se han modificado los ajustes del cortafuegos. Al final de este proceso, Ubuntu 18.04 iniciará Apache automáticamente. A continuación, debe comprobar con el sistema de inicio systemd si el servicio se está ejecutando en un momento dado. Si desea obtener más información sobre los sistemas de inicio, puede consultar nuestro tutorial sobre cómo administrar servicios y unidades de Systemd con Systemctl. Para comprobar si el servicio se está ejecutando, escriba:

El resultado será el siguiente:

apache2 status

Debe buscar el estado Active o running del servicio en lo anterior. Esto muestra que el servicio se ha iniciado y se está ejecutando correctamente. Existe otra forma, más preferible, de probar el funcionamiento del servicio. Puede comprobar su estado solicitando una página a Apache. Utilizando la dirección IP de su servidor, puede confirmar si el software se está ejecutando en la página de inicio predeterminada de Apache. Aquí tiene un comando que puede utilizar para obtener la dirección IP de su servidor si aún no la conoce:

Este comando mostrará un resultado con varias direcciones IP separadas por espacios. Pruebe cada una de ellas individualmente en el navegador. Otra forma de acceder es obtener su dirección IP pública. Puede utilizar un comando como este:

Esto le mostrará su dirección IP tal como se ve en otros lugares de la web. A continuación, una vez que tenga su dirección IP, vaya a su navegador web. En la barra de direcciones, escriba y ejecute lo siguiente:

Esto abrirá la página web predeterminada de Apache en Ubuntu 18.04. Se ve así:

ubuntu homepage

Esta página contiene información básica sobre sus archivos y directorios. Dado que se inició al escribir la dirección, indica que Apache está funcionando correctamente.

Paso 4: Administración básica en Apache

La verificación confirma que Apache se está ejecutando y que su servidor está operativo. Ahora, exploraremos algunos de los comandos básicos que puede utilizar en el servidor para su administración.

La configuración predeterminada de su Apache lo inicia cada vez que el servidor arranca. Tiene la opción de desactivar este ajuste. Escriba:

Para reactivar esta función predeterminada, utilice este comando:

A continuación, escriba lo siguiente si desea detener el servidor manualmente:

Si desea volver a iniciarlo después de haberlo detenido, utilice el comando:

Para detener e iniciar el servidor, o básicamente reiniciarlo, escriba:

Cuando detiene el servidor, este tiende a perder todas sus conexiones. Iniciarlo de nuevo significa que vuelve a encontrar y vincular esas conexiones. Si lo desea, también puede recargar Apache sin perder la conexión. Esto es especialmente útil al realizar cambios de configuración. Escriba lo siguiente para recargar sin perder las conexiones:

Paso 5: Configuración de hosts virtuales

Aunque esto no es obligatorio, se recomienda encarecidamente que configure sus hosts virtuales. Los hosts virtuales son pequeños bloques en el servidor que contienen grupos de detalles de configuración. Puede alojar varios dominios en un solo host virtual desde su servidor.

Por defecto, si está utilizando Apache en Ubuntu 18.04, habrá un bloque de servidor activado que servirá documentos en el directorio /var/www/html. Querrá cambiar esta configuración si aloja varios sitios en lugar de uno solo. Sin embargo, hay otra opción posible que funciona aún mejor. Deje el directorio /var/www/html intacto. En su lugar, vaya a /var/www/ para crear una estructura de directorios para los sitios de su dominio deseado. Si hace esto, el directorio /var/www/html se configurará como el directorio predeterminado. En caso de que la solicitud de un cliente no coincida con ninguno de los sitios de su dominio, se servirá desde aquí.

Después de eso, veremos cómo puede crear un nuevo dominio y su directorio asociado. Para este ejemplo, utilizaremos un nombre hipotético, your_domain. Reemplace your_domain dondequiera que aparezca en las instrucciones siguientes con su propio nombre de dominio. Para empezar, veamos cómo puede crear un nuevo directorio para your_domain:

Ahora, tiene que asignar la propiedad del directorio. Puede utilizar la variable de entorno $USER para este propósito:

Para continuar, los permisos de la raíz web deben ser correctos. Si no ha tocado el valor de unmask en la configuración, sus permisos deberían estar bien. Pero si no está seguro, siempre puede confirmarlo con:

A continuación, crearemos una página index.html. Puede utilizar nano como nosotros o cualquier otro editor, si tiene alguna preferencia:

Añada este HTML de muestra dentro del index, luego guarde y cierre:

El siguiente paso es crear un archivo de host virtual. Un archivo de host virtual con todas las directivas correctas es necesario para que Apache sirva el contenido de muestra anterior. El archivo de configuración predeterminado se encontrará en: /etc/apache2/sites-available/000-default.conf. En lugar de modificar ese archivo, crearemos uno nuevo en: /etc/apache2/sites-available/your_domain.conf.

De manera similar a antes, añadiremos una muestra para la configuración. Esta vez, sin embargo, la actualizaremos con respecto al nombre de dominio y al nuevo directorio que acabamos de crear. Añada este bloque, luego guarde y cierre:

Como puede ver arriba, también hemos actualizado nuestro correo electrónico de ServerAdmin. Esta es una dirección a la que el administrador del sitio de your_domain puede acceder. No solo eso, sino que también hemos actualizado el DocumentRoot al nuevo directorio y hemos añadido dos nuevas directivas. Estas directivas incluyen ServerName y ServerAlias. ServerName se utiliza para establecer el dominio base. El dominio base tiene que coincidir para definir el host virtual. ServerAlias, por otro lado, proporciona otros nombres que también deberían coincidir, de manera similar al nombre base. Puede habilitar el archivo utilizando la herramienta a2ensite fácilmente:

Para deshabilitar el sitio predeterminado mencionado en 000-default.conf, use este comando:

Ahora que la configuración está lista, puede verificar si hay errores escribiendo:

Esto mostrará la siguiente salida si no hay errores de configuración:

Para aplicar los cambios, debe reiniciar el servidor Apache como se indicó anteriormente:

¡Listo! Ha configurado su host virtual y establecido su nombre de dominio. Para verificar si Apache está, de hecho, sirviendo su_dominio, vaya a http://your_domain.

Paso 6: Explorar los archivos y directorios

Ha realizado con éxito algunas configuraciones básicas de su servidor Apache. Además, ya sabe cómo puede administrar su servicio Apache. A continuación, puede dedicar algún tiempo a explorar algunos de los directorios y archivos más críticos.

Contenido
  • /var/www/html

También hemos hablado de este directorio antes. Contiene la página predeterminada de Apache. Si lo desea, puede cambiar el contenido de esta página. Para hacerlo, tendrá que modificar los archivos de configuración de Apache.

Configuración del servidor

 

  • /etc/apache2

Este es el directorio principal de configuración de Apache. Es decir, este directorio consta de todos los archivos de configuración asociados con Apache.

  • /etc/apache2/apache2.conf

Como sugiere la adición al final del directorio, este es el archivo de configuración principal. Este archivo carga varios otros archivos en el directorio y se puede utilizar para realizar modificaciones en la configuración de Apache. Si desea realizar algún cambio en la configuración del servidor Apache, aquí es donde realizará las alteraciones.

  • /etc/apache2/ports.conf

Como sugiere el nombre, este archivo pertenece a los puertos que hemos discutido antes. El puerto 80 está habilitado de forma predeterminada y el puerto 443 se activa cuando se introducen módulos que contienen SSL. Este archivo contiene detalles sobre qué puertos están abiertos y habilitados.

  • /etc/apache2/sites-available/

Aquí es donde irán sus hosts virtuales. Cualquier configuración de bloque de servidor que deba realizarse se lleva a cabo en este directorio. Para habilitar los bloques de servidor, deben vincularse a otros directorios a través de a2ensite. Apache solo tendrá acceso a los archivos de este directorio si se han habilitado vinculándolos al directorio sites-enabled.

  • /etc/apache2/sites-enabled/

Este es el directorio donde se encuentran los hosts virtuales habilitados. Como mencionamos, los hosts se habilitan cuando vincula los archivos en el directorio sites-available a través del comando a2ensite. Los archivos de este directorio son importantes para cuando Apache se inicia, se recarga o compila una configuración.

  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/

Estos directorios funcionan de manera similar a sites-available y sites-enabled. Para habilitar los archivos en el directorio conf-available, debe usar el comando a2enconf. El comando de deshabilitación es a2disconf. En lugar de almacenar hosts virtuales por sitio, estos directorios constan de detalles de configuración que no son relevantes para el host virtual:

  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/

Estos directorios también tienen una relación similar a los dos ejemplos anteriores. Contienen los módulos, tanto los disponibles como los habilitados por el comando a2enmod. Para deshabilitar un módulo, puede usar el comando a2dismod. Los archivos con el sufijo .load tienen fragmentos que pueden cargar un módulo determinado. Los archivos con el sufijo .conf contienen los detalles de configuración relevantes para el módulo dado.

Registros del servidor

 

  • /var/log/apache2/access.log

Este archivo de registro contiene todas las solicitudes realizadas a su servidor. Esto sucede de forma predeterminada. Tiene la opción de configurar Apache para registrar las solicitudes de manera diferente.

  • /var/log/apache2/error.log

Este es el registro de errores. Todos los errores que cometa van directamente a este archivo de forma predeterminada. Puede ver el detalle con el que se registran los registros de errores a través de la directiva LogLevel.

Conclusión

Finalmente, siguiendo los pasos anteriores, puedes instalar fácilmente el servidor web Apache en tu Ubuntu 18.04. Una vez que tengas el servidor en tu sistema, puedes explorar las diversas opciones que tienes en la plataforma. Puedes utilizar diferentes tecnologías para producir varios tipos de contenido. De esta manera, puedes cultivar una experiencia única y facilitadora para ti en el servidor.

También puedes aprender cómo proteger tu servidor Apache con Let’s Encrypt siguiendo nuestro tutorial paso a paso. Si quieres aprender cómo instalar Apache en CentOS 7, sigue nuestro tutorial sobre cómo instalar la pila Linux, Apache, MySQL, PHP (LAMP) en CentOS 7.

¡Feliz computación!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.