Cómo instalar Apache con host virtual en Centos 8

Cómo instalar Apache con host virtual en Centos 8

El apache WebServer es un servidor web HTTP popular y OpenSource que continúa disfrutando de una cuota de mercado masiva en la industria de alojamiento. Se envía con cargas de características que incluyen mejoras de módulos, soporte de múltiples protocolos, configuración simplificada y soporte de varios idiomas para mencionar solo unos pocos.

Leer también: Cómo instalar Nginx en Centos 8

En esta guía, lo guiaremos a través de la instalación del apache servidor web en Centos 8 y Rhel 8 con un entorno de host virtual. Al momento de escribir este tutorial, la última versión de Apache es Apache 2.2.43.

Instalación del servidor web Apache

Para comenzar, primero actualice su Centos 8 o Rhel 8 Lista de paquetes del sistema utilizando el siguiente comando DNF.

$ sudo dnf actualización 

Una vez que se complete la actualización, instale apache servidor web ejecutando el siguiente comando.

$ sudo dnf install httpd 

Una vez instalado, puede verificar la versión de Apache ejecutando el comando rpm.

$ rpm -qi httpd 
Verificar la versión Apache

El comando imprime una variedad de información como la versión, la fecha de lanzamiento, la compilación y la arquitectura del paquete.

Para iniciar el servicio web Apache HTTP, ejecute el comando SYSTEMCTL.

$ sudo systemctl iniciar httpd 

Para confirmar si el servicio se está ejecutando, ejecute.

$ sudo systemctl status httpd 
Verificar el estado del servicio Apache

Desde la salida, el 'activo'El estado en verde indica que el servidor web de Apache está en funcionamiento.

Para borrar cualquier duda de que el servidor web se esté ejecutando, solicite una página de prueba desde Apache navegando por la dirección IP o el nombre de dominio de su servidor como se muestra.

http: // servidor-ip 

Puede obtener su IP de servidor ejecutando el comando ifconfig. Si su servidor está alojado en la nube, puede obtener la IP pública ejecutando el comando curl.

$ curl ifconfig.yo o $ curl -4 icanhazip.comunicarse 
Encontrar la dirección IP del servidor CentOS

Cuando navega por la dirección IP del servidor, debe mostrar la siguiente página web.

Verifique la página web de Apache

Esta es una confirmación segura de que el servidor web se está ejecutando.

Administración de servidores web de Apache

Con apache Instalado y en ejecución, puede usar el systemctl Herramienta de inspección para administrar Apache.

Por ejemplo, para detener a Apache, ejecute el comando:

$ sudo systemctl stop httpd 

Para comenzar el servicio una vez más, ejecute:

$ sudo systemctl iniciar httpd 

Si ha realizado cambios en cualquiera de sus archivos de configuración y debe reiniciar para aplicar los cambios, ejecute el comando:

$ sudo systemctl reiniciar httpd 

Reiniciar el servicio generalmente causa una interrupción del servicio. Una mejor alternativa es simplemente recargar sin ninguna interrupción con la conexión.

$ sudo systemctl recargar httpd 

Para iniciar el servidor web Apache automáticamente al iniciar o reiniciar Ejecute el comando a continuación. Esto asegurará que Apache comience automáticamente sin su intervención.

$ sudo systemctl habilitar httpd 

Si elige no iniciar el servicio automáticamente en el arranque, ejecute:

$ sudo systemctl deshabilitar httpd 

Configuración de los hosts virtuales Apache

Por defecto, el servidor web de Apache está configurado para servir o alojar solo un sitio web. Si desea alojar solo un sitio web, entonces no es necesario este paso. Pero en el caso de que planee alojar múltiples dominios en su servidor, debe configurar los hosts virtuales de Apache.

Un host virtual es un archivo separado que contiene configuraciones que le permiten configurar un dominio separado del predeterminado. Para esta guía, configuraremos un host virtual para el dominio Crazytechgeek.información.

El host virtual predeterminado se encuentra en el /var/www/html directorio. Esto funciona solo para un solo sitio. Para crear un host virtual separado para nuestro dominio, crearemos otra estructura de directorio dentro del /var/www directorio como se muestra.

$ sudo mkdir -p/var/www/crazytechgeek.info/html 

Además, también puede crear un directorio para almacenar archivos de registro.

$ sudo mkdir -p/var/www/crazytechgeek.Información/registro 

A continuación, edite los permisos de archivo Use el $ Usuario Variable de entorno como se muestra.

$ sudo chown -r $ user: $ user/var/www/crazytechgeek.info/html 

Además, ajuste los permisos del directorio de treulación web como se muestra.

$ sudo chmod -r 755 /var /www 

A continuación, cree una muestra índice.html archivo como se muestra.

$ sudo vim/var/www/crazytechgeek.info/html/índice.html 

Hacer la carta 'i' en el teclado y pegue un contenido de muestra como se muestra que se mostrará en el navegador web al probar el host virtual.

  Bienvenido a CrazyTechgeek.información!   

Éxito! El CrazyTechgeek.Info Virtual Host está activo y funciona perfectamente!

Guardar y salir del archivo de configuración.

Con el archivo de índice de muestra y el directorio de sitio creado, ahora puede proceder y crear el archivo de host virtual. El archivo de host virtual contendrá la configuración del sitio de su dominio e instruirá a Apache cómo responderá a las solicitudes de los clientes.

El archivo de host virtual contendrá la configuración del sitio de su dominio e instruirá a Apache cómo responderá a las solicitudes de los clientes. Pero procediendo, debe crear 2 directorios: el sitios disponibles y sitios habilitados directorios.

