GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar el servidor web Apache en Ubuntu

¿Qué es el servidor web Apache?

El servidor Apache o Apache HTTP es un servidor web gratuito y de código abierto, desarrollado y mantenido por Apache Software Foundation. Su popularidad se puede juzgar por el hecho de que alrededor del 46% de los sitios web en todo el mundo funcionan con Apache. Apache permite a los desarrolladores de sitios web publicar su contenido en la web. Sirve como repartidor entregando los archivos solicitados por los usuarios cuando ingresan un nombre de dominio en la barra de direcciones de su navegador.

Este tutorial trata sobre la instalación y configuración de Apache2 en su sistema Ubuntu. Los comandos y procedimientos mencionados en este artículo se ejecutaron en un sistema Ubuntu 18.04 LTS. Como estamos usando la línea de comandos de Ubuntu, la Terminal, en este artículo; puede abrirlo a través del tablero del sistema o el Ctrl+Alt+T atajo.

Instalar Apache 2 en Ubuntu Linux

Siga los siguientes pasos para instalar el software Apache2 a través de los repositorios oficiales de Ubuntu.

Paso 1:actualizar los repositorios del sistema

Puede descargar la última versión de un software actualizando primero el índice de paquetes local de los repositorios de Ubuntu. Abre la Terminal e ingresa el siguiente comando para hacerlo:

$ sudo apt update

Paso 2:Instale Apache 2 con el comando apt

Luego, ingrese el siguiente comando como sudo para instalar Apache2 y sus dependencias requeridas:

$ sudo apt install apache2

Es posible que se le solicite una opción y/n para continuar con la instalación. Ingrese Y, luego de lo cual comenzará el procedimiento de instalación.

Paso 3:Verificar la instalación de Apache

Cuando se complete la instalación, puede verificar el número de versión y así verificar que Apache2 esté realmente instalado en su sistema ingresando el siguiente comando:

$ apache2 -version

Configurar los ajustes del cortafuegos

Para configurar Apache, primero debemos permitir el acceso externo a ciertos puertos web de nuestro sistema y permitir Apache en su firewall UFW.

Paso 1:Enumere los perfiles de aplicación de UFW

Para configurar el firewall, primero enumeremos los perfiles de aplicación que necesitaremos para habilitar el acceso a Apache. Utilice el siguiente comando para enumerar dichas aplicaciones disponibles:

$ sudo ufw app list

En el resultado anterior, puede ver tres perfiles de Apache que brindan diferentes niveles de seguridad; Apache es el que proporciona la máxima restricción con el puerto 80 aún abierto.

Paso 2:permitir Apache en UFW y verificar su estado

Permitir Apache en UFW abrirá el puerto 80 para el tráfico de red, al tiempo que proporciona la máxima seguridad al servidor. Configure UFW para permitir Apache a través del siguiente comando:

$ sudo ufw allow 'Apache'

El estado de UFW ahora mostrará Apache habilitado en el firewall.

$ sudo ufw estado

Configurar los ajustes del servidor web Apache

Paso 1:Verifique que el servicio Apache se esté ejecutando

El primer paso es verificar que el servicio Apache2 esté activo y funcionando en su sistema, a través del siguiente comando:

$ sudo systemctl status apache2

El estado “activo (en ejecución) verifica que el servicio apache2 se está ejecutando.

Paso 2:Verifique que Apache se esté ejecutando correctamente y escuche en su dirección IP

También puede verificar si Apache se está ejecutando solicitando una página del servidor Apache. Para ello, puede utilizar la IP de su servidor para acceder a la página de inicio de Apache.

Utilice el siguiente comando para conocer la IP de su servidor:

$ hostname -I

Luego pruebe las direcciones IP, una por una desde la salida, en su navegador web de la siguiente manera:

http://IP_del_servidor

En mi caso, http://192.168.100.4 y http://192.168.100.5. Al hacerlo, se mostrará la siguiente página web de Apache para Ubuntu, verificando que el servidor Apache funciona correctamente.

Configurar servidores virtuales en Apache

Un host virtual es similar a lo que tiene bloques de servidor en Nginx. Se utiliza para administrar configuraciones para más de un dominio desde un servidor. Presentaremos un ejemplo de cómo configurar un host virtual a través del servidor Apache. Configuraremos un sitio web llamado sampledomain.com usando el bloque de servidor que está habilitado de forma predeterminada en Apache para Ubuntu 18.

Paso 1:Configure un nombre de dominio

El bloque de servidor que está habilitado de forma predeterminada es capaz de entregar documentos desde /var/www/html. Sin embargo, crearemos un directorio en /var/www/ dejando intacto el directorio predeterminado.

Cree este directorio a través del siguiente comando, reemplazando sampledomain.com por su respectivo nombre de dominio.

sudo mkdir -p /var/www/sampledomain.com/html

Luego asigne la propiedad del directorio a través de los siguientes comandos:

