GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Apache avec l'hôte virtuel sur CentOS 8

L'Apache webserver est un serveur Web HTTP open source et populaire qui continue de bénéficier d'une part de marché massive dans le secteur de l'hébergement. Il est livré avec de nombreuses fonctionnalités, notamment des améliorations de modules, une prise en charge multiprotocole, une configuration simplifiée et une prise en charge multilingue, pour n'en citer que quelques-unes.

Lire aussi :Comment installer Nginx sur CentOS 8

Dans ce guide, nous vous guiderons tout au long de l'installation d'Apache serveur Web sur CentOS 8 et RHEL 8 avec un environnement Virtual Host. Au moment de la rédaction de ce tutoriel, la dernière version d'Apache est Apache 2.2.43 .

Installation du serveur Web Apache

Pour commencer, mettez d'abord à jour votre CentOS 8 ou RHEL 8 liste de packages système à l'aide de la commande dnf suivante.

$ sudo dnf update

Une fois la mise à jour terminée, installez Apache serveur Web en exécutant la commande suivante.

$ sudo dnf install httpd

Une fois installé, vous pouvez vérifier la version d'Apache en exécutant la commande rpm.

$ rpm -qi httpd

Vérifier la version d'Apache

La commande affiche un tableau d'informations telles que la version, la date de sortie, la construction et l'architecture du package.

Pour démarrer le service Web Apache HTTP, exécutez la commande systemctl.

$ sudo systemctl start httpd

Pour confirmer si le service est en cours d'exécution, exécutez.

$ sudo systemctl status httpd

Vérifier l'état du service Apache

À partir de la sortie, le "actif L'état en vert indique que le serveur Web Apache est opérationnel.

Pour dissiper tout doute sur le fonctionnement du serveur Web, demandez une page de test à Apache en parcourant l'adresse IP ou le nom de domaine de votre serveur, comme indiqué.

http://server-ip  

Vous pouvez obtenir l'adresse IP de votre serveur en exécutant la commande ifconfig. Si votre serveur est hébergé sur le cloud, vous pouvez obtenir l'adresse IP publique en exécutant la commande curl.

$ curl ifconfig.me 
OR
$ curl -4 icanhazip.com

Trouver l'adresse IP du serveur CentOS

Lorsque vous parcourez l'adresse IP du serveur, la page Web suivante devrait s'afficher.

Vérifier la page Web Apache

Ceci est une confirmation certaine que le serveur Web est en cours d'exécution.

Gestion du serveur Web Apache

Avec Apache installé et en cours d'exécution, vous pouvez utiliser le systemctl outil d'inspection pour gérer Apache.

Par exemple, pour arrêter Apache, exécutez la commande :

$ sudo systemctl stop httpd

Pour redémarrer le service, exécutez :

$ sudo systemctl start httpd

Si vous avez apporté des modifications à l'un de ses fichiers de configuration et que vous devez redémarrer pour appliquer les modifications, exécutez la commande :

$ sudo systemctl restart httpd

Le redémarrage du service provoque généralement une interruption de service. Une meilleure alternative consiste simplement à recharger sans aucune interruption de la connexion.

$ sudo systemctl reload httpd

Pour démarrer automatiquement le serveur Web Apache lors du démarrage ou du redémarrage, exécutez la commande ci-dessous. Cela garantira qu'Apache démarre automatiquement sans votre intervention.

$ sudo systemctl enable httpd

Si vous choisissez de ne pas démarrer le service automatiquement au démarrage, exécutez :

$ sudo systemctl disable httpd

Configuration des hôtes virtuels Apache

Par défaut, le serveur Web Apache est configuré pour servir ou héberger un seul site Web. Si vous souhaitez héberger un seul site Web, cette étape n'est pas nécessaire. Mais si vous envisagez d'héberger plusieurs domaines sur votre serveur, vous devez configurer les hôtes virtuels Apache.

Un hôte virtuel est un fichier séparé qui contient des configurations qui vous permettent de configurer un domaine distinct de celui par défaut. Pour ce guide, nous allons configurer un hôte virtuel pour le domaine crazytechgeek.info .

L'hôte virtuel par défaut est situé dans /var/www/html annuaire. Cela ne fonctionne que pour un seul site. Pour créer un hôte virtuel séparé pour notre domaine, nous allons créer une autre structure de répertoires dans /var/www répertoire comme indiqué.

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

De plus, vous pouvez également créer un répertoire pour stocker les fichiers journaux.

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

Ensuite, modifiez les autorisations du fichier en utilisant le $USER variable d'environnement comme indiqué.

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

Ajustez également les autorisations du répertoire Webroot comme indiqué.

$ sudo chmod -R 755 /var/www

Ensuite, créez un exemple index.html fichier comme indiqué.

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

Appuyez sur la lettre 'i' sur le clavier et collez un exemple de contenu comme indiqué qui sera affiché sur le navigateur Web lors du test de l'hôte virtuel.

<html>
  <head>
    <title>Welcome to crazytechgeek.info!</title>
  </head>
  <body>
    <h1>Success! The crazytechgeek.info virtual host is up and perfectly working!</h1>
  </body>
</html>

Enregistrez et quittez le fichier de configuration.

Une fois l'exemple de fichier d'index et le répertoire de site créés, vous pouvez maintenant continuer et créer le fichier d'hôte virtuel. Le fichier d'hôte virtuel contiendra la configuration du site de votre domaine et indiquera à Apache comment il répondra aux demandes des clients.

Le fichier d'hôte virtuel contiendra la configuration du site de votre domaine et indiquera à Apache comment il répondra aux demandes des clients. Mais en continuant, vous devez créer 2 répertoires :le sites-available et sites-enabled répertoires.

