One place for hosting & domains

      Comment installer Nginx sur Ubuntu 18.04


      Introduction

      Nginx est l’un des serveurs web les plus populaires au monde, il est aussi responsable d’héberger certains des sites les plus gros et les plus visités d’internet. Dans la plupart des cas, il utilise moins de ressources qu’Apache et peut être utilisé en tant que serveur web ou proxy inverse.

      Dans ce guide, nous discuterons de la manière d’installer Nginx sur votre serveur Ubuntu 18.04.

      Prérequis

      Avant que vous ne débutiez ce guide, vous devriez avoir configuré sur votre serveur, un utilisateur régulier, qui n’est pas un utilisateur root, mais qui a des privilèges sudo. Vous pouvez apprendre comment configurer un profil d’utilisateur régulier en suivant notre « Guide de configuration initiale du serveur Ubuntu 18.04» initial server setup guide for Ubuntu 18.04.
      Lorsque vous avez un profil de disponible, connectez-vous en tant qu’utilisateur régulier (et non en tant qu’utilisateur root) pour débuter.

      Étape 1 — Installer Nginx

      Comme Nginx est disponible dans les répertoires par défaut de Ubuntu, il est possible de l’installer à partir de ceux-ci en utilisant l’outil de paquetage avancé apt[APT packaging system].
      Comme c’est notre première interaction avec l’outil de paquetage ‘apt’ sur cette session, nous allons mettre à jour notre index de paquet local pour avoir accès aux plus récents. Ensuite, nous pourrons installer Nginx:

      • sudo apt update
      • sudo apt install nginx

      Après avoir accepté la procédure, apt installera Nginx et tous ses prérequis à votre serveur.

      Étape 2 — Ajustement du pare-feu

      Avant d’essayer Nginx, le logiciel pare-feu doit être ajusté pour laisser l’accès au service. Nginx s’enregistrera en tant que service avec ufw au moment de l’installation, ce qui lui simplifie l’accès.
      Pour une liste complète des configurations que ufw sait utiliser, entrer :

      Vous devriez avoir une liste des profils d’application :

      Output

      Available applications: (applications disponibles) Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Comme vous pouvez le voir, il y a trois profils disponibles pour Nginx :

      • Nginx Full: Ce profil ouvre à la fois le port 80 (normal, trafic internet non-encrypté) et le port 443 (trafic internet encrypté par TLS/SSL)
      • Nginx HTTP: Ce profil ouvre seulement le port 80 (normal, trafic internet non-encrypté)
        • Nginx HTTPS:Ce profil ouvre seulement le port 443 (trafic internet encrypté par TLS/SSL)
          Il es recommandé que vous choisissiez le profil le plus restrictif qui vous permettra tout de même le trafic que vous avez configuré. Comme nous n’avons pas encore configuré SSL pour nos serveurs dans ce guide, nous n’aurons qu’à donner l’accès au trafic sur le port 80.
          Vous pouvez le faire en entrant :
          command
          sudo ufw allow 'Nginx HTTP'

          Vous pouvez vérifier le changement en entrant :
          command
          sudo ufw status

      Vous devriez voir le trafic internet HTTP permis sous le format d’affichage:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Étape 3 — Vérification de votre serveur web

      À la fin du processus d’installation, Ubuntu 18.04 lance Nginx. Le serveur web devrait déjà être opérationnel.
      Nous pouvons vérifier avec le system init systemd pour nous assurer du bon fonctionnement en entrant :

      Output

      ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

      Comme vous pouvez le voir plus haut, le service semble avoir démarré avec succès. Cependant, le meilleur moyen de faire la vérification est de concrètement requêter une page à Nginx.
      Vous pouvez accéder la page d’accueil par défaut de Nginx pour confirmer que le logiciel opère sans problèmes en naviguant vers l’adresse IP de votre serveur. Si vous ne connaissez pas l’adresse IP de votre serveur, il y a différentes méthodes pour l’obtenir.
      Essayez d’entrer ceci dans votre utilitaire de commande :

      • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

      Vous aurez une réponse de quelques lignes. Vous pouvez essayer dans chacun de vos navigateurs pour voir s’ils fonctionnent.
      Une alternative est d’entrer ceci, qui devrait vous fournir votre adresse IP publique tel que vu d’un emplacement différent de l’internet :

      Quand vous avez l’adresse IP de votre serveur, entrer la dans la barre de recherche de votre navigateur :

      http://your_server_ip 
      

      Vous devriez voir la page d’accueil par défaut de Nginx :
      Nginx default page
      Cette page est incluse avec Nginx pour démontrer que le serveur fonctionne correctement.

      Étape 4 — Gestion des procédés Nginx

      Maintenant que votre serveur web est opérationnel, revoyons quelques commandes de gestion de base.
      Pour arrêter votre serveur web, entrez :

      • sudo systemctl stop nginx

      Pour démarrer votre serveur web lorsqu’il est arrêté, entrez :

      • sudo systemctl start nginx

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

      • sudo systemctl restart nginx

      Si vous apportez seulement des modifications de configuration, Nginx peu souvent redémarrer sans interrompre la connexion. Pour ce faire, entrez :

      • sudo systemctl reload nginx

      Par défaut, Nginx est configuré pour démarrer automatiquement quant le serveur s’allume. Si ce n’est pas ce que vous voulez, vous pouvez désactiver ce comportement en entrant :

      • sudo systemctl disable nginx

      Pour réactiver le démarrage automatique, vous pouvez entrer :

      • sudo systemctl enable nginx

      Étape 5 — Configuration des blocs de serveur (Recommandé)

      Lorsque vous utilisez le serveur web Nginx, server blocks (semblable à «hôte virtuel» dans Apache) peut être utilisé pour encapsuler des détails de configuration afin d’être hôte à plus d’un serveur. Nous allons mettre en place un domaine appelé example.com mais vous devriez remplacer ceci par votre propre nom de domaine. Pour en savoir plus à propos de la procédure de mise en place d’un tel serveur avec DigitalOcean, veuillez voir Introduction à DigitalOcean DNS Introduction to DigitalOcean DNS.
      Nginx sur Ubuntu 18.04 a un bloc de serveur d’actif par défaut qui est configuré pour desservir des documents à partir d’un répertoire a /var/www/html. Malgré que ceci fonctionne bien pour un site unique, il pourrait vite devenir lourd si vous hébergez de multiples sites. Au lieu de modifier /var/www/html, créons une structure de répertoire à l’intérieur de /var/www/html pour notre site example.com, ce qui laissera /var/www/html en place comme le répertoire par défaut à être desservi si la requête d’un client ne correspond à aucuns autres sites.
      Créez le répertoire pour example.com comme suit, en utilisant -p pour créer n’importes quels autres répertoires apparentés :

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

      Ensuite, attribuez les droits de propriétaire du répertoire avec l’environnement variable $USER :

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

      Les permissions devrait être correctes si vous n’avez pas modifié votre valeur `umask', mais vous pouvez vous en assurer en entrant :

      • sudo chmod -R 755 /var/www/example.com

      Ensuite, créez un échantillon de page index.html en utilisant nano sur votre éditeur préféré :

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

      À l’intérieur, entrez l’échantillon HTML suivant :

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

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

      Sauvegardez et fermez le fichier lorsque vous avez terminé.
      Afin que Nginx desserve ce contenu, il est nécessaire de créer un bloc serveur avec les bonnes directives. Au lieu de modifier le fichier de configuration par défaut directement, faites-en un nouveau a /etc/nginx/sites-available/example.com:

      • sudo nano /etc/nginx/sites-available/example.com

      Coller le bloc de configuration suivant, qui est similaire à celui par défaut, mais mis à jour pour notre nouveau répertoire et nom de domaine :

      /etc/nginx/sites-available/example.com

       server { 
      listen 80; 
      listen [::]:80; 
      root /var/www/example.com/html; 
      index index.html index.htm index.nginx-debian.html; 
      server_name example.com www.example.com; 
      location / { 
      try_files $uri $uri/ =404; 
      } 
      } 
      

      Veuillez noter que nous avons fait la mise à jour la configuration root de notre nouveau répertoire et le server_name de notre nom de domaine.
      Pour poursuivre, activons le fichier en créant un lien vers celui-ci dans le répertoire sites-enabled, que Nginx lit au démarrage :

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

      Deux blocs serveurs sont maintenant activés et configurés pour répondre aux requêtes en se basant sur leurs directives listen et server_name (vous pouvez en lire davantage sur la manière dont Nginx procède ces directives ici here):

      • example.com: Répondra aux requêtes pour example.com et www.example.com.
      • default: Répondra à n’importe quelle sur le port 80 qui ne correspond pas aux deux autres blocs.
        Pour éviter un problème avec la mémoire de hachage qui pourrait survenir lors de l’ajout de nom de serveur additionnels, il est nécessaire d’ajuster une seule valeur dans le fichier /etc/nginx/nginx.conf . Ouvrez le fichier :
        command
        sudo nano /etc/nginx/nginx.conf

        Trouvez la directive server_names_hash_bucket_size et enlevez le symbole # pour décommenter la ligne :

        [label /etc/nginx/nginx.conf]
        ...
        http {
        ...
        server_names_hash_bucket_size 64;
        ...
        }
        ...

        Ensuite, faite la vérification pour pour vous assurer qu’il n’y a pas d’erreurs de syntaxe dans vos fichiers Nginx :
        command
        sudo nginx -t

        Enregistrez et fermez le fichier lorsque vous avez terminé.
        S’il n’y a pas de problèmes, redémarrez Nginx pour activer vos changements :
        command
        sudo systemctl restart nginx

        Nginx devrait maintenant desservir votre nom de domaine. Vous pouvez vérifier ceci en naviguant à http://example.com, ou vous verrez quelque chose comme ceci :
        Nginx first server block

      Étape 6 — Se familiariser avec les fichiers et répertoires importants de Nginx

      Maintenant que vous savez comment gérer le service Nginx, vous devriez prendre quelques minutes pour vous familiariser avec quelques fichiers et répertoires importants.

      Contenu

      • /var/www/html: Le contenu web qui, par défaut est seulement la page d’accueil de Nginx que vous avez vu plus tôt, est desservi à travers le répertoire /var/www/html . Ceci peut être changé en modifiant les fichiers de configuration de Nginx.

      Configuration du serveur

      • /etc/nginx: Le répertoire de configuration de Niginx. Tous les fichiers de configuration y résident.
      • /etc/nginx/nginx.conf: Le fichier de configuration principal de Nginx. Il peut être modifié pour apporter des changements globaux à la configuration de Nginx.
      • /etc/nginx/sites-available/: Le répertoire ou tous les blocs serveurs, propres à chaque site, peuvent être stockés. Nginx n’utilisera pas les fichiers de configuration qui s’y trouve à moins qu’ils ne soit liés à un répertoire sites-enabled. Typiquement, toutes les configurations de blocs serveurs sont faites à partir de ce répertoire, puis activé en les liants à d’autres répertoires.
      • /etc/nginx/sites-enabled/: Le répertoire ou les blocs serveurs (par site) activés sont stockés. Typiquement, la création se fait en les liants à des fichiers de configuration qui se retrouvent dans le répertoire sites-available.
      • /etc/nginx/snippets: Ce répertoire contient des fragments de configuration qui peuvent être inclus ailleurs dans la configuration de Nginx. Les segments qui ont le potentiel de se répéter sont des candidats parfaits pour les remoduler en extraits [snippets].

      Journal du serveur

      • /var/log/nginx/access.log: Toutes les requêtes faites à votre serveur web sont enregistrées dans ce journal à moins d’avoir configuré Nginx autrement.
      • /var/log/nginx/error.log: Toute erreur qui survient dans Nginx sera enregistrée dans ce journal.

      Conclusion

      Maintenant que vous avez un serveur web d’installé, vous avez plusieurs options pour le type de contenu à desservir et les technologies que vous voulez utiliser pour créer une expérience plus riche.
      Si vous aimeriez construire une suite d’application plus complète, consultez cette article : Comment configurer une suite LEMP sur Ubuntu 18.04.



      Source link

      Comment installer la pile Linux, Apache, MySQL, PHP (LAMP) sur un serveur Ubuntu 18.04


      Introduction

      Une pile “LAMP” est un groupe de logiciels libres qui sont généralement installés ensemble afin de permettre à un serveur d’héberger des sites internet dynamiques ainsi que des applications web. Le terme constitue généralement un acronyme qui représente le système d’exploitation Linux, le serveur web Apache. Les données du site sont hébergées sur une base de données MySQL, puis le contenu dynamique est traité par PHP.

      Dans ce guide, nous installerons une pile LAMP sur un serveur Ubuntu 18.04.

      Préalable

      Afin de compléter ce tutoriel, vous aurez besoin d’un serveur Ubuntu 18.04, un compte d’utilisateur non-root «sudo» activé, ainsi qu’un pare-feu de base. Cela peut être configuré en se référant à notre guide de configuration initial pour Ubuntu 18.04.

      Étape 1 — Installer Apache et mettre à jour le pare-feu.

      Le serveur Apache est parmi les serveurs web les plus populaires au monde. Il est bien documenté et a été utilisé abondamment pour la majeure partie de l’histoire de l’internet, ce qui en fait un bon choix par défaut pour héberger un site internet.

      Installer Apache à l’aide du gestionnaire de paquets d’Ubuntu, apt:

      • sudo apt update
      • sudo apt install apache2

      Puisqu’il s’agit d’une commande sudo, ces opérations sont exécutées avec les privilèges root. On vous demandera votre mot de passe d’utilisateur régulier afin de connaître vos intentions.

      Dès que vous aurez entré votre mot de passe, apt vous dira quels paquets il prévoit installer et combien d’espace il prendra sur votre disque dur. Entrez la touche Y et appuyer sur ENTER afin de continuer, et l’installation poursuivra.

      Ajuster votre pare-feu afin d’autoriser le trafic web.

      Ensuite, en présumant que vous avez suivi les instructions de configuration initiale du serveur et autorisé le pare-feu UFW, assurez-vous que votre pare-feu autorise le trafic HTTP et HTTPS. Vous pouvez vérifier que UFW possède un profil d’application pour Apache de la manière suivante :

      SortieOutput

      Available applications: Apache Apache Full Apache Secure OpenSSH

      Si vous regardez sur le profil Apache Full, il devrait y être indiqué qu’il permet le trafic aux ports 80 et 443 :

      • sudo ufw app info "Apache Full"

      SortieOutput

      Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server. Ports: 80,443/tcp

      Autoriser le trafic HTTP et HTTPS entrant pour ce profil :

      • sudo ufw allow in "Apache Full"

      Vous pouvez immédiatement effectuer une vérification afin de valider que tout se soit déroulé comme prévu en visitant l’adresse IP de votre serveur public sur votre navigateur web (voir la note sous la rubrique suivante afin de voir quel est votre adresse IP, si vous ne disposez pas déjà de cette information) :

      http://your_server_ip
      

      Vous allez voir la page web par défaut du serveur Ubuntu 18.04 Apache qui s’affiche à titre d’information et à des fins d’essai. La page devrait ressembler à ceci :

      Ubuntu 18.04 Apache default

      Si vous voyez cette page, cela veut dire que votre serveur web est maintenant bien installé et qu’il est accessible à travers votre pare-feu.

      Si vous ne connaissez pas l’adresse IP publique de votre serveur, il existe différentes façons de la trouver. Normalement, il s’agit de l’adresse que vous utilisez afin de vous connecter à votre serveur via SSH.

      Il y a plusieurs façons d’effectuer cela à partir de la ligne de commande. D’abord, vous pouvez utiliser les outils iproute2 afin d’obtenir votre adresse IP en écrivant ceci :

      • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

      Vous devriez voir apparaître deux ou trois lignes de résultats. Ce sont tous des adresses correctes, par contre votre ordinateur ne sera peut-être qu’en mesure d’utiliser une de celles-ci, alors libre à vous d’essayer chacune d’entre elles.

      Une autre méthode consiste à utiliser l’outil curl pour contacter un correspondant externe afin qu’il vous informe comment « il » perçoit votre serveur. Cela s’effectue en demandant à un serveur spécifique quelle est votre adresse IP :

      • sudo apt install curl
      • curl http://icanhazip.com

      Indépendamment de la méthode que vous choisissez pour obtenir votre adresse IP, inscrivez-la sur la barre d’adresse de votre navigateur afin de voir la page par défaut d’Apache.

      Étape 2 — Installer MySQL

      Maintenant que votre serveur web est opérationnel, il est temps d’installer MySQL. MySQL est un système de gestion de base de données. Il sert essentiellement à organiser et donner l’accès aux bases de données au sein desquelles votre site pourra emmagasiner de l’information.

      Encore une fois, utiliser apt pour obtenir et installer ce logiciel.

      • sudo apt install mysql-server

      Note: Dans ce cas, vous n’avez pas besoin d’activer sudo apt update avant d’effectuer la commande. Cela est dû au fait que l’avez récemment activé dans les commandes ci-dessus pour installer Apache. Le paquet d’index sur votre ordinateur devrait déjà être à jour.

      Cette commande affichera également une liste des paquets qui seront installés, de même que l’espace qu’ils occuperont sur votre disque dur. Entrez la touche Y pour continuer.

      Lorsque l’installation est complétée, exécuter un script de sécurité simple qui est préinstallé avec MySQL et qui permettra de supprimer des défaillances dangereuses et puis de verrouiller l’accès à votre système de base de données. Démarrer le script interactif en exécutant la commande :

      • sudo mysql_secure_installation

      On vous demandera si vous désirez configurer le VALIDATE PASSWORD PLUGIN.

      Note: Activer cette fonctionnalité demeure une question de jugement. Lorsqu’activés, les mots de passe qui ne correspondent pas au critère spécifique seront refusés par MySQL avec un message d’erreur. Ceci engendrera des problèmes si vous utilisez un mot de passe faible conjointement à l’application qui configure automatiquement les identifiants d’utilisateurs MySQL, tels que les paquets d’Ubuntu pour phpMyAdmin. Il est sécuritaire de laisser la validation désactivée, mais vous devriez toujours utiliser un mot de passe robuste et unique pour les authentifications de base de données.

      Répondre Y pour oui, ou n’importe quelle autre commande pour continuer sans l’activer.

      VALIDATE PASSWORD PLUGIN peut être utilisé pour tester les mots de passe
      et améliorer la sécurité. Le système vérifie la sécurité du mot de passe
      et permet aux utilisateurs de définir uniquement les mots de passe qui sont
      assez bien sécurisés en demandant : Voulez-vous configurer le plug-in  - VALIDATE PASSWORD?
      Press y|Y for Yes, any other key for No:
      

      Si vous répondez “oui”, on vous demandera de choisir un niveau de validation de mot de passe. Gardez à l’esprit que si vous choisissez 2, pour le niveau le plus élevé, vous recevrez des messages d’erreur lorsque vous tenterez de définir un mot de passe qui ne contient pas de chiffre, de majuscule et de minuscule, de caractères spéciaux, ou qui s’inspire de mots communs du dictionnaire.

      Il existe trois niveaux de politique de validation du mot de passe:
      
      LOW    Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
      
      Veuillez saisir 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
      

      Indépendamment de votre décision de configurer ou non le VALIDATE PASSWORD PLUGIN, votre serveur vous demandera de choisir et de confirmer un mot de passe pour l’utilisateur root MySQL. Il s’agit d’un compte administratif au sein de MySQL qui possède des privilèges accrus. Voyez-le comme étant similaire au compte root pour le serveur lui-même (bien que celui que vous êtes en train de configurer est un compte spécifique au sein de MySQL). Assurez-vous que vous de détenir un mot de passe robuste, unique, et de ne pas laisser l’espace vide.

      Si vous activez la validation du mot de passe, on vous indiquera la robustesse du mot de passe root que vous venez d’inscrire et votre serveur vous demandera si vous voulez le modifier. Si vous êtes satisfait de votre mot de passe, entrez N pour « non » au moment de faire le choix :

      Utiliser le mot de passe existant pour root.
      
      Force estimée du mot de passe : 100
      Changer le mot de passe pour root ? ((Press y|Y for Yes, any other key for No) : n
      

      Pour le reste des questions, entrez la touche Y et appuyer sur le bouton ENTER au moment de faire le choix. Cela supprimera certains utilisateurs anonymes ainsi que la base de données d’essai, désactivera les identifications root à distance et chargera les nouvelles règles afin que MySQL applique automatiquement les changements que vous venez d’apporter.

      Veuillez noter que pour les systèmes Ubuntu fonctionnant avec MySQL 5.7 (et les versions ultérieures), l’utilisateur root MySQL est configuré par défaut pour authentifier en utilisant le plugin auth_socket, plutôt qu’avec un mot de passe. Cela permet d’avoir une meilleure sécurité et ergonomie dans de nombreux cas, mais il peut également compliquer les choses lorsque vous devez autoriser l’ouverture d’un programme externe (ex : phpMyAdmin) afin d’accéder au serveur.

      Si vous préférez utiliser un mot de passe lorsque vous vous connectez au MySQL en tant que root, vous aurez besoin de changer le mode d’authentification de auth_socket à mysql_native_password. Pour y parvenir, ouvrez le prompt MySQL à partir de votre terminal :

      Ensuite, vérifier quel mode d’authentification chacun de vos comptes d’utilisateurs MySQL fait appel avec la commande suivante :

      • SELECT user,authentication_string,plugin,host FROM mysql.user;

      SortieOutput

      +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

      Dans cet exemple, vous pouvez voir que l’utilisateur root s’authentifie effectivement en utilisant le plugin auth_socket. Afin de configurer le compte root pour l’identification avec mot de passe, exécuter la commande ALTER USER ci-dessous. Assurez-vous de modifier password pour un mot de passe robuste de votre choix :

      • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

      Ensuite, exécuter FLUSH PRIVILEGES, qui envoie un message au serveur de renouveler les tableaux d’autorisations et de mettre en application vos nouvelles modifications :

      Vérifier encore les modes d’authentifications utilisées par chacun de vos utilisateurs afin de confirmer que le root ne s’authentifie plus en utilisant le plugin auth_socket :

      • SELECT user,authentication_string,plugin,host FROM mysql.user;

      SortieOutput

      +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

      Vous pouvez voir dans cet exemple que l’utilisateur root de MySQL s’authentifie actuellement en utilisant un mot de passe. Une fois que vous aurez confirmé cela sur votre propre serveur, vous pouvez sortir du shell MySQL :

      À ce stade, votre système de base de données est maintenant programmé et vous pouvez poursuivre avec l’installation PHP, le dernier composant de la pile LAMP.

      Étape 3 — Installer PHP

      PHP est le composant de votre configuration qui sert de code de traitement pour afficher le contenu dynamique. Il peut exécuter des scripts, se connecter à vos bases de données MySQL afin d’obtenir de l’information et acheminer le contenu traité vers votre serveur web pour affichage.

      Encore une fois, utiliser le système apt pour installer PHP. De plus, inclure des paquets d’assistance cette fois-ci afin de permettre au code PHP de s’exécuter sous le serveur Apache et communiquer avec votre base de données MySQL :

      • sudo apt install php libapache2-mod-php php-mysql

      Cela devrait permettre d’installer PHP sans problème. Nous le mettrons à l’essai dans un moment.

      Dans la plupart des cas, vous allez vouloir modifier la façon dont Apache dessert les fichiers lorsqu’un répertoire est demandé. Actuellement, si un utilisateur demande un répertoire du serveur, Apache recherchera d’abord pour un fichier nommé index.html. Nous voulons dire au serveur web de donner priorité aux fichiers PHP, ainsi il faut exiger à Apache de regarder pour un fichier index.php en premier.

      Afin d’effectuer cela, entrez cette commande pour ouvrir le fichier dir.conf dans un éditeur de texte avec des privilèges root :

      • sudo nano /etc/apache2/mods-enabled/dir.conf

      Cela va ressembler à cela :

      /etc/apache2/mods-enabled/dir.conf

      <IfModule mod_dir.c>
          DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
      </IfModule>
      

      Déplacer le fichier d’index PHP (surligner ci-dessous) à la première position après la spécification DirectoryIndex, de la manière suivante :

      /etc/apache2/mods-enabled/dir.conf

      <IfModule mod_dir.c>
          DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
      </IfModule>
      

      Lorsque vous avez terminé, sauvegarder et fermer le fichier en appuyant sur CTRL+X. Confirmer la sauvegarde en entrant la touche Y et en appuyant sur ENTER afin de vérifier la localisation du fichier de sauvegarde.

      Ensuite, redémarrer le serveur web Apache afin que vos modifications prennent effet. Cela s’effectuera en inscrivant ceci :

      • sudo systemctl restart apache2

      Vous pouvez également vérifier le statut du service apache2 en utilisant la commande systemctl :

      • sudo systemctl status apache2

      Sample SortieOutput

      ● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago Docs: man:systemd-sysv-generator(8) Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) Tasks: 6 (limit: 512) CGroup: /system.slice/apache2.service ├─13623 /usr/sbin/apache2 -k start ├─13626 /usr/sbin/apache2 -k start ├─13627 /usr/sbin/apache2 -k start ├─13628 /usr/sbin/apache2 -k start ├─13629 /usr/sbin/apache2 -k start └─13630 /usr/sbin/apache2 -k start

      Afin d’améliorer le fonctionnement de PHP, vous avez l’option d’installer de modules supplémentaires. Pour voir les options disponibles de modules PHP et de bibliothèques, mener les résultats de apt search vers less, un récepteur qui vous laissera défiler à travers les résultats d’autres commandes :

      Utiliser les flèches afin de défiler de haut en bas, et appuyer sur Q pour quitter.

      Les résultats sont tous des composants optionnels que vous pouvez installer. Une courte description de chacun d’entre eux sera affichée :

      bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
        Tracks usage of TCP/IP and builds html files with graphs
      
      bluefish/bionic 2.2.10-1 amd64
        advanced Gtk+ text editor for web and software development
      
      cacti/bionic 1.1.38+ds1-1 all
        web interface for graphing of monitoring systems
      
      ganglia-webfrontend/bionic 3.6.1-3 all
        cluster monitoring toolkit - web front-end
      
      golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
        PHP-like Compression and Archive Extensions in Go
      
      haserl/bionic 0.9.35-2 amd64
        CGI scripting program for embedded environments
      
      kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
        transitional package for kdevelop-php
      
      kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
        transitional package for kdevelop-php-l10n
      …
      :
      

      Pour en savoir plus sur la fonctionnalité de chaque module, vous pouvez chercher sur internet pour plus d’informations à leur sujet. Une autre solution est de lire la longue description du paquet en tapant :

      Il y aura plusieurs résultats, incluant un champ intitulé Description qui présentera une explication plus détaillée de la fonctionnalité du module en question.

      Par exemple, afin de découvrir en quoi le module php-cli consiste, vous pouvez taper :

      En plus de la grande quantité d’autres informations, vous obtiendrez quelque chose qui ressemble à ceci :

      SortieOutput

      … Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . Ce paquet est un forfait de dépendances, qui dépend du défaut d'Ubuntu PHP version (currently 7.2). …

      Si, après votre recherche, vous décidez que vous voulez installer un paquet, vous pouvez le faire en utilisation la commande apt install, de la même manière que vous avez procédé pour l’autre logiciel.

      Si vous décidez que le php-cli est quelque chose dont vous avez besoin, vous pouvez taper cette commande :

      Si vous désirez installer plus d’un module, vous pouvez le faire en énumérant chacun d’entre eux, séparé d’un espace, suivant la commande apt install, comme ceci :

      • sudo apt install package1 package2 ...

      À ce stade, votre pile LAMP est installée et configurée. Cependant, avant de procéder à toute modification ou de déployer une application, il serait préférable de tester votre configuration PHP de manière proactive au cas où il y aurait un problème à traiter.

      Étape 4 — Tester le processus PHP sur votre serveur web

      Afin de tester si votre système est configuré correctement pour PHP, créer un script PHP de base appelé info.php. Afin qu’Apache puisse localiser ce fichier et le desservir correctement, il devra être sauvegardé dans un répertoire bien spécifique, qui se nomme le "web root".

      Sur Ubuntu 18.04, ce répertoire est situé au /var/www/html/. Créer le fichier à cet emplacement en exécutant :

      • sudo nano /var/www/html/info.php

      Cela ouvrira un fichier vierge. Ajouter le texte suivant, qui s’agit d’un code PHP valide, à l’intérieur du fichier :

      info.php

      <?php
      phpinfo();
      ?>
      

      Lorsque vous aurez terminé, sauvegarder et fermer le fichier.

      Vous pouvez maintenant tester si votre serveur web affiche correctement le contenu généré par ce script PHP. Pour le tester, visiter la page suivante dans votre navigateur web. Vous aurez encore besoin de votre adresse IP publique.

      L’adresse que vous devrez consulter est la suivante :

      http://your_server_ip/info.php
      

      La page que vous allez accéder devrait ressembler à ceci :
      Ubuntu 18.04 default PHP info

      Cette page présente de l’information de base sur votre serveur du point de vue de PHP. Elle est pratique pour le débogage et afin d’assurer que vos réglages sont appliqués correctement.

      Si vous voyez cette page sur votre navigateur, alors votre PHP fonctionne correctement.

      Vous devriez supprimer ce fichier après la mise en essai parce qu’il pourrait en fait donner de l’information sur votre serveur à des utilisateurs non autorisés. Pour ce faire, exécuter la commande suivante :

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

      Vous pourrez toujours recréer cette page si vous avez besoin d’accéder à cette information plus tard.

      Conclusion

      Maintenant que votre pile LAMP est installée, vous avez plusieurs choix quant à ce que vous pouvez faire par la suite. Essentiellement, vous venez d’installer une plateforme qui vous permettra d’installer la plupart des types de site internet et de logiciels web sur votre serveur.

      Dans l’immédiat, vous devriez vous assurer que les connexions à votre serveur web sont sécurisées, en les faisant fonctionner via HTTPS. L’option la plus simple dans ce cas est de utiliser Let's Encrypt afin de sécuriser votre site avec un certificat TLS/SSL gratuit.

      D’autres options populaires demeurent (notez que pour le moment ces tutoriels sont seulement disponibles en anglais) :



      Source link