Cómo instalar Apache con Virtual Host en CentOS 8

los apache El servidor web es un servidor web HTTP de código abierto y popular que continúa teniendo una cuota de mercado masiva en la industria del alojamiento. Viene con una variedad de características, que incluyen mejoras de módulos, compatibilidad con múltiples protocolos, configuración simplificada y compatibilidad con múltiples idiomas, por nombrar algunas.

también lee: Cómo instalar Nginx en CentOS 8

En este manual, lo guiaremos a través de la instalación de apache Servidor web CentOS 8 y RHEL 8 con un entorno de host virtual Al momento de escribir este tutorial es la última versión de Apache Apache 2.2.43.

Instalar el servidor web Apache

Primero actualiza el tuyo CentOS 8 o RHEL 8 Lista de paquetes del sistema con el siguiente comando dnf.

$ sudo dnf update

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

$ sudo dnf install httpd

Después de la instalación, puede verificar la versión de Apache ejecutando el comando rpm.

$ rpm -qi httpd
Verifique la versión de Apache

Verifique la versión de Apache

El comando imprime un rango de información, p. B. Versión, fecha de lanzamiento, compilación y arquitectura del paquete.

Ejecute el comando systemctl para iniciar el servicio web Apache HTTP.

$ sudo systemctl start httpd

Ejecutar para confirmar si el servicio se está ejecutando.

$ sudo systemctl status httpd
Verifique el estado del servicio Apache

Verifique el estado del servicio Apache

La salida se convierte en elactivoEl estado verde indica que el servidor web Apache se está ejecutando.

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

http://server-ip  

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

$ curl ifconfig.me 
OR
$ curl -4 icanhazip.com
Encuentre la dirección IP del servidor CentOS

Encuentre la dirección IP del servidor CentOS

Cuando explora la dirección IP del servidor, debe aparecer la siguiente página web.

Consulte el sitio web de Apache

Consulte el sitio web de Apache

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

Administrar el servidor web Apache

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

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

$ sudo systemctl stop httpd

Para reiniciar el servicio, haga lo siguiente:

$ sudo systemctl start httpd

Si ha realizado cambios en uno de los archivos de configuración y necesita reiniciar para aplicar los cambios, ejecute el siguiente comando:

$ sudo systemctl restart httpd

Reiniciar el servicio generalmente resulta en una interrupción del servicio. Una mejor alternativa es simplemente recargar sin interrumpir la conexión.

$ sudo systemctl reload httpd

Ejecute el siguiente comando para iniciar automáticamente el servidor web Apache al arrancar o reiniciar. Esto asegura que Apache se inicie automáticamente sin su intervención.

$ sudo systemctl enable httpd

Si no desea que el servicio se inicie automáticamente en el arranque, haga lo siguiente:

$ sudo systemctl disable httpd

Configurar hosts virtuales Apache

Por defecto, el servidor web Apache está configurado para alojar o alojar solo un sitio web. Si solo desea alojar un sitio web, este paso no es necesario. Sin embargo, si desea alojar varios dominios en su servidor, deberá configurar los hosts virtuales de Apache.

Un host virtual es un archivo separado que contiene configuraciones que le permiten configurar un dominio separado del dominio predeterminado. En esta guía, configuramos un host virtual para el dominio crazytechgeek.info.

El host virtual predeterminado está activado /var/www/html Directorio. Esto solo funciona para un solo sitio. Para crear un host virtual separado para nuestro dominio, creamos otra estructura de directorios dentro del /var/www Directorio como se muestra.

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

También puede crear un directorio para almacenar archivos de registro.

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

A continuación, edite los permisos de archivo con $USER Variable de entorno como se muestra.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Ajuste también los permisos del directorio webroot como se muestra.

$ sudo chmod -R 755 /var/www

Luego, crea un ejemplo index.html Archivo como se muestra.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

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


  
    Welcome to crazytechgeek.info!
  
  
    

Success! The crazytechgeek.info virtual host is up and perfectly working!

Guarde y salga del archivo de configuración.

Después de crear el archivo de índice de muestra y el directorio del sitio, ahora puede continuar y crear el archivo de host virtual. El archivo de host virtual contiene la configuración del sitio de su dominio y le dice a Apache cómo responder a las solicitudes de los clientes.

El archivo de host virtual contiene la configuración del sitio de su dominio y le dice a Apache cómo responder a las solicitudes de los clientes. Para continuar, debe crear dos directorios: el sites-available y sites-enabled Directorios

El archivo de host virtual se guarda en el sites-available Directorio durante el sites-enabled El directorio contiene el enlace simbólico al host virtual.

