floss:config_ubuntu_server

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
floss:config_ubuntu_server [2020/01/09 17:46]
villersd [Compléments d'installation du serveur]
floss:config_ubuntu_server [2020/08/24 14:47] (Version actuelle)
villersd
Ligne 1: Ligne 1:
 ====== Configuration type d'un serveur sous Ubuntu ====== ====== Configuration type d'un serveur sous Ubuntu ======
-  * 06/01/2020 Ubuntu server 19.10 Eoan Ermine : [[http://releases.ubuntu.com/19.10/]] : [[http://releases.ubuntu.com/19.10/ubuntu-19.10-live-server-amd64.iso|64-bit PC (AMD64) server install image]] (utile pour l'intérêt des nouveautés, avec possibilité de mise à jour proche vers la 20.04 LTS+  * Configuration pour usage général et scientifique 
-  * 07/01/2020 Ubuntu server 18.04 Bionic Beaver (**Long Term Support**) : [[https://ubuntu.com/download/server/thank-you?version=18.04.3&architecture=amd64]]+  * Téléchargement : [[https://ubuntu.com/download/server]], dernière version Ubuntu Server 20.04 LTS Focal Fossa, architecture AMD64 (03/07/2020) 
 +  * Gravure du fichier iso, ou préparation d'une clé USB via Balena-Etcher (par exemple
 +  * Versions précédentes : 
 +    * [[config_ubuntu_server-18.04|Configuration type d'un serveur sous Ubuntu Server 18.04]], Bionic Beaver 
 +    * [[config_ubuntu_server-16.04|Configuration type d'un serveur sous Ubuntu Server 16.04]], Xenial Xerus 
   * références, tutoriels,...   * références, tutoriels,...
 +    * [[https://www.howtoforge.com/tutorial/ubuntu-lts-minimal-server/|How to Install Ubuntu 20.04 LTS (Focal Fossa) Server]]
     * [[https://hibbard.eu/install-ubuntu-virtual-box/|How to Install Ubuntu Server on VirtualBox]] 11 Dec 2019, James Hibbard     * [[https://hibbard.eu/install-ubuntu-virtual-box/|How to Install Ubuntu Server on VirtualBox]] 11 Dec 2019, James Hibbard
     * [[https://doc.ubuntu-fr.org/serveur]]     * [[https://doc.ubuntu-fr.org/serveur]]
Ligne 25: Ligne 31:
  
 <note tip> <note tip>
-Installation testée en janvier 2020, via les commandes suivantes, adaptées de différentes sources :+Installation testée en juillet 2020, via les commandes suivantes, adaptées de différentes sources :
   * indiquez le nom de la version Ubuntu lors de l'ajout de la source (repository)   * indiquez le nom de la version Ubuntu lors de l'ajout de la source (repository)
   * remplacez le numéro 6.1 par une nouvelle version si existante sur virtualbox.org   * remplacez le numéro 6.1 par une nouvelle version si existante sur virtualbox.org
   * remplacez la variable %%$%%USER par votre nom d'utilisateur Linux   * remplacez la variable %%$%%USER par votre nom d'utilisateur Linux
-  * ext pack : remplacer 6.0.14 en fonction de la version indiquée [[https://www.virtualbox.org/wiki/Downloads|ici]]+  * ext pack : remplacer 6.1.12 en fonction de la version indiquée [[https://www.virtualbox.org/wiki/Downloads|ici]]
 </note> </note>
 <code> <code>
 sudo apt-get install build-essential dkms linux-source linux-headers-`uname -r` sudo apt-get install build-essential dkms linux-source linux-headers-`uname -r`
-sudo add-apt-repository "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian bionic contrib"+sudo add-apt-repository "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian focal contrib"
  
 wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
Ligne 43: Ligne 49:
 sudo usermod -G vboxusers -a $USER sudo usermod -G vboxusers -a $USER
  
-wget https://download.virtualbox.org/virtualbox/6.1.0/Oracle_VM_VirtualBox_Extension_Pack-6.1.0.vbox-extpack+wget https://download.virtualbox.org/virtualbox/6.1.12/Oracle_VM_VirtualBox_Extension_Pack-6.1.12.vbox-extpack
  
 ou : ou :
Ligne 51: Ligne 57:
  
 ==== Mise à jour de VirtualBox ==== ==== Mise à jour de VirtualBox ====
-Pour mettre à jour, simplement désinstaller, puis redéfinir des sources actualisées, puis réinstaller : Exécuter les commandes suivantes pour la désinstallation :+Si les sources sont identiques, et qu'il s'agit d'une mise à jour mineure, effectuer simplement : 
 +  sudo apt upgrade 
 + 
 +Sinon, pour mettre à jour, simplement désinstaller, puis redéfinir des sources actualisées, puis réinstaller : Exécuter les commandes suivantes pour la désinstallation :
   sudo apt remove --purge virtualbox virtualbox-*   sudo apt remove --purge virtualbox virtualbox-*
   sudo apt autoremove   sudo apt autoremove
Ligne 58: Ligne 67:
   sudo apt update   sudo apt update
  
-Ensuite reprendre l'installation.+Ensuite reprendre l'installation. Lors du démarrage de VirtualBox, il est très probable qu'une nouvelle version du pack d'extension sera proposée. Suivre simplement les instructions, et chaîner cela à l'exécution de VirtualBox plutôt que de sauvegarder le pack d'extension.
  
 ===== Génération de clés SSH ===== ===== Génération de clés SSH =====
 L'[[http://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee|authentification par un système de clés publique/privée]] vous sera très utile pour gérer vos serveurs. Générez ces clés avec la commande suivante : L'[[http://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee|authentification par un système de clés publique/privée]] vous sera très utile pour gérer vos serveurs. Générez ces clés avec la commande suivante :
 <code>ssh-keygen -t rsa</code> <code>ssh-keygen -t rsa</code>
-Les clés publiques et privées sont stockées dans votre répertoire ~/.ssh. Les répertoires cachés (hidden) peuvent être visualisés dans votre gestionnaire de fichier (Nautilus) en tapant ctrl-h. La clés privées ne doit JAMAIS être communiquée. Votre clé publique devra être placée dans le fichier ~/.ssh/authorized_keys des serveurs auxquels vous souhaitez accéder (voir plus loin). +Les clés publiques et privées sont stockées dans votre répertoire ~/.ssh. Les répertoires cachés (hidden) peuvent être visualisés dans votre gestionnaire de fichier (Nautilus, Nemo,...) en tapant ctrl-h. La clés privées ne doit JAMAIS être communiquée. Votre clé publique devra être placée dans le fichier ~/.ssh/authorized_keys des serveurs auxquels vous souhaitez accéder via la commande ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip_adress_or_dns_server (voir plus loin). 
  
 <note tip>Sous Windows, utiliser : <note tip>Sous Windows, utiliser :
Ligne 140: Ligne 149:
     * [[https://doc.ubuntu-fr.org/phpmyadmin]] phpMyAdmin est une interface web en PHP pour administrer à distance les SGBD MySQL     * [[https://doc.ubuntu-fr.org/phpmyadmin]] phpMyAdmin est une interface web en PHP pour administrer à distance les SGBD MySQL
     * [[https://doc.ubuntu-fr.org/msmtp]] envoi d'emails par SMTP : solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications sans avoir à mettre en place une solution lourde.     * [[https://doc.ubuntu-fr.org/msmtp]] envoi d'emails par SMTP : solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications sans avoir à mettre en place une solution lourde.
-  * sudo apt install apache2+  * **sudo apt install apache2**
   * test du serveur apache : [[http://ip_adress]] (serveur de pages web statiques)   * test du serveur apache : [[http://ip_adress]] (serveur de pages web statiques)
-  * sudo apt install php libapache2-mod-php +  * **sudo apt install php libapache2-mod-php** 
-  * sudo nano /var/www/html/phpinfo.php et ajouter <?php phpinfo(); ?> comme seule ligne à ce fichier. Sauver et test dans un navigateur : [[http://ip_adress/phpinfo.php]]+  * **sudo nano /var/www/html/phpinfo.php et ajouter <?php phpinfo(); ?>** comme seule ligne à ce fichier. Sauver et test dans un navigateur : [[http://ip_adress/phpinfo.php]]
   *  La configuration de PHP se fait via un fichier php.ini localisé sous Bionic (Ubuntu 18.04) ici : /etc/php/7.2/apache2/php.ini   *  La configuration de PHP se fait via un fichier php.ini localisé sous Bionic (Ubuntu 18.04) ici : /etc/php/7.2/apache2/php.ini
   * Paquets PHP souvent utiles (des modules additionnels pourront être installés en fonction des logiciels installés sur le serveur ainsi que leurs extensions/plugins) :   * Paquets PHP souvent utiles (des modules additionnels pourront être installés en fonction des logiciels installés sur le serveur ainsi que leurs extensions/plugins) :
-    * sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip+    * **sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip**
   * Remarques   * Remarques
     * php-mcrypt a été enlevé depuis php 7.2     * php-mcrypt a été enlevé depuis php 7.2
     * [[https://www.adminer.org/|Adminer]] remplace phpmyadmin dans la version 19.10. Il semblerait qu'il y aura un retour à phpmyadmin avec la version 20.04. Poursuivre l'utilisation de phpmyadmin semble donc pertinent, en respectant le nouveau mode d'identification du root de MySQL en sudo     * [[https://www.adminer.org/|Adminer]] remplace phpmyadmin dans la version 19.10. Il semblerait qu'il y aura un retour à phpmyadmin avec la version 20.04. Poursuivre l'utilisation de phpmyadmin semble donc pertinent, en respectant le nouveau mode d'identification du root de MySQL en sudo
-    * **À ce stade de l'installation, un CMS sans base de données comme DokuWiki peut déjà être installé et fonctionner !**+  [[https://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail|Serveur LAMP - Créer un/des répertoires de travail]] + intérêt d'ajouter l'utilisateur au groupe www-data + [[https://www.cyberciti.biz/faq/ubuntu-add-user-to-group-www-data/|lien2]] 
 +    [[https://askubuntu.com/questions/1115979/apache-permissions-to-allow-both-user-and-web-server-to-edit-var-www]] 
 +    ajouter l'utilisateur vmuser au groupe www-data : **sudo usermod -a -G www-data vmuser** 
 +    * **Un CMS sans base de données comme DokuWiki ne nécessite pas l'installation d'un SGBD (MySQL/MariaDB) comme expliqué ci-après !**
   * sudo apt install php-mysql   * sudo apt install php-mysql
   * installation soit de MySQL, soit de MariaDB (pour l'essentiel, suivre la documentation de MySQL)   * installation soit de MySQL, soit de MariaDB (pour l'essentiel, suivre la documentation de MySQL)
Ligne 193: Ligne 205:
       * [[https://websiteforstudents.com/manage-mariadb-mysql-databases-with-adminer-and-apache2/]]       * [[https://websiteforstudents.com/manage-mariadb-mysql-databases-with-adminer-and-apache2/]]
       * [[https://idroot.us/install-adminer-ubuntu-18-04/]]       * [[https://idroot.us/install-adminer-ubuntu-18-04/]]
-  * [[https://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail|Serveur LAMP - Créer un/des répertoires de travail]] + intérêt d'ajouter l'utilisateur au groupe www-data + [[https://www.cyberciti.biz/faq/ubuntu-add-user-to-group-www-data/|lien2]] 
-    * [[https://askubuntu.com/questions/1115979/apache-permissions-to-allow-both-user-and-web-server-to-edit-var-www]] 
-    * ajouter l'utilisateur vmuser au groupe www-data : sudo usermod -a -G www-data vmuser 
  
 ==== Compléments d'installation du serveur ==== ==== Compléments d'installation du serveur ====
Ligne 208: Ligne 217:
  
 <note tip>Effacer le nom d'utilisateur et le mot de passe si le serveur est diffusé, et/ou rendre invalide le compte par défaut de msmtp pour éviter des envois erronés vers le serveur d'email !! </note> <note tip>Effacer le nom d'utilisateur et le mot de passe si le serveur est diffusé, et/ou rendre invalide le compte par défaut de msmtp pour éviter des envois erronés vers le serveur d'email !! </note>
 +
 +=== Configuration de Apache2 ===
 +  * installer le module "rewrite" [[http://doc.ubuntu-fr.org/apache2]]
 +    * sudo a2enmod rewrite
 +    * sudo systemctl restart apache2
  
 === non fait : === === non fait : ===
Ligne 216: Ligne 230:
     * (sudo apt-get install texlive-latex-base imagemagick ghostscript) → non fait     * (sudo apt-get install texlive-latex-base imagemagick ghostscript) → non fait
     * (sudo apt-get install graphviz graphviz-doc) → non fait     * (sudo apt-get install graphviz graphviz-doc) → non fait
-  *  ?? +    (sudo apt-get install gnuplot) → non fait (nécessaire pour l'extension dataplot) 
-  * configuration ssl ??+  * autres paquets 
 +    * cairo ?? 
 +  * configuration ssl (https, certificats,...) 
 +    [[https://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl]] 
  
 ==== Migration, mise à jour du serveur... ==== ==== Migration, mise à jour du serveur... ====
 +
 +<note important>
 +Message d'erreur sur sudo do-release-update "There is no development version of an LTS available" → attendre (The -d switch is necessary to upgrade from Ubuntu 18.04 LTS as upgrades have not yet been enabled and will only be enabled after the first point release of 20.04 LTS) [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Upgrading_from_Ubuntu_18.04_LTS_or_19.10]] bizarre par rapport aux sorties 20.04.1 répertoriées sur [[https://releases.ubuntu.com/20.04/]] !!)
 +</note>
 +
   * Régulièrement :    * Régulièrement : 
     * sudo apt-get update     * sudo apt-get update
     * sudo apt-get upgrade     * sudo apt-get upgrade
 +  * Automatisation d'upgrade de sécurité (et autres) : unattended-upgrade
 +    * [[https://www.cyberciti.biz/faq/how-to-set-up-automatic-updates-for-ubuntu-linux-18-04/|How to set up automatic updates for Ubuntu Linux 18.04]]
 +    * [[https://guide.ubuntu-fr.org/server/automatic-updates.html]]
   * Mise à niveau de l'OS (par exemple Ubuntu server 20.04.1):   * Mise à niveau de l'OS (par exemple Ubuntu server 20.04.1):
-    * FIXME+    * faire un backup du serveur ou de la VM (snapshot) 
 +    * sudo apt-get update 
 +    * sudo apt-get upgrade 
 +    * sudo reboot 
 +    * Installer l'outil Ubuntu d'update : sudo apt install update-manager-core 
 +    * sudo do-release-upgrade 
 +    * sudo reboot 
 +    * vérifier la mise à niveau. Revenir en arrière si problème, refaire une sauvegarde/snapshot
   * Références :   * Références :
     * [[https://webdock.io/en/docs/how-guides/upgrading-webdock-webservers]]     * [[https://webdock.io/en/docs/how-guides/upgrading-webdock-webservers]]
 +    * [[https://www.cyberciti.biz/faq/upgrade-ubuntu-18-04-to-20-04-lts-using-command-line/]]
 +
 +
  
 ===== Installation et gestion de logiciels sur un serveur LAMP ===== ===== Installation et gestion de logiciels sur un serveur LAMP =====
  • floss/config_ubuntu_server.1578588377.txt.gz
  • Dernière modification: 2020/01/09 17:46
  • de villersd