One place for hosting & domains

      rapide

      Comment installer la pile Linux, Apache, MySQL, PHP (LAMP) sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      Dans ce guide de démarrage rapide, nous allons installer une pile LAMP 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 la pile Linux, Apache, MySQL, PHP (LAMP) sur Ubuntu 20.04.

      Conditions préalables

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

      Étape 1 — Installer Apache

      Mettez à jour le cache de votre gestionnaire de paquets et installez ensuite Apache avec :

      • sudo apt update
      • sudo apt install apache2

      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 "Apache"

      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 :

      Ubuntu 20.04 Apache par défaut 

      Étape 2 – Installer MySQL

      Nous allons maintenant installer MySQL, un système de gestion de base de données très répandu 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é LAMP sur Ubuntu 20.04 pour apprendre comment le faire.

      Étape 3 – Installer PHP

      Pour installer PHP et ses dépendances, exécutez :

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

      Une fois l’installation terminée, vous pouvez exécuter la commande suivante pour confirmer votre version de PHP :

      Output

      PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

      Étape 4 – Création d’un hôte virtuel pour votre site web

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

      Apache sur Ubuntu 20.04 a un bloc serveur activé par défaut qui est configuré pour servir des documents à partir du répertoire /var/www/html. Au lieu de modifier /var/www/html, nous allons créer une structure de répertoire au sein de /var/www pour le site 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 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

      Ensuite, ouvrez un nouveau fichier de configuration dans le répertoire sites-available d’Apache en utilisant votre éditeur de ligne de commande préféré :

      • sudo nano /etc/apache2/sites-available/your_domain.conf

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

      /etc/apache2/sites-available/your_domain.conf

      <VirtualHost *:80>
          ServerName your_domain
          ServerAlias www.your_domain
          ServerAdmin webmaster@localhost
          DocumentRoot /var/www/your_domain
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      Enregistrez et fermez le fichier lorsque vous avez fini de le modifier. Si vous utilisez nano, vous pouvez le faire en appuyant sur CTRL+X, puis sur Y et sur ENTER.

      Vous pouvez désormais utiliser a2ensite pour activer le nouvel hôte virtuel : 

      • sudo a2ensite your_domain

      Pour désactiver le site web par défaut d’Apache, tapez :

      • sudo a2dissite 000-default

      Pour vous assurer que votre fichier de configuration ne contient pas d’erreurs de syntaxe, exécutez :

      • sudo apache2ctl configtest

      Enfin, relancez Apache pour que ces changements prennent effet :

      • sudo systemctl reload apache2

      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 vérifier que l’hôte virtuel 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>
      

      Now open your browser and access the domain name or IP address of your server on port 8000 :

      http://server_domain_or_IP
      

      Vous verrez une page comme celle-ci :

      Test de l'hôte virtuel Apache

      Étape 5 – Tester PHP avec Apache

      Nous allons maintenant créer un script de test PHP pour confirmer qu’Apache 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.

      Allez dans votre navigateur web et accédez au nom de domaine ou à l’adresse IP de votre serveur, suivi du nom du script, qui est dans ce cas info.php

      http://server_domain_or_IP/info.php
      

      Vous verrez une page similaire à celle-ci :

      Ubuntu 20.04 PHP info 

      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. Pour ce faire, vous pouvez utiliser rm :

      • 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 Nginx sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      Nginx est l’un des serveurs web les plus populaires au monde et se charge de l’hébergement de certains des sites les plus importants et les plus fréquentés sur Internet. Il est plus respectueux des ressources qu’Apache dans la plupart des cas, et peut être utilisé comme serveur web ou proxy inverse.

      Dans ce guide, nous vous expliquerons comment installer Nginx sur votre serveur Ubuntu 20.04. Pour une version plus détaillée de ce tutoriel, veuillez vous référer à Comment installer Nginx sur Ubuntu 20.04.

      Conditions préalables

      Avant de commencer ce guide, vous devez avoir un utilisateur non root ordinaire avec des privilèges sudo configurés sur votre serveur. Vous pouvez apprendre à configurer un compte utilisateur normal en suivant notre guide de configuration initiale de serveur pour Ubuntu 20.04.

      Lorsque vous avez un compte disponible, connectez-vous en tant qu’utilisateur non root pour commencer.

      Étape 1 – Installation de Nginx

      Étant donné que Nginx est disponible dans les référentiels par défaut d’Ubuntu, vous pouvez l’installer en utilisant le système de packaging apt.

      Mettez à jour votre index local des packages :

      Installez Nginx :

      Étape 2 – Réglage du pare-feu

      Si vous avez suivi le tutoriel de configuration préalable du serveur, alors le pare-feu UFW est activé. Vérifiez les profils d’application ufw disponibles avec la commande suivante :

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Activons le profil le plus restrictif qui permettra toujours le trafic que vous avez configuré, en autorisant le trafic sur le port 80 :

      • sudo ufw allow 'Nginx HTTP'

      Vérifiez le changement :

      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

      Vérifiez avec le système systemd init pour vous assurer que le service fonctionne en tapant :

      Output

      nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

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

      http://your_server_ip
      

      Vous devriez obtenir la page d’accueil par défaut de Nginx :

      Page par défaut de Nginx

      Étape 4 – Mise en place des blocs serveur (Recommandé)

      Avec le serveur Web Nginx, vous pouvez utiliser des blocs de serveur (similaires aux hôtes virtuels dans Apache) pour encapsuler les détails de configuration et héberger plusieurs domaines à partir d’un seul serveur. Nous allons configurer un domaine appelé your_domain, mais vous devez le remplacer par le nom propre à votre domaine. Pour en savoir plus sur la configuration d’un nom de domaine avec DigitalOcean, veuillez vous reporter à notre Introduction au DNS DigitalOcean.

      Créez le répertoire pour your_domain, en utilisant l’indicateur -p pour créer tout répertoire parent nécessaire :

      • sudo mkdir -p /var/www/your_domain/html

      Attribuez la propriété du répertoire :

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

      Les autorisations de vos racines web devraient être correctes si vous n’avez pas modifié votre valeur umask, mais vous pouvez vous en assurer en tapant :

      • sudo chmod -R 755 /var/www/your_domain

      Créez un exemple de page index.html en utilisant nano ou votre éditeur préféré :

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

      À l’intérieur, ajoutez l’exemple de HTML suivant :

      /var/www/your_domain/html/index.html

      <html>
          <head>
              <title>Welcome to your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain server block is working!</h1>
          </body>
      </html>
      

      Enregistrez et fermez le fichier lorsque vous avez terminé.

      Créer un nouveau bloc serveur à /etc/nginx/sites-available/your_domain :

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

      Collez dans le bloc de configuration suivant, mis à jour pour notre nouveau répertoire et nom de domaine :

      /etc/nginx/sites-available/your_domain

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

      Enregistrez et fermez le fichier lorsque vous avez terminé.

      Activez le fichier en créant un lien depuis celui-ci vers le répertoire sites-enabled :

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

      Deux blocs serveur sont maintenant activés et configurés pour répondre aux requêtes en fonction de leurs directives listen et server_name :

      • your_domain : répondra aux demandes de your_domain et www.your_domain.
      • default : répondra à toutes les demandes provenant du port 80 qui ne correspondent pas aux deux autres blocs.

      Pour éviter un éventuel problème de mémoire de compartiment de hachage pouvant résulter de l’ajout de noms de serveur supplémentaires, vous devez configurer une valeur unique dans le fichier /etc/nginx/nginx.conf. Ouvrez le fichier :

      • sudo nano /etc/nginx/nginx.conf

      Recherchez la directive server_names_hash_bucket_size et supprimez le symbole # pour décommenter la ligne :

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Testez les erreurs de syntaxe :

      Redémarrez Nginx pour activer vos modifications :

      • sudo systemctl restart nginx

      Nginx devrait maintenant vous présenter votre nom de domaine. Vous pouvez vérifier cela en allant sur http://your_domain où vous devriez voir quelque chose similaire à ceci :

      Nginx first server block

      Conclusion

      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 Comment configurer une pile LEMP sur Ubuntu 20.04.



      Source link

      Comment installer et configurer VNC sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      Le Virtual Network Computing, ou VNC, est un système de connexion qui vous permet d’utiliser votre clavier et votre souris pour interagir avec un environnement de bureau graphique sur un serveur distant. Il facilite la gestion des fichiers, des logiciels et des paramètres sur un serveur distant pour les utilisateurs qui ne sont pas encore à l’aise avec la ligne de commande.

      Avec ce guide de démarrage rapide, vous apprendrez à configurer un serveur VNC avec TightVNC sur un serveur Ubuntu 20.04 et à vous y connecter en toute sécurité via un tunnel SSH. Ensuite, vous utiliserez un programme client VNC sur votre ordinateur local pour interagir avec votre serveur via un environnement de bureau graphique.

      Conditions préalables

      Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :

      • Un serveur Ubuntu 20.04 avec un utilisateur administratif non root et un pare-feu configuré avec UFW. Pour le mettre en place, suivez notre guide de configuration initiale du serveur pour Ubuntu 20.04.
      • Un ordinateur local avec un client VNC installé. Le client VNC que vous utilisez doit prendre en charge les connexions sur les tunnels SSH :

      Étape 1 – Installation de l’environnement de bureau et du serveur VNC

      Une fois connecté à votre serveur avec SSH, mettez à jour votre liste de packages :

      Ensuite, installez Xfce avec le package xfce4-goodies, qui contient quelques améliorations pour l’environnement de bureau :

      • sudo apt install xfce4 xfce4-goodies

      Une fois cette installation terminée, installez le serveur TightVNC :

      • sudo apt install tightvncserver

      Ensuite, exécutez la commande vncpasswd pour définir un mot de passe d’accès VNC et créer les fichiers de configuration initiale :

      Vous serez invité à saisir et à vérifier un mot de passe pour accéder à votre machine à distance :

      Output

      You will require a password to access your desktops. Password: Verify:

      Le mot de passe doit comporter entre six et huit caractères. Les mots de passe de plus de 8 caractères seront automatiquement tronqués. Une fois que vous aurez vérifié le mot de passe, vous pourrez créer un mot de passe en lecture seule, mais ce n’est pas obligatoire.

      Si un jour, vous souhaitez modifier votre mot de passe ou ajouter un mot de passe en lecture seule, réexécutez la commande vncpasswd.

      Étape 2 – Configuration du serveur VNC

      Les commandes que le serveur VNC exécute au démarrage se trouvent dans un fichier de configuration appelé xstartup, situé dans le dossier .vnc, sous votre répertoire personnel. Au cours de cette étape, nous allons créer un script xstartup personnalisé qui demandera au serveur VNC de se connecter au bureau Xfce.

      Créez un nouveau fichier xstartup et ouvrez-le dans un éditeur de texte, comme nano :

      Ajoutez les lignes suivantes au nouveau fichier :

      ~/.vnc/xstartup

      #!/bin/bash
      xrdb $HOME/.Xresources
      startxfce4 &
      

      Après le shebang, la première commande du fichier, xrdb $HOME/. Xresources​​​, indique au framework de l’interface graphique de VNC de lire le fichier . Fichier Xresources. La deuxième commande indique au serveur de lancer Xfce.

      Enregistrez et fermez le fichier après avoir ajouté ces lignes. Si vous avez utilisé nano, faites-le en appuyant sur CTRL+X, Y, puis ENTER.

      Ensuite, rendez le fichier exécutable :

      Puis démarrez le serveur VNC avec la commande vncserver :

      Notez que cette fois, la commande inclut l’option -localhost, qui lie le serveur VNC à l’interface de bouclage de votre serveur. Cela forcera VNC à autoriser uniquement les connexions qui proviennent du serveur sur lequel il est installé.

      Vous verrez une sortie semblable à celle-ci :

      Output

      New 'X' desktop is your_hostname:1 Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log

      Ici, vous pouvez voir que la commande lance une instance de serveur par défaut sur le port 5901. Ce port est un port d’affichage et VNC le désigne par :1 :

      Étape 3 – Connexion sécurisée au bureau VNC

      Pour vous connecter en toute sécurité à votre serveur, vous allez établir un tunnel SSH puis dire à votre client VNC de se connecter en utilisant ce tunnel plutôt que d’établir une connexion directe.

      Créez une connexion SSH sur votre ordinateur local qui transfère en toute sécurité vers la connexion localhost pour VNC. Vous pouvez le faire via le terminal sous Linux ou macOS avec la commande ssh suivante :

      • ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

      Pour le port local, vous pouvez choisir n’importe quel port qui n’est pas déjà bloqué par un autre programme ou processus, bien que nous utilisions  59000 dans cet exemple. Veillez également à bien remplacer  sammy par le nom d’utilisateur de votre utilisateur Ubuntu et your_server_ip par l’adresse IP de votre serveur.

      Si vous vous connectez à votre serveur en utilisant PuTTY, vous pouvez créer un tunnel SSH en cliquant droit sur la barre supérieure de la fenêtre du terminal, puis en cliquant sur l’option Change Settings… :

      Cliquez droit sur la barre supérieure pour afficher l'option Modifier les paramètres

      Recherchez la branche Connection dans le menu arborescent, à gauche de la fenêtre de Reconfiguration de PuTTY. Développez la branche SSH et cliquez sur Tunnels. Sur l’écran Options controlling SSH port forwarding​​​​​​, saisissez 59000 sous Source Port ​et localhost:5901 sous Destination, de la manière suivante :

      Exemple de configuration de tunnel SSH de PuTTY

      Cliquez ensuite sur le bouton Add, puis sur le bouton Apply pour implémenter le tunnel.

      Une fois le tunnel en cours d’exécution, utilisez un client VNC pour vous connecter à localhost:59000. Vous serez invité à vous authentifier à l’aide du mot de passe défini au cours de l’étape 1.

      Une fois connecté, vous verrez le bureau Xfce par défaut. Il devrait ressembler à cela :

      Connexion VNC au serveur Ubuntu 20.04 avec l'environnement de bureau Xfce

      Vous pouvez accéder aux fichiers dans votre répertoire de base via le gestionnaire de fichiers ou depuis la ligne de commande, comme illustré ici :

      Gestionnaire de fichiers via une connexion VNC à Ubuntu 20.04

      Appuyez sur CTRL+C dans votre terminal local pour arrêter le tunnel SSH et revenir à votre invite. Cela déconnectera également votre session VNC.

      Étape 4 – Exécution de VNC en tant que service système

      En configurant le serveur VNC pour qu’il s’exécute en tant que service systemd, vous pouvez utiliser les commandes de gestion de systemd pour démarrer, arrêter et redémarrer le serveur, tout comme activer son lancement à chaque démarrage du serveur.

      Créez tout d’abord un nouveau fichier d’unité systemd que vous nommerez /etc/systemd/system/vncserver@.service:

      • sudo nano /etc/systemd/system/vncserver@.service

      Le symbole @ à la fin du nom nous permettra de transmettre un argument que vous pourrez utiliser dans la configuration du service. Vous l’utiliserez pour spécifier le port d’affichage VNC que vous souhaitez utiliser lorsque vous gérez le service.

      Ajoutez les lignes suivantes au fichier, en veillant à modifier la valeur de User, Group, WorkingDirectory et saisir votre nom d’utilisateur dans la valeur de PIDFILE :

      /etc/systemd/system/vncserver@.service

      [Unit]
      Description=Start TightVNC server at startup
      After=syslog.target network.target
      
      [Service]
      Type=forking
      User=sammy
      Group=sammy
      WorkingDirectory=/home/sammy
      
      PIDFile=/home/sammy/.vnc/%H:%i.pid
      ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
      ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
      ExecStop=/usr/bin/vncserver -kill :%i
      
      [Install]
      WantedBy=multi-user.target
      

      Enregistrez et fermez le fichier.

      Ensuite, informez le système du nouveau fichier d’unité :

      • sudo systemctl daemon-reload

      Activez le fichier d’unité :

      • sudo systemctl enable vncserver@1.service

      Le 1 suivant le signe @ indique le numéro d’affichage sur lequel le service doit apparaître, dans ce cas la valeur par défaut :1, comme mentionné à l’étape 2.

      Arrêtez l’instance actuelle du serveur VNC si elle est toujours en cours d’exécution.

      Puis, démarrez-le comme vous le feriez pour n’importe quel autre service systemd :

      • sudo systemctl start vncserver@1

      Vous pouvez vérifier qu’il a démarré avec cette commande :

      • sudo systemctl status vncserver@1

      Consultez notre tutoriel Comment utiliser Systemctl pour gérer les services et unités Systemd pour plus d’informations sur systemctl.

      Pour vous reconnecter, redémarrez votre tunnel SSH :

      • ssh -L 59000:127.0.0.1:5901 -C -N -l sammy your_server_ip

      Puis, établissez une nouvelle connexion à localhost:59000 à l’aide de votre logiciel client VNC pour vous connecter à votre serveur.

      Conclusion

      Vous disposez maintenant d’un serveur VNC sécurisé fonctionnant sur votre serveur Ubuntu 20.04. Vous pourrez désormais gérer vos fichiers, vos logiciels et vos paramètres grâce à une interface graphique intuitive, ainsi qu’exécuter des logiciels graphiques à distance comme des navigateurs Web.



      Source link