One place for hosting & domains

      Démarrage

      Comment installer Linux, Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      Dans ce guide de démarrage rapide, nous allons installer une pile LEMP sur un serveur Ubuntu 20.04.

      Pour une version plus détaillée de ce tutoriel, avec plus d’explications sur chaque étape, veuillez vous référer à Comment installer Linux, Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.0

      Conditions préalables

      Pour suivre ce guide, vous devrez avoir accès à un serveur Ubuntu 20.04 en tant qu’utilisateur sudo.

      Étape 1 – Installation de Nginx

      Mettez à jour le cache de votre gestionnaire de packages et installez ensuite Nginx avec :

      • sudo apt update
      • sudo apt install nginx

      Une fois l’installation terminée, vous devrez ajuster les paramètres de votre pare-feu pour autoriser le trafic HTTP sur votre serveur. Exécutez la commande suivante pour autoriser l’accès externe sur le port 80 (HTTP) :

      • sudo ufw allow in "Nginx"

      Avec l’ajout de la nouvelle règle de pare-feu, vous pouvez vérifier si le serveur est opérationnel en accédant à l’adresse IP publique ou au nom de domaine de votre serveur depuis votre navigateur web. Vous verrez une page comme celle-ci :

      Page par défaut de Nginx

      Étape 2 – Installer MySQL

      Nous allons maintenant installer MySQL, un système de gestion de base de données populaire utilisé dans les environnements PHP.

      Là encore, utilisez apt pour acquérir et installer ce logiciel :

      • sudo apt install mysql-server

      Une fois l’installation terminée, il est recommandé d’exécuter un script de sécurité qui vient préinstallé avec MySQL. Lancez le script interactif en exécutant :

      • sudo mysql_secure_installation

      Il vous sera demandé si vous souhaitez configurer le VALIDATE PASSWORD PLUGIN. Répondez Y pour oui, ou tout autre chose pour continuer sans activer. Si vous répondez « oui », il vous sera demandé de choisir un niveau de validation du mot de passe.

      Votre serveur vous demandera ensuite de sélectionner et de confirmer un mot de passe pour l’utilisateur root de MySQL. Même si la méthode d’authentification par défaut pour l’utilisateur root de MySQL dispense de l’utilisation d’un mot de passe, même si celui-ci est défini, vous devez définir ici un mot de passe fort pour plus de sécurité.

      Pour le reste des questions, appuyez sur Y et appuyez sur la touche ENTRÉE à chaque invite.

      Note : Au moment de la rédaction de ce document, la bibliothèque MySQL PHP native mysqlnd ne prend pas en charge caching_sha2_authentification,la méthode d’authentification par défaut pour MySQL 8. Pour cette raison, lorsque vous créez des utilisateurs de base de données pour des applications PHP sur MySQL 8, vous devez vous assurer qu’ils sont configurés pour utiliser le mot de passe mysql_native_password à la place. Veuillez vous référer à l’étape 6 de notre guide détaillé LEMP sur Ubuntu 20.04 pour apprendre comment le faire.

      Étape 3 – Installer PHP

      Pour installer les packages php-fpm et php-mysql, exécutez :

      • sudo apt install php-fpm php-mysql

      Étape 4 – Configuration de Nginx pour PHP

      Dans ce guide, nous allons mettre en place un domaine appelé your_domain, mais vous devez le remplacer par votre propre nom de domaine. 

      Sur Ubuntu 20.04, Nginx dispose d’un bloc serveur activé par défaut qui est configuré pour servir des documents à partir d’un répertoire à /var/www/html. Même si cela fonctionne bien pour un seul site, cela peut devenir difficile à gérer si vous hébergez plusieurs sites. Au lieu de modifier /var/www/html, nous allons créer une structure de répertoire au sein de /var/www pour le site Web your_domain, en laissant /var/www/html en place comme répertoire par défaut à servir si une demande du client ne correspond à aucun autre site.

      Créez le répertoire racine Web pour your_domain comme suit :

      • sudo mkdir /var/www/your_domain

      Ensuite, attribuez la propriété du répertoire avec la variable d’environnement $USER qui fera référence à votre utilisateur actuel du système :

      • sudo chown -R $USER:$USER /var/www/your_domain

      Ouvrez ensuite un nouveau fichier de configuration dans le répertoire sites-available de Nginx en utilisant votre éditeur de ligne de commande préféré. Ici, nous utiliserons nano :

      • sudo nano /etc/nginx/sites-available/your_domain

      Cela créera un nouveau fichier vierge. Collez dans la configuration suivante :

      /etc/nginx/sites-available/your_domain

      server {
          listen 80;
          server_name your_domain www.your_domain;
          root /var/www/your_domain;
      
          index index.html index.htm index.php;
      
          location / {
              try_files $uri $uri/ =404;
          }
      
          location ~ .php$ {
              include snippets/fastcgi-php.conf;
              fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
           }
      
          location ~ /.ht {
              deny all;
          }
      
      }
      
      
      

      Une fois que vous avez terminé vos modifications, enregistrez et fermez le fichier. Si vous utilisez nano, vous pouvez le faire en appuyant sur CTRL + X, puis y et ENTER pour confirmer.

      Activez votre configuration en établissant un lien vers le fichier de configuration à partir du répertoire sites-enabled de Nginx :

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Cela indiquera à Nginx d’utiliser la configuration lors du prochain rechargement. Vous pouvez vérifier si votre configuration contient des fautes de syntaxe en tapant :

      Si des erreurs sont signalées, revenez à votre fichier de configuration pour corriger son contenu avant de continuer.

      Une fois que vous êtes prêt, rechargez Nginx pour appliquer les modifications :

      • sudo systemctl reload nginx

      Votre nouveau site web est maintenant actif, mais le root web /var/www/your_domain est toujours vide. Créez un fichier index.html à cet endroit afin que nous puissions tester si le bloc de serveur fonctionne comme prévu :

      • nano /var/www/your_domain/index.html

      Incluez le contenu suivant dans ce dossier :

      /var/www/your_domain/index.html

      <html>
        <head>
          <title>your_domain website</title>
        </head>
        <body>
          <h1>Hello World!</h1>
      
          <p>This is the landing page of <strong>your_domain</strong>.</p>
        </body>
      </html>
      

      Maintenant, allez dans votre navigateur et accédez au nom de domaine ou à l’adresse IP de votre serveur, comme indiqué dans la directive server_name de votre fichier de configuration de bloc de serveur :

      http://server_domain_or_IP
      

      Vous verrez une page comme celle-ci :

      Nginx server block

      Étape 5 – Test de PHP avec Nginx

      Nous allons maintenant créer un script de test PHP pour confirmer que Nginx est capable de gérer et de traiter les demandes de fichiers PHP.

      Créer un nouveau fichier nommé info.php à l’intérieur de votre dossier root web personnalisé : 

      • nano /var/www/your_domain/info.php

      Cela ouvrira un fichier vierge. Ajoutez le contenu suivant dans le fichier :

      /var/www/your_domain/info.php

      <?php
      phpinfo();
      

      Lorsque vous avez terminé, enregistrez et fermez le fichier.

      Vous pouvez maintenant accéder à cette page dans votre navigateur Web en consultant le nom de domaine ou l’adresse IP publique que vous avez défini dans votre fichier de configuration Nginx, suivi de /info.php :

      http://server_domain_or_IP/info.php
      

      Vous verrez apparaître une page Web contenant des informations détaillées sur votre serveur :

      PHPInfo Ubuntu 20.04

      Après avoir vérifié les informations pertinentes sur votre serveur PHP par le biais de cette page, il est préférable de supprimer le fichier que vous avez créé car il contient des informations sensibles sur votre environnement PHP et votre serveur Ubuntu. Vous pouvez utiliser rm pour supprimer ce fichier :

      • sudo rm /var/www/your_domain/info.php

      Tutoriels connexes

      Voici des liens vers des guides plus détaillés relatifs à ce tutoriel :



      Source link

      Comment installer MariaDB sur Ubuntu 20.04 [Démarrage rapide]


      Une version précédente de ce tutoriel a été rédigée par Brian Boucheron.

      Introduction

      MariaDB est un système de gestion de base de données open-source, couramment utilisé comme alternative à MySQL en tant que partie de la base de données de la populaire pile LAMP (Linux, Apache, MySQL, PHP/Python/Perl) Il est destiné à remplacer MySQL.

      Ce tutoriel de démarrage rapide décrit comment installer MariaDB sur un serveur Ubuntu 20.04 et le configurer avec une configuration initiale sûre. Il portera également sur la manière de créer un compte administratif supplémentaire pour l’accès par mot de passe.

      Conditions préalables

      Pour suivre ce tutoriel, vous aurez besoin d’un serveur fonctionnant sous Ubuntu 20.04. Ce serveur doit avoir un utilisateur administratif non root et un pare-feu configuré avec UFW. Configurez-le en suivant notre guide de configuration initiale de serveur pour Ubuntu 20.04.

      Étape 1 – Installer MariaDB

      Avant d’installer MariaDB, mettez à jour l’index des paquets sur votre serveur avec apt :

      Ensuite, installez le paquet :

      • sudo apt install mariadb-server

      Lorsqu’il est installé à partir des dépôts par défaut, MariaDB se lancera automatiquement. Pour le tester, vérifiez son état.

      • sudo systemctl status mariadb

      Vous obtiendrez un résultat similaire à celui qui suit :

      Output

      ● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

      Si MariaDB ne fonctionne pas, vous pouvez le démarrer avec la commande sudo systemctl start mariadb. 

      Étape 2 – Configurer MariaDB

      Exécutez le script de sécurité qui a été installé avec MariaDB. Vous serez alors guidé à travers une série d’invites où vous pourrez apporter quelques modifications aux options de sécurité de votre installation MariaDB :

      • sudo mysql_secure_installation

      La première invite vous demandera de saisir le mot de passe actuel de l’utilisateur root de la base de données. Comme vous n’en avez pas encore créé un, appuyez sur ENTER pour indiquer « none ».

      Output

      . . . Enter current password for root (enter for none):

      L’invite suivante vous demande si vous souhaitez créer un mot de passe pour l’utilisateur root de la base de données. Sur Ubuntu, le compte root (racine) MariaDB est étroitement lié à la maintenance du système automatisé, nous ne devrions donc pas modifier les méthodes d’authentification configurées pour ce compte. Tapez N et appuyez ensuite sur ENTER.

      Output

      . . . Set root password? [Y/n] N

      À partir de là, vous pouvez appuyer sur Y puis sur ENTER pour accepter les valeurs par défaut pour toutes les questions suivantes. Cela supprimera certains utilisateurs anonymes et la base de données de test, désactivera les connexions root à distance, puis lancera ces nouvelles règles. 

      Étape 3 – (Facultatif) Création d’un utilisateur administratif qui utilise l’authentification par mot de passe

      Sur les systèmes Ubuntu fonctionnant avec MariaDB 10.3, l’utilisateur root de MariaDB est configuré pour s’authentifier en utilisant le plugin unix_socket par défaut plutôt qu’avec un mot de passe. Parce que le serveur utilise la root pour des tâches telles que la rotation du journal et le démarrage et l’arrêt du serveur, il est préférable de ne pas modifier les détails d’authentification du compte root. Les responsables des paquets recommandent plutôt de créer un compte administratif séparé pour l’accès par mot de passe.

      Pour cela, ouvrez l’invite MariaDB depuis votre terminal :

      Créez ensuite un nouvel utilisateur avec des privilèges de root et un accès par mot de passe. Veillez à modifier le nom d’utilisateur et le mot de passe en fonction de vos préférences :

      • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

      Purgez les privilèges pour vous assurer qu’ils sont enregistrés et disponibles dans la session en cours :

      Ensuite, quittez le shell MariaDB :

      Vous pouvez tester ce nouvel utilisateur avec l’outil mysqladmin, un client qui vous permet d’exécuter des commandes administratives. La commande mysqladmin suivante se connecte à MariaDB en tant qu’admin user et renvoie le numéro de version après avoir demandé le mot de passe de l’utilisateur :

      • mysqladmin -u admin -p version

      Vous recevrez un résultat similaire à celui-ci :

      Output

      mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

      Conclusion

      Dans ce guide, vous avez installé le système de gestion de base de données relationnelle MariaDB, et l’avez sécurisé à l’aide du script d’installation mysql_secure_installation fourni. Vous aviez également la possibilité de créer un nouvel utilisateur administratif qui utilise l’authentification par mot de passe.

      Maintenant que vous disposez d’un serveur MariaDB opérationnel et sécurisé, voici quelques exemples des prochaines étapes que vous pouvez suivre pour travailler avec le serveur :



      Source link

      Comment installer le serveur Web Apache sur CentOS 8 [Démarrage rapide]


      Introduction

      Le serveur HTTP Apache est le serveur web le plus utilisé au monde. Il offre de nombreuses fonctionnalités puissantes, notamment des modules à chargement dynamique, une prise en charge robuste des médias et une intégration poussée avec d’autres logiciels populaires.

      En suivant ce guide, vous allez installer un serveur web Apache avec des hôtes virtuels sur votre serveur CentOS 8. Pour une version plus détaillée de ce tutoriel, veuillez vous référer à Comment installer le serveur Web Apache sur CentOS 8.

      Conditions préalables

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

      Étape 1 — Installation d’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 gestionnaire de paquets dnf.

      En tant qu’utilisateur non root sudo configuré dans les conditions préalables, installez le package Apache :

      Après avoir confirmé l’installation, dnf installera Apache et toutes les dépendances requises.

      Étape 2 – Réglage du pare-feu

      En réalisant l’étape 4 du guide Configuration initiale du serveur avec CentOS 8 mentionné dans la section conditions préalables, vous auvez déjà installé firewalld sur votre serveur pour répondre aux demandes sur HTTP.

      Si vous prévoyez également configurer Apache pour présenter du contenu sur HTTPS, vous devez également ouvrir le port 443 en activant le service https :

      • sudo firewall-cmd --permanent --add-service=https

      Ensuite, rechargez le pare-feu pour appliquer ces nouvelles règles :

      • sudo firewall-cmd --reload

      Une fois le pare-feu rechargé, vous êtes prêt à démarrer le service et à vérifier le serveur web.

      Étape 3 – Vérification de votre serveur Web

      Une fois l’installation terminée, Apache ne démarre pas automatiquement sur CentOS. Par conséquent, vous devez démarrer le processus Apache manuellement :

      • sudo systemctl start httpd

      Utilisez la commande suivante pour vérifier si le service s’exécute :

      • sudo systemctl status httpd

      Le statut deviendra active une fois que le service sera en cours d’exécution :

      Output

      ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disa> Active: active (running) since Thu 2020-04-23 22:25:33 UTC; 11s ago Docs: man:httpd.service(8) Main PID: 14219 (httpd) Status: "Running, listening on: port 80" Tasks: 213 (limit: 5059) Memory: 24.9M CGroup: /system.slice/httpd.service ├─14219 /usr/sbin/httpd -DFOREGROUND ├─14220 /usr/sbin/httpd -DFOREGROUND ├─14221 /usr/sbin/httpd -DFOREGROUND ├─14222 /usr/sbin/httpd -DFOREGROUND └─14223 /usr/sbin/httpd -DFOREGROUND ...

      Accédez à la page d’accueil par défaut d’Apache pour confirmer que le logiciel fonctionne correctement grâce à votre adresse IP :

      http://your_server_ip
      

      Vous verrez la page web Apache par défaut CentOS 8 :

      Page Apache par défaut pour CentOS 8

      Cette page indique qu’Apache fonctionne correctement. Elle contient également des informations de base sur les fichiers Apache et les emplacements de répertoires importants.

      Étape 4 — Configuration des hôtes virtuels (recommandé)

      Lorsque vous utilisez le serveur Web Apache, vous pouvez utiliser des hôtes virtuels (si vous êtes plus habitué à utiliser Nginx, ils sont similaires aux blocs de serveur) pour encapsuler les détails de configuration et héberger plusieurs domaines à partir d’un seul serveur. Au cours de cette étape, nous allons configurer un domaine que l’on nommera example.com, mais vous devez le remplacer par votre propre nom de domaine. Si vous configurez un nom de domaine avec DigitalOcean, veuillez consulter notre Documentation de mise en réseau.

      Créez répertoire html pour<p>example.com<^> comme suit, à l’aide de la balise -p pour créer tout répertoire de parent nécessaire :

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

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

      • sudo mkdir -p /var/www/example.com/log

      Ensuite, attribuez la propriété du répertoire html avec la variable d’environnement $USER :

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

      Assurez-vous que les autorisations par défaut de votre racine Web sont bien configurées :

      • sudo chmod -R 755 /var/www

      Ensuite, créez une page index.html à l’aide de vi ou de votre éditeur favori :

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

      Appuyez sur i pour passer en mode INSERT et ajoutez l’exemple de HTML suivant au fichier :

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

      <html>
        <head>
          <title>Welcome to Example.com!</title>
        </head>
        <body>
          <h1>Success! The example.com virtual host is working!</h1>
        </body>
      </html>
      

      Sauvegardez et fermez le fichier en appuyant sur ESC, en saisissant :wq et en appuyant sur ENTRÉE.

      Maintenant que le répertoire de votre site et l’exemple de fichier d’index sont en place, vous êtes pratiquement prêt à créer les fichiers d’hôte virtuel. Les fichiers d’hôtes virtuels spécifient la configuration de vos autres sites et indiquent au serveur web Apache comment répondre aux diverses demandes de domaine.

      Avant de créer vos hôtes virtuels, vous devez créer un répertoire sites-available dans lequel les stocker. Vous devez également créer le répertoire sites-enabled, qui indique à Apache qu’un hôte virtuel est prêt à servir votre audience. Le répertoire sites-enabled contiendra des liens symboliques aux 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 devez demander à Apache de rechercher des hôtes virtuels dans le répertoire sites-enabled. Pour ce faire, modifiez le fichier de configuration principal d’Apache à l’aide de vi ou de votre éditeur de texte favori, puis ajoutez une ligne indiquant un répertoire facultatif pour les fichiers de configuration supplémentaires :

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

      Appuyez sur G majuscule pour aller à la fin du fichier. Appuyez ensuite sur i pour passer en mode INSERT et ajoutez la ligne suivante à la fin du fichier :

      /etc/httpd/conf/httpd.conf

      ...
      # Supplemental configuration
      #
      # Load config files in the "/etc/httpd/conf.d" directory, if any.
      IncludeOptional conf.d/*.conf
      IncludeOptional sites-enabled/*.conf
      

      Sauvegardez et fermez le fichier une fois que vous avez ajouté cette ligne. Maintenant que vos répertoires d’hôte virtuel sont prêts, vous devez créer votre fichier d’hôte virtuel.

      Commencez par créer un nouveau fichier dans le répertoire sites-available :

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

      Ajoutez-y le bloc de configuration suivant, et remplacez le domaine example.com par votre nom de domaine :

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

      <VirtualHost *:80>
          ServerName www.example.com
          ServerAlias example.com
          DocumentRoot /var/www/example.com/html
          ErrorLog /var/www/example.com/log/error.log
          CustomLog /var/www/example.com/log/requests.log combined
      </VirtualHost>
      

      Cette opération indiquera directement à Apache où trouver la racine qui contient les documents Web accessibles au public. Elle indique également à quel endroit Apache doit stocker les journaux d’erreurs et de demandes pour le site en question.

      Enregistrez et fermez le fichier lorsque vous avez terminé.

      Maintenant que vous avez créé les fichiers hôtes virtuels, vous devez les activer pour qu’Apache puisse les présenter à votre audience. Pour ce faire, créez une liaison symbolique pour chaque hôte virtuel dans le répertoire sites-enabled :

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

      Votre hôte virtuel est maintenant configuré et prêt à fournir du contenu. Avant de redémarrer le service Apache, assurez-vous que SELinux a les bonnes politiques en place pour vos hôtes virtuels.

      Étape 5 — Réglage des autorisations SELinux pour les hôtes virtuels (recommandé)

      SELinux est un module de sécurité du noyau Linux qui apporte une sécurité renforcée aux systèmes Linux. CentOS 8 est équipé de SELinux configuré pour fonctionner avec la configuration Apache par défaut. Puisque vous avez modifié la configuration par défaut en configurant un répertoire de journaux personnalisé dans le fichier de configuration des hôtes virtuels, une erreur apparaîtra si vous essayez de démarrer le service Apache. Pour résoudre ce problème, vous devez mettre à jour les politiques SELinux pour permettre à Apache d’écrire dans les fichiers nécessaires.

      Il existe différentes façons de définir des politiques en fonction des besoins de votre environnement, car SELinux vous permet de personnaliser votre niveau de sécurité. Cette étape couvrira les deux méthodes d’ajustement des politiques Apache : universellement et sur un répertoire spécifique. L’ajustement de politiques sur des répertoires est plus sûr et nous vous recommandons donc d’utiliser cette approche.

      Ajuster des politiques Apache universellement

      La configuration universelle de politique Apache demandera à SELinux de traiter tous les processus Apache de manière identique en utilisant le booléen httpd_unified. Bien que cette approche soit plus pratique, vous n’aurez pas le même niveau de contrôle qu’une approche qui se concentre sur une politique de fichier ou de répertoire.

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

      • sudo setsebool -P httpd_unified 1

      La commande setsebool modifie les valeurs booléennes de SELinux. L’indicateur -P mettra à jour la valeur de démarrage, ce qui rend cette modification persistante lors des redémarrages. httpd_unified est la valeur booléenne qui indiquera à SELinux de traiter tous les processus Apache comme un seul et même type. Vous l’avez donc activé avec une valeur de 1.

      Ajuster des politiques Apache sur un répertoire

      La configuration individuelle des autorisations SELinux pour le répertoire /var/www/example.com/log vous donnera plus de contrôle sur vos politiques Apache. Cependant, cela nécessitera éventuellement plus de maintenance. Étant donné que cette option ne définit pas universellement les stratégies, vous devrez définir manuellement le type de contexte pour tout nouveau répertoire de journaux spécifié dans vos configurations d’hôte virtuel.

      Tout d’abord, vérifiez le type de contexte que SELinux a donné au répertoire /var/www/example.com/log :

      • sudo ls -dlZ /var/www/example.com/log/

      Cette commande répertorie et imprime le contexte SELinux du répertoire. Vous recevrez un résultat similaire à celui qui suit :

      Output

      drwxr-xr-x. 2 root root unconfined_u:object_r:httpd_sys_content_t:s0 6 Apr 23 23:51 /var/www/example.com/log/

      Le contexte actuel est httpd_sys_content_t, qui indique à SELinux que le processus Apache peut uniquement lire les fichiers créés dans ce répertoire. Dans ce tutoriel, vous allez remplacer le type de contexte du répertoire /var/www/example.com/log par httpd_log_t. Ce type permettra à Apache de générer et d’ajouter des fichiers journaux d’application Web :

      • sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"

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

      • sudo restorecon -R -v /var/www/example.com/log

      L’indicateur -R exécute cette commande récursivement, ce qui signifie qu’il mettra à jour tous les fichiers existants pour qu’ils utilisent le nouveau contexte. L’indicateur -v affichera les changements de contexte que la commande a effectué. Vous recevrez le résultat suivant, qui confirmera les modifications :

      Output

      Relabeled /var/www/example.com/log from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0

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

      • sudo ls -dlZ /var/www/example.com/log/

      Le résultat reflète le type de contexte mis à jour :

      Output

      drwxr-xr-x. 2 root root unconfined_u:object_r:httpd_log_t:s0 6 Apr 23 23:51 /var/www/example.com/log/

      Maintenant que le réportoire /var/www/example.com/log utilise le type httpd_log_t, vous êtes prêt à tester la configuration de votre hôte virtuel.

      Étape 6 — Tester l’hôte virtuel (recommandé)

      Une fois le contexte SELinux mis à jour avec l’une des méthodes, Apache pourra écrire dans le répertoire /var/www/example.com/log. Vous pouvez maintenant redémarrer le service Apache :

      • sudo systemctl restart httpd

      Répertoriez le contenu du répertoire /var/www/example.com/log pour voir si Apache a créé les fichiers journaux :

      • ls -lZ /var/www/example.com/log

      Vous recevrez une confirmation qu’Apache a pu créer les fichiers error.log et requests.log spécifiés dans la configuration de l’hôte virtuel :

      Output

      -rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 0 Apr 24 00:06 error.log -rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 0 Apr 24 00:06 requests.log

      Maintenant que vous avez configuré votre hôte virtuel et mis à jour les autorisations SELinux, Apache présentera désormais votre nom de domaine. Vous pouvez le vérifer en allant sur http://example.com où vous devriez voir quelque chose similaire à ceci :

      Bravo! L'hôte virtuel example.com fonctionne !

      Cela confirme que votre hôte virtuel est correctement configuré et présente le contenu. Répétez les étapes 4 et 5 pour créer de nouveaux hôtes virtuels avec des 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 voulez présenter et les technologies que vous souhaitez utiliser pour créer une expérience plus riche.

      Si vous souhaitez construire une pile d’applications plus complète, consultez cet article sur la manière de configurer une pile LAMP sur on CentOS 8​​​1​​​.



      Source link