GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar el servidor web Apache en Centos 8

Apache HTTP Server (Apache) es uno de los software de servidor web multiplataforma gratuitos y de código abierto más populares, lanzado bajo los términos de la Licencia Apache 2.0.

Apache es popular como parte de la configuración LAMP, siendo la A en el acrónimo. La funcionalidad del servidor apache se puede ampliar con los muchos módulos disponibles.

Requisitos previos:

  • Servidor Centos 8 actualizado
  • Acceso raíz al servidor (o usuario con acceso sudo)
  • Cortafuegos configurado para permitir el tráfico a los puertos 80 y 443

Instalación de Apache

Asegúrese de que los paquetes estén actualizados:

sudo dnf -y update

Apache está disponible en los repositorios de software predeterminados de CentOS 8 como httpd . Puede verificar información al respecto usando este comando:

sudo dnf info httpd

Deberías ver algo similar a esto:

$ sudo dnf info httpd
CentOS Linux 8 - AppStream                                          20 MB/s | 8.8 MB     00:00
CentOS Linux 8 - BaseOS                                               24 MB/s | 5.6 MB     00:00
Last metadata expiration check: 0:00:01 ago on Sat 28 Aug 2021 01:06:59 PM UTC.
Available Packages
Name         : httpd
Version      : 2.4.37
Release      : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size         : 1.4 M
Source       : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository   : appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

Instálelo con este comando:

sudo dnf install -y httpd

Habilitación de http y https en firewalld

Si tiene un firewall en funcionamiento, debe habilitar los puertos http y https con estos comandos:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Ahora vuelva a cargar el cortafuegos para que estas nuevas reglas entren en vigor:

sudo firewall-cmd --reload

Iniciando y habilitando el servicio httpd

De forma predeterminada, el servicio no se inicia. Confirme con el siguiente comando:

sudo systemctl status httpd

Salida:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)

Inicie el servicio con este comando:

sudo systemctl start httpd

Recibirá un estado activo cuando el servicio se esté ejecutando
Confirme que ahora funciona bien:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-08-28 13:32:17 UTC; 17s ago
     Docs: man:httpd.service(8)
 Main PID: 65827 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23800)
   Memory: 28.9M
   CGroup: /system.slice/httpd.service
           ├─65827 /usr/sbin/httpd -DFOREGROUND
           ├─65828 /usr/sbin/httpd -DFOREGROUND
           ├─65829 /usr/sbin/httpd -DFOREGROUND
           ├─65830 /usr/sbin/httpd -DFOREGROUND
           └─65831 /usr/sbin/httpd -DFOREGROUND

Aug 28 13:32:17 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 28 13:32:17 test-app-server httpd[65827]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::8fc:23ff:fe51:cc>
Aug 28 13:32:17 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 28 13:32:17 test-app-server httpd[65827]: Server configured, listening on: port 80

Lo anterior confirma que Apache está funcionando bien ahora.

Para confirmar que se puede acceder al servicio, diríjase a la siguiente URL para ver si puede obtener la página httpd:

http://server_ip

Si no conoce el servidor, use el siguiente comando en su terminal:

curl -4 icanhazip.com

Una vez que visite esa página, si todo funciona bien, debería ver la página predeterminada de Apache como en la siguiente captura de pantalla:

Para asegurarse de que el servicio siempre se inicie al arrancar, use este comando systemctl:

sudo systemctl enable httpd

Configuración de servidores virtuales

Con Apache, es posible alojar múltiples sitios en el mismo servidor donde se ejecuta Apache. Esto siempre se puede lograr utilizando varios dominios, cada uno de los cuales representa un sitio que aloja el servidor.

Los hosts virtuales Apache son similares a los bloques de servidores Nginx. Cada host virtual tendrá detalles de configuración para un solo host. Puede tener tantos servidores virtuales como desee.