El archivo de host virtual se almacenará en el sitios disponibles directorio mientras el sitios habilitados El directorio contendrá el enlace simbólico al host virtual.

Crear ambos directorios como se muestra.

$ sudo mkdir/etc/httpd/sites disponible $ sudo mkdir/etc/httpd/sites habilitado 

A continuación, modifique el archivo de configuración principal del servidor web de Apache e instruya a Apache dónde localizar el host virtual dentro del directorio habilitado para sitios.

$ sudo vim/etc/httpd/conf/httpd.confusión 

Agregue la línea como se muestra al final del archivo de configuración.

Incluir sitios de inclusión habilitado/*.confusión 

Guardar y Salir.

Ahora cree un archivo de host virtual como se muestra:

$ sudo vim/etc/httpd/sites disponible/crazytechgeek.información 

Pegue el contenido a continuación y reemplace Crazytechgeek.información con tu propio nombre de dominio.

 Nombre del servidor www.Crazytechgeek.información Servidoralias Crazytechgeek.información Documentroot/var/www/Crazytechgeek.información/HTML ErrorLog/var/www/Crazytechgeek.información/registro/error.Log customLog/var/www/Crazytechgeek.información/log/solicitudes.registro combinado  

Guardar y salir del archivo.

Ahora habilite el archivo de host virtual creando un enlace simbólico en el sitios habilitados directorio.

$ sudo ln -s/etc/httpd/sites disponible/Crazytechgeek.información.conf/etc/httpd/sites-habilitado/crazytechgeek.información.confusión 

Ajustar los permisos de Selinux para hosts virtuales

Centos 8 y Rhel 8 envasado con Selinux que es un módulo de seguridad para fortalecer la seguridad del sistema Linux. Dado que configuró una personalizada registro Directorio En el paso anterior, debe actualizar algunas políticas de Selinux para instruir al servidor web de Apache que escriba en el directorio.

Hay 2 enfoques para ajustar las políticas de Selinux Apache: ajustar las políticas de ajuste universalmente y las políticas en un directorio. Se prefiere este último porque es más preferido.

Ajustar las políticas de Selinux en un directorio

Edición Selinux Los permisos para el directorio de registro le brindan un control absoluto sobre las políticas del servidor web de Apache. Este método es bastante largo y requiere que configure manualmente el tipo de contexto para directorios adicionales especificados en el archivo de configuración del host virtual.

Antes de comenzar, primero confirme el tipo de contexto asignado al directorio de registro de Selinux:

$ sudo ls -dlz/var/www/crazytechgeek.info/registro/ 

La salida debe ser similar a lo que tenemos a continuación.

Establecer políticas de Selinux en el directorio de registro de Apache

Desde la salida, el contexto establecido es httpd_sys_content_t. Esto indica que el servidor web solo puede leer archivos en el directorio de registro. Necesitas cambiar este contexto a httpd_log_t para habilitar Apache para generar y agregar entradas de registro al directorio.

Por lo tanto, ejecute el comando:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/registro (/.*)?" 

Si recibe el error a continuación "Semanage: comando no encontrado".

Implica que los paquetes que proporcionan el semanago El comando no está instalado. Para corregir este error, debe instalar esos paquetes. Pero primero, verifique qué paquetes proporcionan el comando de semanaja ejecutando:

$ sudo dnf whatprovides/usr/sbin/semanage 

La salida nos da el paquete que proporciona semanage, que es PolicyCoreutils-Python-Utils.

Ahora instale el paquete como se muestra utilizando el administrador de paquetes DNF.

$ sudo DNF Instalar Política Coreutils-Python-Utils 

El comando para cambiar el contexto ahora debería funcionar.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/registro (/.*)?" 

Para guardar los cambios y hacerlos persistentes, emita el restaurante Comando como se muestra:

$ sudo restaurecon -r -v/var/www/crazytechgeek.Información/registro 

Puede confirmar los cambios ejecutando una vez más el comando:

$ sudo ls -dlz/var/www/crazytechgeek.info/registro/ 
Verifique el tipo de contexto Selinux

Asegúrese de tener en cuenta que el tipo de contexto ha cambiado a httpd_log_t Como se ve en la salida.

Reiniciar Apache para los cambios a aplicar.

$ sudo systemctl reiniciar httpd 

Ahora puede confirmar si Apache está guardando archivos de registro en el directorio de registro en enumerar su contenido como se muestra:

$ ls -l/var/www/crazytechgeek.info/registro/ 

Debería poder ver dos archivos de registro como se muestra: registro de errores y solicitar archivos de registro.

Verifique los archivos de registro de Apache

Prueba de Apache Virtual Host

Por último, debe asegurarse de que el servidor web de Apache esté sirviendo a su archivo de host virtual. Para hacer esto, abra su navegador y vaya a la dirección IP o el nombre de dominio de su servidor:

http: // nombre de dominio 
Consulte el host virtual Apache para el sitio web

Perfecto! Esto indica que todo salió bien y nuestro anfitrión virtual se está sirviendo como se esperaba.

Conclusión

En esta guía, hemos aprendido a instalar el apache servidor web en Centos 8 y Rhel 8 y también cómo configurar un archivo de host virtual para servir contenido para un dominio adicional. Siéntase libre de configurar múltiples archivos de host virtuales a medida que lo considera adecuado para acomodar dominios adicionales.

Si desea configurar una pila de alojamiento completa, le recomendé que instale una pila de lámparas en Centos 8.