Instalar apache en CentOS 7
Como Instalar apache en centos 7

Apache es el servidor web más popular, de código abierto y gratuito que se ejecuta en sistemas operativos Unix, Linux y también en sistemas operativos Windows. Desde su lanzamiento hace 20 años, ha sido el servidor web mas popular que alimenta varios sitios en Internet. Instalar apache web server en Centos 7.

Es fácil de instalar y configurar para alojar uno o varios sitios web en un mismo servidor Linux o Windos. En esta entrada, explicaremos cómo instalar, configurar y administrar tu apache web server en un servidor CentOS 7 o RHEL7 usando línea de comando.

Instalando Apache en CentOS7

Vamos a ver cómo instalar Apache en CentOS 7, apache esta disponible dentro de los repositorios de software predeterminados de CentOS, lo cual significa que puede instalarlo con el administrador de paquetes yum .

Primeramente actualizamos las listas de paquetes de los repositorios del sistema, como buena práctica antes de instalar cualquier nueva colección de paquetes.

[simterm][root@todolinux ~]# yum update
Complementos cargados:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.airenetworks.es
 * extras: mirror.airenetworks.es
 * updates: mirror.airenetworks.es
base                                                                                                                               | 3.6 kB  00:00:00
extras                                                                                                                             | 2.9 kB  00:00:00
updates                                                                                                                            | 2.9 kB  00:00:00
updates/7/x86_64/primary_db                                                                                                        |  11 MB  00:00:00
Resumen de la transacción
==========================================================================================================================================================
Instalar      6 Paquetes (+6 Paquetes dependientes)
Actualizar  197 Paquetes
Tamaño total de la descarga: 285 M
Is this ok [y/d/N]: y
Sustituido(s):
  grub2.x86_64 1:2.02-0.65.el7.centos.2          grub2-tools.x86_64 1:2.02-0.65.el7.centos.2          iwl7265-firmware.noarch 0:22.0.7.0-62.el7
¡Listo!
[root@todolinux ~]#
[/simterm]

Una vez se actualicen los paquetes, instalamos el paquete httpd, que es el que contiene Apache:

[simterm][root@todolinux ~]# yum install httpd -y
Complementos cargados:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.airenetworks.es
 * extras: mirror.airenetworks.es
 * updates: mirror.airenetworks.es
base                                                                                                                               | 3.6 kB  00:00:00
extras                                                                                                                             | 2.9 kB  00:00:00
updates                                                                                                                            | 2.9 kB  00:00:00
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete httpd.x86_64 0:2.4.6-97.el7.centos debe ser instalado
--> Procesando dependencias: httpd-tools = 2.4.6-97.el7.centos para el paquete: httpd-2.4.6-97.el7.centos.x86_64
--> Procesando dependencias: /etc/mime.types para el paquete: httpd-2.4.6-97.el7.centos.x86_64
--> Procesando dependencias: libaprutil-1.so.0()(64bit) para el paquete: httpd-2.4.6-97.el7.centos.x86_64
--> Procesando dependencias: libapr-1.so.0()(64bit) para el paquete: httpd-2.4.6-97.el7.centos.x86_64
--> Ejecutando prueba de transacción
---> Paquete apr.x86_64 0:1.4.8-7.el7 debe ser instalado
---> Paquete apr-util.x86_64 0:1.5.2-6.el7 debe ser instalado
---> Paquete httpd-tools.x86_64 0:2.4.6-97.el7.centos debe ser instalado
---> Paquete mailcap.noarch 0:2.1.41-2.el7 debe ser instalado
--> Resolución de dependencias finalizada
Dependencias resueltas
Tamaño total de la descarga: 3.0 M
Tamaño instalado: 10 M
Total                                                                                                                     4.8 MB/s | 3.0 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Instalado:
  httpd.x86_64 0:2.4.6-97.el7.centos
