El servidor Apache HTTP es el servidor web más popular del mundo. Es un servidor HTTP gratuito, de código abierto y multiplataforma que proporciona funciones potentes que se pueden ampliar con una amplia variedad de módulos. Las siguientes instrucciones describen cómo instalar y administrar el servidor web Apache en su máquina CentOS 7.
Requisitos previos #
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando Apache #
Apache está disponible en los repositorios predeterminados de CentOS y la instalación es bastante sencilla.
En CentOS y RHEL, el paquete Apache y el servicio se llaman httpd
. Para instalar el paquete, ejecute el siguiente comando:
sudo yum install httpd
Una vez completada la instalación, habilite e inicie el servicio Apache:
sudo systemctl enable httpd
sudo systemctl start httpd
Ajuste del cortafuegos #
Si su servidor está protegido por un firewall, debe abrir los puertos HTTP y HTTPS, 80
y 443
. Use los siguientes comandos para abrir los puertos necesarios:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Verificación de la instalación de Apache #
Ahora que tenemos Apache instalado y ejecutándose en nuestro servidor CentOS 7, podemos verificar el estado y la versión del servicio Apache, con:
sudo 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 Thu 2018-04-26 07:13:07 UTC; 11s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 3049 (httpd)
...
sudo httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2017 20:39:16
Finalmente, para verificar si todo funciona correctamente, abra la dirección IP de su servidor http://YOUR_IP
en el navegador de su elección y verá la página de bienvenida predeterminada de CentOS 7 Apache como se muestra a continuación:
Administración del servicio Apache #
Puede administrar el servicio Apache de la misma manera que cualquier otra unidad systemd.
Para detener el servicio de Apache, ejecute:
sudo systemctl stop httpd
Para iniciarlo de nuevo, escriba:
sudo systemctl start httpd
Para reiniciar el servicio Apache:
sudo systemctl restart httpd
Para volver a cargar el servicio de Apache después de realizar algunos cambios de configuración:
sudo systemctl reload httpd
Si desea deshabilitar el servicio de Apache para que se inicie en el arranque:
sudo systemctl disable httpd
Y para volver a habilitarlo de nuevo:
sudo systemctl enable httpd
Estructura y mejores prácticas del archivo de configuración de Apache #
- Todos los archivos de configuración de Apache se encuentran en
/etc/httpd
directorio. - El archivo de configuración principal de Apache es
/etc/httpd/conf/httpd.conf
. - Todos los archivos de configuración que terminan en
.conf
ubicado en el/etc/httpd/conf.d
están incluidos en el archivo de configuración principal de Apache. - Los archivos de configuración que son responsables de cargar varios módulos de Apache se encuentran en
/etc/httpd/conf.modules.d
directorio. - Para una mejor capacidad de mantenimiento, se recomienda crear un archivo de configuración independiente (vhost) para cada dominio.
- Los nuevos archivos vhost de Apache deben terminar con
.conf
y ser almacenado en/etc/httpd/conf.d
directorio. Puede tener tantos hosts virtuales como necesite. - Es una buena idea seguir una convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es
mydomain.com
entonces el archivo de configuración debe llamarse/etc/httpd/conf.d/mydomain.com.conf
- Archivos de registro de Apache (
access_log
yerror_log
) se encuentran en el/var/log/httpd/
directorio. Se recomienda tener unaccess
diferente yerror
archivos de registro para cada host virtual. - Puede establecer el directorio raíz de documentos de su dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroot incluyen:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>