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.
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
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.