Dependencia(s) instalada(s):
  apr.x86_64 0:1.4.8-7.el7       apr-util.x86_64 0:1.5.2-6.el7       httpd-tools.x86_64 0:2.4.6-97.el7.centos       mailcap.noarch 0:2.1.41-2.el7
¡Listo!
[root@todolinux ~]#
[/simterm]

Administrando y configurando Aapche en CentOS7

Ahora que tenemos apache instalado, vamos a realizar las configuración de arranque automático.

[simterm][root@todolinux ~]# systemctl start httpd
[root@todolinux ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@todolinux ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since mar 2021-10-05 18:38:44 CEST; 14s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 8382 (httpd)
      Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
      CGroup: /system.slice/httpd.service
                   ├─8382 /usr/sbin/httpd -DFOREGROUND
                   ├─8383 /usr/sbin/httpd -DFOREGROUND
                   ├─8384 /usr/sbin/httpd -DFOREGROUND
                   ├─8385 /usr/sbin/httpd -DFOREGROUND
                   ├─8386 /usr/sbin/httpd -DFOREGROUND
                   └─8387 /usr/sbin/httpd -DFOREGROUND
oct 05 18:38:44 todolinux systemd[1]: Starting The Apache HTTP Server...
oct 05 18:38:44 todolinux httpd[8382]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::cfcb...s message
oct 05 18:38:44 todolinux systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@todolinux ~]#
[/simterm]

Cómo configurar el firewall de CentOS 7 para acceder al servidor Apache

De forma predeterminada, el firewall integrado de CentOS 7 está configurado para bloquear el tráfico de Apache. Para permitir el tráfico web en Apache, actualice las reglas del firewall del sistema para permitir paquetes entrantes en HTTP y HTTPS usando los comandos a continuación.

firewall-cmd --permanent --zone=public --add-service={http,https}

[simterm][root@todolinux ~]# firewall-cmd --permanent --zone=public --add-service={http,https}
success
[root@todolinux ~]# firewall-cmd --reload
success
[root@todolinux ~]#
[/simterm]

Ahora sí podemos acceder a nuestro servicio web Apache en CentOS 7 desde cualquier lugar de la red, usando como URL la dirección IP o el dominio del servidor.

Instalar apache en centos 7
Apache en CentOS7

Esta página indica que Apache funciona correctamente. También incluye información básica sobre archivos y ubicaciones de directorios importantes de Apache, ahora el servicio está instalado y en ejecución. La configuración predeterminada de Apache permitirá a su servidor host alojar un único sitio web. Si piensa alojar varios dominios en su servidor, deberá configurar hosts virtuales en su servidor web de Apache.

Configurar Apache en CentOS 7

Esta sección solo es útil si desea alojar más de un dominio (host virtual) en el mismo servidor web Apache. Hay muchas formas de configurar un host virtual, pero aquí explicaremos uno de los métodos más simples.

Primeramente creamos un fichero vhost.conf en el directorio /etc/httpd/conf.d . Agregue la siguiente plantilla de directiva de host virtual de ejemplo para el sitio web mytecmint.com, asegúrese de cambiar los valores necesarios para su propio dominio.

[simterm]root@todolinux conf.d]# vi /etc/httpd/conf.d/vhost.conf
[/simterm]
[simterm]NameVirtualHost *:80
<virtualhost *:80="">
    ServerAdmin webmaster@todolinux.local.lan
    ServerName todolinux.local.lan
    ServerAlias www.todolinux.local.lan
    DocumentRoot /var/www/html/todolinux.local.lan/
    ErrorLog /var/log/httpd/todolinux.local.lan/error.log
    CustomLog /var/log/httpd/todolinux.local.lan/access.log combined
</virtualhost>
/##/# Dominio Adicional /###/#####
<virtualhost *:80="">
    ServerAdmin webmaster@apache.local.lan
    ServerName apache.local.lan
    ServerAlias www.apache.local.lan
    DocumentRoot /var/www/html/apache.local.lan/
    ErrorLog /var/log/httpd/apache.local.lan/error.log
    CustomLog /var/log/httpd/apache.com/access.log combined