En este ejemplo, usaremos el dominio site1.citizix.com para el host virtual, pero tenga la libertad de usar el dominio de su elección. Tenga en cuenta que el DNS del dominio que se utilizará ya debe estar configurado para apuntar a la dirección IP del servidor.
Confírmelo con:

dig -t A site1.citizix.com

Crear directorio y contenido de muestra

La página predeterminada de apache está configurada como un host virtual predeterminado que sirve contenido desde /var/www/html . Es una buena práctica crear el directorio de su sitio en /var/www directorio ya que es una mejor práctica servir desde allí.

Vamos a crear un directorio para nuestro sitio con el siguiente comando:

sudo mkdir /var/www/site1.citizix.com

Vamos a crear un index.html simple página para servir desde nuestro sitio. Necesitará vim instalado para que esto funcione, si no, use este comando:

sudo dnf install -y vim

Edite el archivo:

sudo vim /var/www/site1.citizix.com/index.html 

Agregar contenido al archivo:

<html>
  <head>
    <title>Hello from Citizix Site1!</title>
  </head>
  <body>
    <h1>Hey!</h1>
    <p>This is citizix site1. Welcome here.</p>
  </body>
</html>

Finalmente, asegurémonos de que el usuario actual sea el propietario del directorio del sitio:

sudo chown -R $USER:$USER /var/www/site1.citizix.com

Creación de alojamiento virtual

Los archivos de host virtual de Apache especifican la configuración de cada sitio y le indican al servidor web Apache cómo responder a varias solicitudes de dominio.

Las configuraciones de Apache se almacenarán en el directorio /etc/httpd/conf.d/ . Vamos a crear una configuración para nuestro sitio:

sudo vim /etc/httpd/conf.d/site1.citizix.com.conf

Agrega el siguiente contenido:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com
    DocumentRoot /var/www/site1.citizix.com
    ErrorLog /var/log/httpd/site1.citizix.com.error.log
    CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>

Esto le dirá a Apache lo siguiente:

  • ServerName y ServerAlias:nombre del host para servir
  • DocumentRoot – dónde encontrar directamente la raíz que contiene los documentos web de acceso público
  • ErrorLog – dónde almacenar los registros de errores para este sitio
  • CustomLog – dónde almacenar los registros de solicitudes para este sitio en particular

Guarde y cierre el archivo cuando haya terminado

Prueba del servidor virtual

Ahora que la configuración está en su lugar, debemos probar que todo funciona como se esperaba.

Primero reinicie apache para recargar la configuración:

sudo systemctl restart httpd 

Enumere el contenido del /var/log/httpd/ directorio para ver si Apache creó los archivos de registro:
Si todo está bien, debería ver un resultado similar a este:

# ls /var/log/httpd/
access_log  error_log  site1.citizix.com.error.log  site1.citizix.com.requests.log

Si todo está bien, Apache ahora servirá su nombre de dominio. Puede probar esto navegando a http://site1.citizix.com , donde debería ver algo como esto:

La captura de pantalla anterior confirma que el host virtual se configuró correctamente y sirve contenido.

Si necesita alojar varios otros sitios, repita los pasos anteriores para los sitios que desee.

Conclusión

Logramos instalar y configurar el servidor web Apache en las instrucciones anteriores en Centos 8 Server.


Cent OS
  1. Cómo instalar el servidor web Apache en CentOS 7

  2. Instale el servidor web Apache CentOS 6 / RHEL 6

  3. Instalar Apache Web Server en CentOS 8 - ¿Proceso paso a paso para hacerlo?

  4. Cómo instalar Apache/httpd en CentOS 8 Linux

  5. Instalar Apache en CentOS 8

Cómo instalar el servidor web Cherokee en CentOS 6

Cómo instalar el servidor web Jetty en CentOS 7

Cómo instalar el servidor web Hiawatha en CentOS 7

Cómo instalar el servidor web Caddy en CentOS 7

Cómo instalar el servidor web Apache en Ubuntu 18.04

Cómo instalar el servidor web Caddy en CentOS 8