Servidor HTTP Apache
Apache HTTP Server, un servidor web de código abierto desarrollado por Apache Software Foundation. El servidor Apache se utiliza para alojar contenido web. Responde a las solicitudes de contenido de los navegadores web, como Internet Explorer y Firefox.
Nota :La publicación utiliza la distribución RHEL/CentOS 7 para instalar y configurar el servidor Apache. Aunque los comandos de inicio/detención/instalación pueden diferir, los pasos de configuración son los mismos en todas las distribuciones de Linux.Instalación de Apache
Para configurar su sistema como un servidor web, comience instalando el paquete de software httpd.
# yum install httpd
Use la utilidad systemctl para permitir que el demonio HTTP se inicie en el momento del arranque y también para iniciar el demonio inmediatamente.
# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. # systemctl start httpd
Archivos de configuración
El archivo de configuración principal de Apache es /etc/httpd/conf/httpd.conf . Un directorio auxiliar, /etc/httpd/conf.d , también existe para almacenar archivos de configuración que se incluyen en el archivo de configuración principal. Los archivos de configuración que cargan módulos están en /etc/httpd/conf.modules.d directorio.
Nuevos subcomandos de apachectl en CentOS / RHEL 7
Hay nuevos subcomandos de apachectl disponibles en CentOS/RHEL 7. El siguiente ejemplo usa configtest subcomando para comprobar la configuración en busca de posibles errores.
# apachectl configtest
Usa el elegante subcomando para recargar la configuración sin afectar las solicitudes activas.
# apachectl graceful
Configuración de Apache
El archivo de configuración principal de Apache es /etc/httpd/conf/httpd.conf . Apache se ejecuta tal como está instalado, pero puede modificar las directivas de configuración en este archivo para personalizar Apache para su entorno. Algunas de estas directivas se describen en la publicación a continuación.
Servidor Apache HTTP:directivas de configuración más utilizadasPrueba del servidor Apache HTTP
Puede confirmar que Apache está funcionando apuntando un navegador en el sistema local a http://localhost como se muestra en la imagen a continuación. También puede apuntar un navegador a http:// seguido de la dirección IP pública del servidor o el ServerName directiva que especificó en el archivo de configuración. La página de prueba que se muestra a continuación confirma el funcionamiento del servidor Apache HTTP.
Para probar la visualización del contenido real, cree un archivo HTML llamado index.html en el directorio especificado por la directiva DocumentRoot (el directorio predeterminado es /var/www/html ). Apache muestra automáticamente el archivo index.html en este directorio, si existe.
Contenedores Apache
Los contenedores de Apache son directivas de configuración especiales que agrupan otras directivas. Los contenedores usan etiquetas de estilo XML, lo que significa que el comienzo de un contenedor es
Servidores virtuales Apache
Apache admite hosts virtuales, lo que significa que un solo servidor Apache puede responder a solicitudes dirigidas a varias direcciones IP o nombres de host. Cada host virtual puede proporcionar contenido y configurarse de manera diferente.
Puede configurar hosts virtuales de dos maneras:
1. Hosts virtuales basados en IP (host-by-IP)
host por IP
Con host-by-IP, cada host virtual tiene su propia combinación de dirección IP y puerto. El servidor web Apache responde a la dirección IP que resuelve el host. Se requiere Host-by-IP para atender las solicitudes HTTPS debido a las restricciones en el protocolo de capa de sockets seguros (SSL).
host-por-nombre
Con host-by-name, todos los hosts virtuales comparten la dirección IP común. Apache responde a la solicitud asignando el nombre de host en la solicitud a ServerName y ServerAlias directivas en el archivo de configuración del host virtual en particular.
Utilice el contenedor
El siguiente ejemplo es una configuración simple de hosts virtuales basada en nombres:
<VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/example1 ErrorLog example1.error_log </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias www.example2.com DocumentRoot /var/www/example2 ErrorLog example2.error_log </VirtualHost>