</virtualhost>
[/simterm]

Ahora creamos los directorios para el dominio web todolinux.local.lan referenciado en el bloque del VirtualHost.

[simterm][root@todolinux conf.d]# mkdir -p /var/www/html/todolinux.local.lan <-- [Document Root - Add Files]
[root@todolinux conf.d]# mkdir -p /var/log/httpd/todolinux.local.lan    <-- [Log Directory]
[/simterm]

Creamos un pagina index.html bajo la siguiente ruta /var/www/html/todolinux.local.lan/index.html

[simterm][root@todolinux conf.d]# echo «Welcome to my first WebPage» > /var/www/html/todolinux.local.lan/index.html
[root@todolinux conf.d]# echo «Welcome to my second WebPage» > /var/www/html/apache.local.lan/index.html
[/simterm]

Finalmente, reiniciamos el servicio de Apache para que surjan efecto los cambios.

[simterm][root@todolinux conf.d]# [root@todolinux conf.d]# systemctl restart httpd.service
[root@todolinux conf.d]# ^restart^status
systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since mar 2021-10-05 21:45:23 CEST; 25s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 18486 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 18555 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─18555 /usr/sbin/httpd -DFOREGROUND
           ├─18556 /usr/sbin/httpd -DFOREGROUND
           ├─18557 /usr/sbin/httpd -DFOREGROUND
           ├─18558 /usr/sbin/httpd -DFOREGROUND
           ├─18559 /usr/sbin/httpd -DFOREGROUND
           └─18560 /usr/sbin/httpd -DFOREGROUND
oct 05 21:45:23 todolinux systemd[1]: Starting The Apache HTTP Server...
oct 05 21:45:23 todolinux httpd[18555]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhost.conf:1
oct 05 21:45:23 todolinux httpd[18555]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::cfc...s message
oct 05 21:45:23 todolinux systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@todolinux conf.d]#
[/simterm]

Ahora hacemos una prueba de conexión a las paginas configuradas.

Fichero y directorios importantes de Apache

  • El directorio raíz predeterminado del servidor (directorio de nivel superior que contiene archivos de configuración): /etc/httpd
  • El archivo de configuración principal de Apache: /etc/httpd/conf/httpd.conf
  • Donde se pueden agregar configuraciones adicionales : /etc/httpd/conf.d/
  • Archivo de configuración del host virtual Apache: /etc/httpd/conf.d/vhost.conf
  • Configuraciones para módulos: /etc/httpd/conf.modules.d/
  • Directorio raíz de documentos del servidor predeterminado de Apache (almacena archivos web): /var/www/html
                 "Te dejo un enlace por si luego quieres aprender como configurar LVM en Linux"

Comparte

Categorías: ApacheWebServer

Víctor Arauco

With over 15 years of experience in the IT industry, including roles in development, operations, networking, DevOps, and sales engineering. I’m a devoted husband and proud father. I'm here to simplify your journey into the DevOps world.

4 comentarios

Iván Chiles · 7 de junio de 2022 a las 15:52

Excelente tutorial para instalar Apache. Me ha funcionado muy bien en CentOs 7.

    victor · 7 de junio de 2022 a las 16:31

    Hola Iván, me alegra que te haya gustado y servido.

Luis · 12 de enero de 2024 a las 19:43

Hola

Por que al querer abrir mi pagina principal me descarga un archivo, si lo abro en el bloc de notas es el index.php

Ayuda por favor

    Víctor Arauco · 16 de enero de 2024 a las 21:35

    Hola Luis,

    Esto sucede cuando el archivo .htaccess de tu sitio web contiene una línea AddHandler no válida.

    Para resolver el problema, localiza el archivo .htaccess de tu sitio web, abre el archivo en modo edición, ubica la línea o líneas que comienzan con AddHandler, elimínalas y guarda los cambios. Después de eso, limpia la memoria caché de tu navegador y abre tu sitio web nuevamente.

Deja una respuesta

Marcador de posición del avatar

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