Serveur d'impression

Comment installer le serveur Web Apache sur CentOS 7 – Bien choisir son serveur d impression

Par Titanfall , le 14 septembre 2019 - 13 minutes de lecture

introduction

Le serveur HTTP Apache est le serveur Web le plus utilisé au monde. Il fournit de nombreuses fonctionnalités puissantes, notamment des modules chargeables dynamiquement, un support multimédia robuste et une intégration poussée à d’autres logiciels populaires.

Dans ce guide, vous allez installer un serveur Web Apache avec des hôtes virtuels sur votre serveur CentOS 7.

Conditions préalables

Vous aurez besoin des éléments suivants pour compléter ce guide:

Étape 1 – Installer Apache

Apache est disponible dans les référentiels de logiciels par défaut de CentOS, ce qui signifie que vous pouvez l’installer avec le Miam directeur chargé d'emballage.

En tant qu'utilisateur sudo non root configuré dans les conditions préalables, mettez à jour le serveur Apache local. httpd index du package pour refléter les dernières modifications en amont:

Une fois les packages mis à jour, installez le package Apache:

Après avoir confirmé l'installation, Miam installera Apache et toutes les dépendances requises. Une fois l'installation terminée, vous êtes prêt à démarrer le service.

Étape 2 - Vérification de votre serveur Web

Apache ne démarre pas automatiquement sur CentOS une fois l'installation terminée. Vous devrez démarrer le processus Apache manuellement:

  • sudo systemctl start httpd

Vérifiez que le service est en cours d'exécution avec la commande suivante:

  • sudo systemctl status httpd

Vous verrez un actif statut lorsque le service est en cours d'exécution:

Sortie