Cree ambos directorios como se muestra.

$ sudo mkdir /etc/httpd/sites-available
$ sudo mkdir /etc/httpd/sites-enabled

A continuación, cambie el archivo de configuración principal del servidor web Apache y dígale a Apache dónde está el host virtual en el directorio habilitado para el sitio.

$ sudo vim /etc/httpd/conf/httpd.conf

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

IncludeOptional sites-enabled/*.conf

Guardar y cerrar.

Ahora cree un archivo de host virtual de la siguiente manera:

$ sudo vim /etc/httpd/sites-available/crazytechgeek.info

Pega y reemplaza el siguiente contenido crazytechgeek.info con tu propio nombre de dominio.


    ServerName www.crazytechgeek.info
    ServerAlias crazytechgeek.info
    DocumentRoot /var/www/crazytechgeek.info/html
    ErrorLog /var/www/crazytechgeek.info/log/error.log
    CustomLog /var/www/crazytechgeek.info/log/requests.log combined

Guardar y salir del archivo.

Ahora active el archivo host virtual creando un enlace simbólico en el sites-enabled Directorio.

$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf

Ajuste los permisos de SELinux para hosts virtuales

CentOS 8 y RHEL 8 Se envía con SELinux Este es un módulo de seguridad para fortalecer la seguridad del sistema Linux. Como ha configurado una costumbre Iniciar sesión Directorio En el paso anterior, debe actualizar algunas políticas de SELinux para indicarle al servidor web Apache que escriba en el directorio.

Existen dos enfoques para personalizar las políticas de SELinux Apache: personalizar la personalización de políticas generales y las políticas en un directorio. Se prefiere este último porque es más preferido.

Personalice las políticas de SELinux en un directorio

Edición SELinux Con los permisos para el directorio de registro, tiene control absoluto sobre las pautas del servidor web 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 que SELinux asignó al directorio de registro:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

La salida debe ser similar a la de abajo.

Establezca las políticas de SELinux en el directorio de registro de Apache

Establezca las políticas de SELinux en el directorio de registro de Apache

El contexto establecido resulta de la salida httpd_sys_content_t. Esto indica que el servidor web solo puede leer archivos en el directorio de registro. Tienes que cambiar este contexto a httpd_log_t Para que Apache pueda generar entradas de registro y agregarlas al directorio.

Por lo tanto, ejecute el siguiente comando:

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

Si obtiene el error en «semanage: comando no encontrado».

Esto implica que los paquetes que son para el Semanage El comando no está instalado. Para corregir este error, necesita instalar estos paquetes. Sin embargo, primero verifique qué paquetes proporcionan el comando semanage haciendo lo siguiente:

$ sudo dnf whatprovides /usr/sbin/semanage

La salida nos da el paquete que proporciona Semanage, a saber policycoreutils-python-utils.

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

$ sudo dnf install policycoreutils-python-utils

El comando cambiar contexto ahora debería funcionar.

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

Gaste eso para guardar los cambios y hacerlos permanentes restablecer Comando como se muestra:

$ sudo restorecon -R -v /var/www/crazytechgeek.info/log

Puede confirmar los cambios ejecutando el comando nuevamente:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
Verifique el tipo de contexto SELinux

Verifique el tipo de contexto SELinux

Tenga en cuenta que el tipo de contexto ha cambiado a httpd_log_t como se ve en el tema.

Reinicie Apache para que los cambios surtan efecto.

$ sudo systemctl restart httpd

Ahora puede confirmar si Apache almacena archivos de registro en el directorio de registro enumerando los contenidos de la siguiente manera:

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

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

Verifique los archivos de registro de Apache

Probar el host virtual de Apache

Finalmente, debe asegurarse de que el servidor web Apache proporcione su archivo de host virtual. Para hacer esto, abra su navegador y llame la dirección IP o el nombre de dominio de su servidor:

http://domain-name
Compruebe Apache Virtual Host en el sitio web

Compruebe Apache Virtual Host en el sitio web

¡Perfecto! Esto indica que todo salió bien y nuestro host virtual se sirve como se esperaba.

Conclusión

En esta guía, aprendimos cómo instalarlo apache Servidor web CentOS 8 y RHEL 8 y también cómo configurar un archivo de host virtual para entregar contenido a un dominio adicional. Puede configurar múltiples archivos de host virtuales según sea necesario para acomodar dominios adicionales.

Si desea configurar una pila de hosting completa, le recomiendo instalar una pila LAMP en CentOS 8.

Deja una respuesta

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