Le fichier d'hôte virtuel sera stocké dans le dossier sites-available tandis que sites-enabled le répertoire contiendra le lien symbolique vers l'hôte virtuel.

Créez les deux répertoires comme indiqué.

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

Ensuite, modifiez le fichier de configuration principal du serveur Web Apache et indiquez à Apache où localiser l'hôte virtuel dans le répertoire sites-enabled.

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

Ajoutez la ligne comme indiqué à la toute fin du fichier de configuration.

IncludeOptional sites-enabled/*.conf

Enregistrez et quittez.

Créez maintenant un fichier d'hôte virtuel comme indiqué :

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

Collez le contenu ci-dessous et remplacez crazytechgeek.info avec votre propre nom de domaine.

<VirtualHost *:80>
    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
</VirtualHost>

Enregistrez et quittez le fichier.

Activez maintenant le fichier d'hôte virtuel en créant un lien symbolique dans le sites-enabled répertoire.

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

Ajustement des autorisations SELinux pour les hôtes virtuels

CentOS 8 et RHEL 8 livré avec SELinux qui est un module de sécurité pour renforcer la sécurité du système Linux. Depuis que vous avez configuré un journal personnalisé répertoire à l'étape précédente, vous devez mettre à jour certaines politiques SELinux pour demander au serveur Web Apache d'écrire dans le répertoire.

Il existe 2 approches pour ajuster les politiques SELinux Apache :Ajuster les politiques d'ajustement universellement et les politiques sur un répertoire. Ce dernier est préféré car il est plus préféré.

Ajustement des politiques SELinux sur un annuaire

Modification de SELinux Les autorisations pour le répertoire des journaux vous donnent un contrôle absolu sur les politiques du serveur Web d'Apache. Cette méthode est assez longue et vous oblige à configurer manuellement le type de contexte pour les répertoires supplémentaires spécifiés dans le fichier de configuration de l'hôte virtuel.

Avant de commencer, confirmez d'abord le type de contexte attribué au répertoire de journaux par SELinux :

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

Le résultat devrait être similaire à ce que nous avons ci-dessous.

Définir les politiques SELinux sur Apache Log Directory

À partir de la sortie, le contexte défini est httpd_sys_content_t . Cela indique que le serveur Web ne peut lire que les fichiers du répertoire des journaux. Vous devez changer ce contexte en httpd_log_t pour permettre à Apache de générer et d'ajouter des entrées de journal au répertoire.

Exécutez donc la commande :

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

Si vous obtenez l'erreur ci-dessous "semanage :commande introuvable".

Cela implique que les packages qui prévoient le semanage commande ne sont pas installés. Pour corriger cette erreur, vous devez installer ces packages. Mais d'abord, vérifiez quels packages fournissent la commande semanage en exécutant :

$ sudo dnf whatprovides /usr/sbin/semanage

La sortie nous donne le package qui fournit pour semanage, qui est policycoreutils-python-utils .

Installez maintenant le package comme indiqué à l'aide du gestionnaire de packages DNF.

$ sudo dnf install policycoreutils-python-utils

La commande pour changer le contexte devrait maintenant fonctionner.

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

Pour enregistrer les modifications et les rendre persistantes, émettez le restorecon commande comme indiqué :

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

Vous pouvez confirmer les modifications en exécutant à nouveau la commande :

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

Vérifier le type de contexte SELinux

Assurez-vous de noter que le type de contexte a changé en httpd_log_t comme on le voit dans la sortie.

Redémarrez Apache pour que les modifications soient appliquées.

$ sudo systemctl restart httpd

Vous pouvez maintenant confirmer si Apache enregistre les fichiers journaux dans le répertoire des journaux en répertoriant son contenu comme indiqué :

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

Vous devriez pouvoir voir deux fichiers journaux comme indiqué :le journal des erreurs et les fichiers journaux des demandes.

Vérifier les fichiers journaux d'Apache

Tester l'hôte virtuel Apache

Enfin, vous devez vous assurer que le serveur Web Apache sert votre fichier d'hôte virtuel. Pour cela, ouvrez votre navigateur et rendez-vous sur l'adresse IP ou le nom de domaine de votre serveur :

http://domain-name

Vérifier l'hôte virtuel Apache pour le site Web

Parfait! Cela indique que tout s'est bien passé et que notre hôte virtuel est servi comme prévu.

Conclusion

Dans ce guide, nous avons appris à installer Apache serveur Web sur CentOS 8 et RHEL 8 et aussi comment configurer un fichier d'hôte virtuel pour servir le contenu d'un domaine supplémentaire. N'hésitez pas à configurer plusieurs fichiers d'hôte virtuel comme bon vous semble pour accueillir des domaines supplémentaires.

Si vous souhaitez configurer une pile d'hébergement complète, je vous recommande d'installer une pile LAMP sur CentOS 8.

Partager c'est aimer…
Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit
Cent OS
  1. Comment installer Apache Cassandra sur CentOS 8

  2. Comment installer Apache sur CentOS 7

  3. Comment installer Apache Maven sur CentOS 7

  4. Comment installer WordPress avec Apache sur CentOS 7

  5. Comment installer Let's Encrypt avec Apache sur CentOS 7

Comment installer phpMyAdmin avec Apache sur CentOS 7 / RHEL 7

Comment installer phpMyAdmin avec Apache sur CentOS 8 / RHEL 8

Comment configurer l'hôte virtuel Apache sur CentOS 8

Comment installer Drupal sur CentOS 7 avec Apache

Comment installer WordPress sur CentOS 7.1 avec Apache

Comment installer Apache avec PHP-FPM sur CentOS 8