Redirection vers / bin / systemctl status httpd.service ● httpd.service - Le serveur HTTP Apache    Chargé: chargé (/usr/lib/systemd/system/httpd.service; activé; paramètre prédéfini par le fournisseur: désactivé)    Actif: actif (en cours d'exécution) depuis mer. 2019-02-20 01:29:08 UTC; Il y a 5s      Docs: man: httpd (8)            homme: apachectl (8)  PID principal: 1290 (httpd)    Statut: "Traitement des demandes…"    CGroup: /system.slice/httpd.service            901290 / usr / sbin / httpd -DFOREGROUND            911291 / usr / sbin / httpd -DFOREGROUND            921292 / usr / sbin / httpd -DFOREGROUND            931293 / usr / sbin / httpd -DFOREGROUND            941294 / usr / sbin / httpd -DFOREGROUND            951295 / usr / sbin / httpd -DFOREGROUND …

Comme vous pouvez le constater à partir de cette sortie, le service semble avoir démarré correctement. Cependant, le meilleur moyen de tester cela consiste à demander une page à Apache.

Vous pouvez accéder à la page de destination Apache par défaut pour vérifier que le logiciel fonctionne correctement via votre adresse IP. Si vous ne connaissez pas l’adresse IP de votre serveur, vous pouvez l’obtenir de différentes manières à partir de la ligne de commande.

Tapez ceci à l’invite de commande de votre serveur:

Cette commande affiche toutes les adresses réseau de l’hôte, vous permettant ainsi de récupérer quelques adresses IP séparées par des espaces. Vous pouvez essayer chacun dans votre navigateur Web pour voir s'ils fonctionnent.

Alternativement, vous pouvez utiliser boucle demander votre adresse IP à icanhazip.com, qui vous donnera votre adresse IPv4 publique, vue depuis un autre emplacement sur Internet:

Lorsque vous avez l'adresse IP de votre serveur, entrez-la dans la barre d'adresse de votre navigateur:

http: //votre_serveur_ip

La page Web par défaut de Apache CentOS 7:

Page Apache par défaut pour CentOS 7

Cette page indique qu'Apache fonctionne correctement. Il contient également des informations de base sur les fichiers Apache importants et les emplacements de répertoires. Maintenant que le service est installé et fonctionne, vous pouvez maintenant utiliser différents systemctl commandes pour gérer le service.

Étape 3 - Gestion du processus Apache

Maintenant que votre serveur Web est opérationnel, examinons quelques commandes de gestion de base.

Pour arrêter votre serveur Web, tapez:

  • sudo systemctl stop httpd

Pour démarrer le serveur Web quand il est arrêté, tapez:

  • sudo systemctl start httpd

Pour arrêter puis redémarrer le service, tapez:

  • sudo systemctl redémarrer httpd

Si vous effectuez simplement des modifications de configuration, Apache peut souvent recharger sans perdre de connexions. Pour ce faire, utilisez cette commande:

  • sudo systemctl recharger httpd

Par défaut, Apache est configuré pour démarrer automatiquement au démarrage du serveur. Si ce n'est pas ce que vous voulez, désactivez ce comportement en tapant:

  • sudo systemctl désactiver httpd

Pour réactiver le service pour qu'il démarre au démarrage, tapez:

  • sudo systemctl activer httpd

Apache va maintenant démarrer automatiquement quand le serveur redémarrera.

La configuration par défaut pour Apache permettra à votre serveur d’héberger un seul site Web. Si vous envisagez d'héberger plusieurs domaines sur votre serveur, vous devrez configurer des hôtes virtuels sur votre serveur Web Apache.

Lorsque vous utilisez le serveur Web Apache, vous pouvez utiliser hôtes virtuels (similaire aux blocs de serveur dans Nginx) pour encapsuler les détails de la configuration et héberger plusieurs domaines à partir d’un seul serveur. Dans cette étape, vous allez configurer un domaine appelé exemple.com, mais vous devriez le remplacer par votre propre nom de domaine. Pour en savoir plus sur la configuration d'un nom de domaine avec DigitalOcean, consultez notre Introduction au DNS de DigitalOcean.

Apache sur CentOS 7 possède un bloc de serveur activé par défaut, configuré pour servir les documents à partir du / var / www / html annuaire. Bien que cela fonctionne bien pour un seul site, cela peut devenir lourd si vous hébergez plusieurs sites. Au lieu de modifier / var / www / html, vous allez créer une structure de répertoire dans / var / www pour le exemple.com site, laissant / var / www / html en place comme répertoire par défaut à servir si une demande du client ne correspond à aucun autre site.

Créer le html répertoire pour exemple.com comme suit, en utilisant le -p flag pour créer les répertoires parents nécessaires:

  • sudo mkdir -p / var / www /exemple.com/ html

Créez un répertoire supplémentaire pour stocker les fichiers journaux du site:

  • sudo mkdir -p / var / www /exemple.com/bûche

Ensuite, attribuez la propriété du html répertoire avec le $ USER variable environnementale:

  • sudo chown -R $ USER: $ USER / var / www /exemple.com/ html

Assurez-vous que les autorisations par défaut sont définies dans votre racine Web:

  • sudo chmod -R 755 / var / www

Ensuite, créez un échantillon index.html page utilisant vi ou votre éditeur préféré:

  • sudo vi / var / www /exemple.com/html/index.html

presse je passer à INSÉRER mode et ajoutez l'exemple HTML suivant au fichier:

/var/www/example.com/html/index.html


  
    Bienvenue à <span class="highlight">Example.com</span>!
  
  
    

Succès! le exemple.com l'hôte virtuel fonctionne!

Enregistrez et fermez le fichier en appuyant sur ESC, en tapant : wqet en appuyant sur ENTRER.

Avec votre répertoire de site et votre exemple de fichier d'index, vous êtes presque prêt à créer les fichiers de l'hôte virtuel. Les fichiers d'hôte virtuel spécifient la configuration de vos sites distincts et indiquent au serveur Web Apache comment répondre aux différentes demandes de domaine.

Avant de créer vos hôtes virtuels, vous devez créer un sites disponibles répertoire pour les stocker. Vous créerez également le activé pour les sites répertoire qui indique à Apache qu'un hôte virtuel est prêt à être utilisé par les visiteurs. le activé pour les sites répertoire contiendra des liens symboliques vers les hôtes virtuels que nous voulons publier. Créez les deux répertoires avec la commande suivante:

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

Ensuite, vous direz à Apache de rechercher des hôtes virtuels dans la activé pour les sites annuaire. Pour ce faire, éditez le fichier de configuration principal d’Apache et ajoutez une ligne déclarant un répertoire facultatif pour les fichiers de configuration supplémentaires:

  • sudo vi /etc/httpd/conf/httpd.conf

Ajoutez cette ligne à la fin du fichier:

IncludeOptional sites-enabled / *. Conf

Enregistrez et fermez le fichier lorsque vous avez terminé d'ajouter cette ligne. Maintenant que vos répertoires d’hôte virtuel sont en place, vous allez créer votre fichier d’hôte virtuel.

Commencez par créer un nouveau fichier dans le sites disponibles annuaire:

  • sudo vi / etc / httpd / sites-available /exemple.com.conf

Ajoutez le bloc de configuration suivant et modifiez le exemple.com domaine à votre nom de domaine:

/etc/httpd/sites-available/example.com.conf


    
    
    
    Nom du serveur www.exemple.com
    ServerAlias exemple.com
    DocumentRoot / var / www /exemple.com/ html
    ErrorLog / var / www /exemple.com/log/error.log
    CustomLog / var / www /exemple.com/log/requests.log combinés

Cela indiquera à Apache où trouver directement la racine contenant les documents Web accessibles au public. Il indique également à Apache où stocker les journaux d'erreurs et de demandes pour ce site particulier.

Enregistrez et fermez le fichier lorsque vous avez terminé.

Maintenant que vous avez créé les fichiers de l'hôte virtuel, vous allez les activer pour qu'Apache sache les servir aux visiteurs. Pour ce faire, créez un lien symbolique pour chaque hôte virtuel de la activé pour les sites annuaire:

  • sudo ln -s / etc / httpd / sites-available /exemple.com.conf / etc / httpd / sites-enabled /exemple.com.conf

Votre hôte virtuel est maintenant configuré et prêt à servir du contenu. Avant de redémarrer le service Apache, vérifions que SELinux a mis en place les stratégies appropriées pour vos hôtes virtuels.

SELinux est configuré pour fonctionner avec la configuration Apache par défaut. Puisque vous avez configuré un répertoire de journal personnalisé dans le fichier de configuration des hôtes virtuels, vous recevrez une erreur si vous essayez de démarrer le service Apache. Pour résoudre ce problème, vous devez mettre à jour les stratégies SELinux afin de permettre à Apache d'écrire dans les fichiers nécessaires. SELinux apporte une sécurité accrue à votre environnement CentOS 7, il est donc déconseillé de désactiver complètement le module du noyau.

Il existe différentes façons de définir des stratégies en fonction des besoins de votre environnement, car SELinux vous permet de personnaliser votre niveau de sécurité. Cette étape couvrira deux méthodes d'ajustement des stratégies Apache: universellement et sur un répertoire spécifique. L'ajustement des politiques sur les annuaires est plus sécurisé et constitue donc l'approche recommandée.

Ajustement universel des stratégies Apache

La définition universelle de la stratégie Apache indiquera à SELinux de traiter tous les processus Apache de manière identique à l’aide de la commande httpd_unified booléen. Bien que cette approche soit plus pratique, elle ne vous donnera pas le même niveau de contrôle qu'une approche centrée sur une stratégie de fichier ou de répertoire.

Exécutez la commande suivante pour définir une stratégie Apache universelle:

  • sudo setsebool -P httpd_unified 1

le setsebool La commande change les valeurs booléennes SELinux. le -P flag mettra à jour la valeur de démarrage, faisant en sorte que cette modification persiste lors des redémarrages. httpd_unified est le booléen qui indiquera à SELinux de traiter tous les processus Apache comme du même type. Vous l'avez donc activé avec la valeur 1.

Ajustement des stratégies Apache sur un répertoire

Définition individuelle des autorisations SELinux pour le / var / www /exemple.com/bûche répertoire vous donnera plus de contrôle sur vos politiques Apache, mais peut également nécessiter plus de maintenance. Étant donné que cette option ne définit pas de manière universelle les stratégies, vous devrez définir manuellement le type de contexte pour tous les nouveaux répertoires de journal spécifiés dans vos configurations d'hôte virtuel.

Tout d’abord, vérifiez le type de contexte que SELinux a donné à / var / www /exemple.com/bûche annuaire:

  • sudo ls -dZ / var / www /exemple.com/bûche/

Cette commande répertorie et affiche le contexte SELinux du répertoire. Vous verrez une sortie semblable à celle-ci:

Sortie

drwxr-xr-x. root root unconfined_u: object_r:httpd_sys_content_t: s0 / var / www /exemple.com/bûche/

Le contexte actuel est httpd_sys_content_t, qui indique à SELinux que le processus Apache ne peut lire que les fichiers créés dans ce répertoire. Dans ce tutoriel, vous allez changer le type de contexte du / var / www /exemple.com/bûche répertoire à httpd_log_t. Ce type permettra à Apache de générer et d’ajouter aux fichiers journaux des applications Web:

  • sudo semanage fcontext -a -t httpd_log_t "/ var / www /exemple.com/bûche(/.*)?"

Ensuite, utilisez le restauration commande pour appliquer ces modifications et les conserver lors des redémarrages:

  • sudo restorecon -R -v / var / www /exemple.com/bûche

le -R flag exécute cette commande de manière récursive, ce qui signifie que les fichiers existants seront mis à jour pour utiliser le nouveau contexte. le -v flag imprimera le contexte change la commande. Vous verrez la sortie suivante confirmant les modifications:

Sortie

restorecon reset /var/www/example.com/log context unconfined_u: object_r:httpd_sys_content_t: s0-> unconfined_u: object_r:httpd_log_t: s0

Vous pouvez lister les contextes une fois de plus pour voir les changements:

  • sudo ls -dZ / var / www /exemple.com/bûche/

La sortie reflète le type de contexte mis à jour:

Sortie

drwxr-xr-x. root root unconfined_u: object_r:httpd_log_t: s0 / var / www /exemple.com/bûche

Maintenant que le / var / www /exemple.com/bûche répertoire utilise le httpd_log_t tapez, vous êtes prêt à tester votre configuration d’hôte virtuel.

Une fois que le contexte SELinux a été mis à jour avec l’une ou l’autre méthode, Apache pourra écrire dans le / var / www /exemple.com/bûche annuaire. Vous pouvez maintenant redémarrer avec succès le service Apache:

  • sudo systemctl redémarrer httpd

Lister le contenu de la / var / www /exemple.com/bûche répertoire pour voir si Apache a créé les fichiers journaux:

  • ls-lZ / var / www /exemple.com/bûche

Vous verrez qu'Apache a pu créer le error.log et requests.log fichiers spécifiés dans la configuration de l'hôte virtuel:

Sortie

-rw-r - r--. 1 racine racine 0 26 février 22:54 error.log -rw-r - r--. 1 racine racine 0 février 26 22:54 requests.log

Maintenant que vous avez configuré votre hôte virtuel et mis à jour les autorisations SELinux, Apache va maintenant servir votre nom de domaine. Vous pouvez tester cela en allant à http: //exemple.com, où vous devriez voir quelque chose comme ceci:

Succès! L'hôte virtuel example.com fonctionne!

Cela confirme que votre hôte virtuel est correctement configuré et que le contenu est servi. Répétez les étapes 4 et 5 pour créer de nouveaux hôtes virtuels avec les autorisations SELinux pour des domaines supplémentaires.

Conclusion

Dans ce tutoriel, vous avez installé et géré le serveur Web Apache. Maintenant que votre serveur Web est installé, vous disposez de nombreuses options pour le type de contenu que vous pouvez servir et les technologies que vous pouvez utiliser pour créer une expérience plus riche.

Si vous souhaitez créer une pile d’applications plus complète, consultez cet article pour savoir comment configurer une pile LAMP sous CentOS 7.

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.