sudo chown -R $USER:$USER /var/www/sampledomain.com/html
sudo chmod -R 755 /var/www/sampledomain.com

Ahora vamos a crear una página de índice a la que podamos acceder más tarde para probar si Apache está ejecutando nuestro nombre de dominio. Cree un archivo HTML a través del editor Nano o cualquiera de sus editores de texto favoritos.

$ nano /var/www/sampledomain.com/html/index.html

Ingrese el siguiente código HTML para la página de índice:

<html>
<head>
<title>Welcome to the page sampledomain.com!</title>
</head>
<body>
<h1>You got Lucky! Your sampledomain.com server block is up!</h1>
</body>
</html>

Estamos usando el editor nano para crear el archivo HTML.

Puede guardar un archivo en nano usando Ctrl+X y luego ingrese Y y presione Enter.

Apache necesita un archivo de host virtual para servir el contenido de su servidor. El archivo de configuración predeterminado para este propósito ya está creado, pero crearemos uno nuevo para nuestras configuraciones personalizadas.

$ sudo nano /etc/apache2/sites-available/sampledomain.com.conf

Ingrese los siguientes detalles de configuración personalizados para nuestro nombre de dominio:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName sampledomain.com
ServerAlias www.sampledomain.com
DocumentRoot /var/www/sampledomain.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Estamos utilizando el editor nano para crear este archivo .conf.

Puede guardar un archivo en nano usando Ctrl+X y luego ingrese Y y presione Enter.

Paso 2:habilite el archivo de configuración del dominio

Habilitemos el archivo de configuración que creamos con la herramienta a2ensite:

$ sudo a2ensite sampledomain.com.conf

El resultado sugerirá activar la nueva configuración, pero podemos hacerlo todos juntos después de ejecutar el siguiente comando que deshabilita el archivo de configuración original:

$ sudo a2dissite 000-default.conf

Ahora reinicie el servicio de Apache:

$ sudo systemctl restart apache2

Paso 3:prueba de errores

Finalmente, probemos si hay algún error de configuración a través del siguiente comando:

$ sudo apache2ctl configtest

Si no recibe ningún error, obtendrá el siguiente resultado:

Sin embargo, el siguiente error es común en Ubuntu 18.04

Resolver el error:

Ingrese el siguiente comando para resolver el error mencionado anteriormente:

$ echo "ServerName sampledomain.com | sudo tee /etc/apache2/conf-available/servername.conf

Y luego:

$ sudo a2enconf servername

Ahora, cuando verifique nuevamente si hay errores, verá que este error se resolvió a través del siguiente resultado:

Paso 4:Pruebe si Apache está sirviendo su nombre de dominio

El servidor Apache ahora está configurado para servir su nombre de dominio. Esto se puede verificar ingresando el nombre de su servidor de la siguiente manera en cualquiera de los navegadores web que se ejecutan en su sistema:

http://dominiodemuestra.com

La página de índice debería mostrarse de la siguiente manera, lo que indica que Apache ahora está listo para servir su bloque de servidor.

Algunos comandos comunes de administración de Apache

Después de configurar el servidor web, es posible que deba realizar algunas operaciones de administración básicas en Apache. Estos son los comandos que puede ingresar en su aplicación Terminal para estas operaciones.

sudo systemctl start apache2

Use este comando como sudo para iniciar el servidor Apache.

sudo systemctl stop apache2

Utilice este comando como sudo para detener el servidor Apache cuando esté en modo de inicio.

sudo systemctl restart apache2

Use este comando como sudo para detener y luego iniciar el servicio Apache nuevamente.

sudo systemctl reload apache2

Utilice este comando como sudo para aplicar los cambios de configuración sin reiniciar la conexión.

sudo systemctl enable apache2

Use este comando como sudo para permitir que Apache se inicie cada vez que inicie su sistema.

sudo systemctl disable apache2

Use este comando como sudo para deshabilitar si configuró Apache para que se inicie cada vez que inicie su sistema.

Conclusión

A través de este artículo, ha aprendido a instalar y configurar el servidor web Apache en su sistema Ubuntu. Esto incluye hacer algunos cambios en su firewall UFW y luego configurar su servidor web para su dirección IP. También le recomendamos que configure un host virtual a través de Apache; esto le dará una base sobre cómo usar Apache para alojar sus archivos en Internet. Los comandos básicos de administración de Apache también lo ayudarán como administrador web a administrar su servidor web de manera óptima.


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 20.04

  3. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  4. Cómo instalar y configurar el servidor Redis en Ubuntu

  5. Cómo instalar y configurar el servidor web Apache en Ubuntu 13.10

Cómo instalar y configurar el servidor LAMP en Ubuntu

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Cómo instalar el servidor web Apache en Ubuntu 18.04

Cómo instalar el servidor web Apache en Ubuntu 20.04

Cómo instalar y configurar un servidor web LAMP en Ubuntu 18.04