Cómo instalar y configurar Apache en CentOS/RHEL 8
- 2071
- 473
- Jaime Delgadillo
Centes 8 es el último lanzamiento del sistema operativo CentOS Linux, que se basa en Red Hat Enterprise Linux 8. En este tutorial, le ayudaremos a instalar el servidor web Apache en el sistema CentOS 8 o Rhel 8 con configuración y seguridad adicionales.
Referencias
- Acceso ssh al sistema CentOS/RHEL 8
- SUDO privilegios al usuario para instalar paquetes
Paso 1: instale Apache en Centos 8
En primer lugar, inicie sesión en su sistema CentOS 8 o Rhel 8 a través de SSH. Luego instale los paquetes del servidor HTTP APOCHE2 usando el siguiente comando. Esto también instalará paquetes requeridos adicionales en su sistema.
sudo dnf install httpd
Espere la instalación completa
Paso 2 - Administrar el servicio Apache
El servicio Apache se gestiona con la línea de comando SystemCTL en CentOS/RHEL 8. Después de la instalación, use el siguiente comando para habilitar el servicio Apache y luego iniciarlo.
sudo systemCtl habilita httpd.servicio sudo systemctl iniciar httpd.servicio
Aquí están los otros comandos para detener y reiniciar el servicio Apache a través de la línea de comandos.
sudo systemctl stop apache2.servicio sudo systemctl reiniciar apache2.servicio
Paso 3: prueba la configuración de Apache
Puede ver los detalles de la versión de Apache instalado utilizando el siguiente comando.
httpd -v versión del servidor: apache/2.4.37 (CentOS) servidor construido: 7 de octubre de 2019 21:42:02
Cree una página de prueba HTML en el directorio raíz de documento predeterminado (/var/www/html).
sudo echo "hola tecadmin.net ">/var/www/html/index.html
Ahora acceda a su servidor Apache utilizando la dirección IP del servidor o un dominio apuntado a la IP del servidor.
Paso 4 - Creación de virtualhost
Creemos el primer host virtual en su servidor Apache. Para el tutorial, estamos utilizando el dominio de la muestra "Ejemplo.com ". Aquí crearemos un host virtual, por ejemplo,.com en el puerto 80.
Cree un archivo de índice de muestra en un directorio:
sudo mkdir -p/var/www/ejemplo.com echo "Hola ejemplo.com "| sudo tee/var/www/ejemplo.com/índice.html
Luego cree un archivo de configuración VirtualHost y edite en el editor:
sudo vim/etc/httpd/conf.D/Ejemplo.comunicarse.confusión
Agregue el siguiente contenido al final del archivo de configuración. Puede cambiar el nombre de dominio según su dominio.
ServerAdmin [email protected] documentroot/var/www/ejemplo.COM Ejemplo de nombre de nombre.com serveralias www.ejemplo.com #allowoverride all ### Uncomment si se requiere errores de error/ejemplo.com_error.Registro de registro de registros/ejemplo.com_access.registro combinado12345678910111213 |
Guarde el archivo de configuración de VirtualHost y vuelva a cargar el servicio Apache utilizando los siguientes comandos:
sudo systemctl recargar httpd.servicio
Paso 5 - Configurar SSL VirtualHost
Puedes omitir este paso si no necesitas SSL. Pero la seguridad siempre es la principal preocupación para cualquier sitio web. Para usar SSL con Apache, instale el paquete MOD_SSL en su sistema.
sudo dnf instalación mod_ssl
Para el tutorial, he seguido estas instrucciones para generar un certificado SSL autoestrado para nuestro dominio.
Puedes usar /etc/httpd/conf/ssl.confusión Para el host virtual SSL o puede usar un archivo de configuración de host virtual separado para su dominio. Por ejemplo:
sudo vim/etc/httpd/conf.D/Ejemplo.com_ssl.confusión
Con el siguiente contenido:
ServerAdmin [email protected] documentroot/var/www/ejemplo.COM Ejemplo de nombre de nombre.com serveralias www.ejemplo.com #allowoverride all ### Uncomment si es necesario sslEngine en sslcertificateFile/etc/pki/tls/certs/ejemplo.comunicarse.CRT SSLCertificAtekeyFile/Etc/PKI/TLS/Certs/Ejemplo.comunicarse.Ligos/Ejemplo de Ligas de error de clave.com_ssl-error.Registro de registro de registros/ejemplo.com_ssl-access.registro combinado123456789101112131415161718 |
Aquí hay tres términos utilizados para configurar SSL VirtualHost:
- SSLEGIN - Establecer esto en "On"
- Sslcertificatefile - Establezca la ruta de su certificado SSL
- Sslcertificatekeyfile - Estos son los archivos de clave privados utilizados para generar el certificado SSL
Después de eso, habilite el VirtualHost y vuelva a cargar el servicio Apache utilizando los siguientes comandos:
sudo systemctl recarga apache2.servicio
Paso 6 - Secure Apache Server
La seguridad es la parte más importante del alojamiento. Los piratas informáticos están listos para explotar su servidor web. Editar archivo de configuración principal de Apache
sudo vim/etc/httpd/conf/httpd.confusión
Agregue los siguientes valores al final del archivo:
Servertokens propersignature de spersing apagado123 | Servertokens propersignature de spersing apagado |
Después de eso, edite el archivo de configuración SSL predeterminado de Apache:
sudo vim/etc/httpd/conf.D/SSL.confusión
Aquí están las múltiples configuraciones relacionadas con la seguridad. Agregar o actualizar la siguiente configuración. No vamos en descripciones detalladas al respecto, pero estas configuraciones son muy útiles para los servidores de producción.
#Rules tomados de https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM # requiere Apache 2.4.36 & openssl 1.1.1 sslprotocol -alt +tlsv1.3 +TLSV1.2 Curvas SSLOPensSLCONFCMD X25519: SECP521R1: SECP384R1: Prime256v1 # Versiones más antiguas # SSLProtocol All -SSLV2 -SSLV3 -TLSV1 -TLSV1.1 sslhonorcipherorder en el encabezado siempre establezca la seguridad de transporte estricto "max-edad = 63072000; incluye tubdomains; precarga" encabezado siempre establece las opciones X-frame denegar el encabezado siempre establecer x-contento-options nosniff # requiere apache> = 2.4 SSLCompression Off sslusEsTapling en sslstaplingcache "shmcb: logs/grapling-cache (150000)" # requiere apache> = 2.4.11 sslsessiontickets apagados123456789101112131415161718 | #Rules tomados de https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM# requiere Apache 2.4.36 & openssl 1.1.1SslProtocol -alt +TLSV1.3 +TLSV1.2sslopensslconfcmd curvas X25519: SECP521R1: SECP384R1: Prime256v1# Versiones más antiguas# SSLProtocol All -SSLV2 -SSLV3 -TLSV1 -TLSV1.1sslhonorcipherorder Onheader siempre establezca la seguridad de transporte estricto "max-edad = 63072000; incluye tubdomains; precarga" encabezado siempre establece X-frame-options Denyheader siempre establece X-Content-Type-Options Nosniff# requiere Apache> = 2.4SSLCompression OffSslUsEsTapling OnsslStaplingCache "SHMCB: Logs/Stapling-Cache (150000)"# requiere Apache> = 2.4.11sslSessionTickets Off |
Después de hacer cambios, reinicie el servicio Apache para aplicar la nueva configuración.
sudo systemctl recarga apache2.servicio
Conclusión
Todo listo, está ejecutando un servidor Apache seguro en su sistema CentOS 8 o Rhel 8 Linux.
- « Cómo instalar Apache con PHP-FPM en Ubuntu 18.04 LTS
- Cómo matar un proceso que se ejecuta en un puerto específico »