Comment installer et configurer Apache sur Centos / Rhel 8
- 578
- 83
- Noa Faure
Centos 8 est la dernière version du système d'exploitation Centos Linux, qui est basé sur Red Hat Enterprise Linux 8. Dans ce tutoriel, nous vous aiderons à installer le serveur Web Apache sur le système CentOS 8 ou RHEL 8 avec une configuration et une sécurité supplémentaires.
Préalables
- Accès SSH au système CentOS / RHEL 8
- Sudo privilégie l'utilisateur pour installer des packages
Étape 1 - Installez Apache sur Centos 8
Tout d'abord, connectez-vous à votre système CENTOS 8 ou RHEL 8 via SSH. Installez ensuite les packages de serveur APACHE2 HTTP à l'aide de la commande suivante. Cela installera également des packages requis supplémentaires sur votre système.
sudo dnf installer httpd
Attendez l'installation complète
Étape 2 - Gérer le service Apache
Le service Apache est géré avec la ligne de commande SystemCTL sur Centos / Rhel 8. Après l'installation, utilisez la commande suivante pour activer le service Apache, puis le démarrer.
sudo systemctl activer httpd.Service sudo systemctl start httpd.service
Voici les autres commandes pour arrêter et redémarrer le service Apache via la ligne de commande.
sudo systemctl stop apache2.Service sudo systemctl redémarrer apache2.service
Étape 3 - Testez la configuration d'Apache
Vous pouvez afficher les détails de la version Apache installés à l'aide de la commande suivante.
Version du serveur httpd -v: apache / 2.4.37 (CentOS) Serveur construit: 7 octobre 2019 21:42:02
Créer une page HTML de test sous le répertoire racine du document par défaut (/ var / www / html).
sudo echo "Bonjour Tecadmin.net "> / var / www / html / index.html
Accédez maintenant à votre serveur Apache à l'aide de l'adresse IP du serveur ou d'un domaine pointé sur l'IP du serveur.
Étape 4 - Création de VirtualHost
Créons le premier hôte virtuel sur votre serveur Apache. Pour le tutoriel, nous utilisons l'exemple du domaine de l'échantillon.com ». Ici, nous créerons un hôte virtuel par exemple.com sur le port 80.
Créez un exemple de fichier d'index dans un répertoire:
sudo mkdir -p / var / www / exemple.com echo "Hello Exemple.com "| sudo tee / var / www / exemple.com / index.html
Créez ensuite le fichier de configuration VirtualHost et modifiez dans l'éditeur:
sudo vim / etc / httpd / confre.d / exemple.com.confli
Ajouter le contenu suivant à la fin du fichier de configuration. Vous pouvez modifier le nom de domaine selon votre domaine.
ServerAdmin Admin @ Exemple.com documentroot / var / www / exemple.COM ServerName Exemple.com servealias www.exemple.com #Allowoverride All ### Uncomment si requis des journaux d'erreur / exemple.com_error.Journal des journaux / exemple de journal Customlog.com_accé.journal combiné12345678910111213 |
Enregistrez le fichier de configuration VirtualHost et rechargez le service Apache à l'aide des commandes suivantes:
sudo systemctl reload httpd.service
Étape 5 - Configurer SSL VirtualHost
Vous pouvez ignorer cette étape si vous n'avez pas besoin de SSL. Mais la sécurité est toujours la principale préoccupation de tout site Web. Pour utiliser SSL avec Apache, installez le package MOD_SSL sur votre système.
sudo dnf installer mod_ssl
Pour le tutoriel, j'ai suivi ces instructions pour générer un certificat SSL auto-signé pour notre domaine.
Vous pouvez soit utiliser / etc / httpd / conf / ssl.confli Pour l'hôte virtuel SSL ou vous pouvez utiliser un fichier de configuration d'hôte virtuel distinct pour votre domaine. Par exemple:
sudo vim / etc / httpd / confre.d / exemple.com_ssl.confli
avec le contenu suivant:
ServerAdmin Admin @ Exemple.com documentroot / var / www / exemple.COM ServerName Exemple.com servealias www.exemple.com #allowoverride tout ### inconvénient si nécessaire sslengine sur sslcertificatefile / etc / pki / tls / certs / exemple.com.CRT SSLCertificateKeyFile / etc / PKI / TLS / CERTS / Exemple.com.Journaux / exemple d'erreur de clé.com_ssl-error.Journal des journaux / exemple de journal Customlog.com_ssl-accès.journal combiné123456789101112131415161718 |
Voici trois termes utilisés pour configurer SSL VirtualHost:
- Sslengine - Réglez ceci sur «ON»
- Sslcertificatefile - Définissez le chemin de votre certificat SSL
- Sslcertificatekeyfile - Il s'agit des fichiers de clés privés utilisés pour générer un certificat SSL
Après cela, activez le VirtualHost et rechargez le service Apache à l'aide des commandes suivantes:
Sudo Systemctl Reload apache2.service
Étape 6 - Sécugeler le serveur Apache
La sécurité est la partie la plus importante de l'hébergement. Les pirates sont prêts à exploiter votre serveur Web. Modifier le fichier de configuration principale Apache
sudo vim / etc / httpd / conf / httpd.confli
Ajoutez les valeurs suivantes à la fin du fichier:
SERVERTOKENS PRODE SERVERSIGNATURATURE OFFRABLE OFF OFF123 | SERVERTOKENS PRODE SERVERSIGNATURATURE OFFRABLE OFF OFF |
Après cela, modifiez le fichier de configuration SSL par défaut Apache:
sudo vim / etc / httpd / confre.d / ssl.confli
Voici les multiples paramètres liés à la sécurité. Ajouter ou mettre à jour les paramètres suivants. Nous n'allons pas dans des descriptions détaillées à ce sujet, mais ces paramètres sont très utiles pour les serveurs de production.
#Rules tirées de https: // cipherli.ST / SSLCIPHERSuite EECDH + AESGCM: EDH + AESGCM # nécessite Apache 2.4.36 & OpenSSL 1.1.1 sslprotocol -all + tlsv1.3 + tlsv1.2 SSLOPENSSLCONFCMD CURVES X25519: SECP521R1: SECP384R1: PRIME256V1 # Versions anciennes # SSLProtocol All -SSLV2 -SSLV3 -TLSV1 -TLSV1.1 SSLHONORCIPHERORDORDOR sur l'en-tête Réglez toujours Strict-Transport-Security "Max-Age = 63072000; includeBdomains; Preload" En-tête toujours définir les options X-Frame-Options de refuser toujours.4 SSLCOMPRESSION OFF SSLUSESTAPLING SUR SSLSTAPLINGCACHE "SHMCB: LOGS / STAPLING-CACH (150000)" # Nécessite Apache> = 2.4.11 SSLSessionTickets123456789101112131415161718 | #Rules tirées de https: // cipherli.ST / SSLCIPHERSuite EECDH + AESGCM: EDH + AESGCM # nécessite Apache 2.4.36 & OpenSSL 1.1.1SSLProtoCol -all + Tlsv1.3 + tlsv1.2SSLOPENSSLCONFCMD CURVES X25519: SECP521R1: SECP384R1: PRIME256V1 # Versions anciennes # SSLProtocol All -SSLV2 -SSLV3 -TLSV1 -TLSV1.1SSLHONORCIPHERORDORDER ONHEADER REGING TOUJOURS STRICT-TRANSPORT-SECURITY "MAX-AGE = 63072000; inclutUbdomains; Preload" En-tête toujours définir des options X-Frame-Options Denyheader toujours définir X-CONTENT-TYPE-OPTIONS NOSNIFF # nécessite Apache> = 2.4SSLCOMPRESSION OFFSSLUSESTAPLING ONSSLSTAPLINGCACHE "SHMCB: LOGS / STAPLING-CACH (150000)" # nécessite Apache> = 2.4.11SSLSESSESSICKETS |
Après avoir apporté des modifications à redémarrer le service Apache pour appliquer la nouvelle configuration.
Sudo Systemctl Reload apache2.service
Conclusion
Tout cela, vous exécutez un serveur Apache sécurisé sur votre système CENTOS 8 ou RHEL 8 Linux.
- « Comment installer Apache avec PHP-FPM sur Ubuntu 18.04 LTS
- Comment tuer un processus exécuté sur un port spécifique »