Différences
Ci-dessous, les différences entre deux révisions de la page.
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/07 14:38] – [Création d'un compte admin de secours] villersd | floss:config_ubuntu_server [2023/09/15 19:05] (Version actuelle) – villersd | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Configuration type d'un serveur sous Ubuntu ====== | ====== Configuration type d'un serveur sous Ubuntu ====== | ||
- | * 06/01/2020 19.10 Eoan Ermine | + | <note tip> |
+ | |||
+ | * Configuration pour usage général et scientifique | ||
+ | * Téléchargement | ||
+ | * Gravure du fichier iso, ou préparation d'une clé USB via Balena-Etcher (par exemple) | ||
+ | * Versions précédentes : | ||
+ | * [[config_ubuntu_server-20.04|Configuration type d'un serveur sous Ubuntu Server 20.04]], Focal Fossa | ||
+ | * [[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, | * références, | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * commandes intéressantes | ||
+ | * [[https:// | ||
+ | |||
+ | <note tip>Un serveur peut-être installé de différentes manières, notamment sur un ordinateur physique, ou sur un ordinateur virtuel. Cette deuxième manière de faire est particulièrement pratique pour se familiariser avec le fonctionnement d'un serveur, effectuer des tests, ..., raison pour laquelle on explique ci-après comment travailler avec le logiciel de virtualisation Virtual Box.</ | ||
- | ===== Installation de VirtualBox ===== | + | ===== Installation de VirtualBox |
+ | <note tip> | ||
* [[wp> | * [[wp> | ||
Ligne 12: | Ligne 31: | ||
* Linux + installation via ppa : [[https:// | * Linux + installation via ppa : [[https:// | ||
* Tutoriels divers : | * Tutoriels divers : | ||
+ | * **[[https:// | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
Ligne 17: | Ligne 38: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | ||
- | |||
<note tip> | <note tip> | ||
- | Installation testée en janvier 2020, via les commandes suivantes, adaptées de différentes sources : | + | Installation testée en septembre 2023, via les commandes suivantes, adaptées de différentes sources : |
* indiquez le nom de la version Ubuntu lors de l' | * indiquez le nom de la version Ubuntu lors de l' | ||
- | * remplacez le numéro | + | * remplacez le numéro |
* remplacez la variable %%$%%USER par votre nom d' | * remplacez la variable %%$%%USER par votre nom d' | ||
- | * ext pack : remplacer | + | * ext pack : remplacer |
</ | </ | ||
< | < | ||
+ | sudo apt update && sudo apt upgrade -y && sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl | ||
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:// | + | Pour Ubuntu 20.04 : |
+ | echo deb [arch=amd64 | ||
- | wget -q https:// | + | curl -fSsL https:// |
- | wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - | + | |
sudo apt-get update | sudo apt-get update | ||
- | sudo apt-get install virtualbox-6.1 | + | sudo apt-get install virtualbox-7.0 |
sudo usermod -G vboxusers -a $USER | sudo usermod -G vboxusers -a $USER | ||
- | wget https:// | + | </code> |
- | ou : | + | Pour le pack d' |
- | version=$(VBoxManage --version|cut -dr -f1|cut -d'_' | + | ==== Mise à jour de VirtualBox ==== |
- | </ | + | Si les sources sont identiques, et qu'il s'agit d'une mise à jour mineure, effectuer simplement |
+ | sudo apt upgrade | ||
- | ===== Mise à jour de VirtualBox ===== | + | Sinon, pour mettre à jour, simplement désinstaller, |
- | Pour mettre à jour, simplement désinstaller, | + | |
sudo apt remove --purge virtualbox virtualbox-* | sudo apt remove --purge virtualbox virtualbox-* | ||
sudo apt autoremove | sudo apt autoremove | ||
Ligne 53: | Ligne 73: | ||
sudo apt update | sudo apt update | ||
- | Ensuite reprendre l' | + | Ensuite reprendre l' |
+ | |||
+ | ===== Installation de VirtualBox sous Windows ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Génération de clés SSH ===== | ===== Génération de clés SSH ===== | ||
L' | L' | ||
< | < | ||
- | 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 ~/ | + | 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 ~/ |
<note tip>Sous Windows, utiliser : | <note tip>Sous Windows, utiliser : | ||
Ligne 70: | Ligne 97: | ||
</ | </ | ||
- | ===== Installation du serveur ===== | + | ===== Installation du serveur |
- | Installation standard de Linux, Apache, MySQL, Php + outils. Base choisie : Ubuntu server | + | <note important> |
+ | |||
+ | Installation standard de Linux, Apache, MySQL, Php + outils. Base choisie : Ubuntu server. | ||
* [[http:// | * [[http:// | ||
* Lancement de VirtuaBox et création d'une nouvelle machine virtuelle (VM). Par exemple : | * Lancement de VirtuaBox et création d'une nouvelle machine virtuelle (VM). Par exemple : | ||
- | * Ubuntu-19.10_server | + | * Ubuntu-22.04.3_server |
- | * 2048 Mo | + | * 4096 Mo |
- | * Disque dur virtuel (.vdi) | + | * 2 cpu |
+ | * Disque dur virtuel (.vdi) | ||
* Ajustement (menu configuration) de quelques paramètres de la VM : | * Ajustement (menu configuration) de quelques paramètres de la VM : | ||
* stockage : renseigner le fichier iso dans le lecteur CD/DVD virtuel | * stockage : renseigner le fichier iso dans le lecteur CD/DVD virtuel | ||
Ligne 82: | Ligne 112: | ||
* Démarrer la VM. Le live-CD virtuel de Ubuntu propose le choix de la langue (prendre français) et la touche F3 permet de choisir le clavier (par exemple belge). Sélectionner " | * Démarrer la VM. Le live-CD virtuel de Ubuntu propose le choix de la langue (prendre français) et la touche F3 permet de choisir le clavier (par exemple belge). Sélectionner " | ||
* Select a langage (choisir Français/ | * Select a langage (choisir Français/ | ||
- | * " | + | * (" |
* Configurer le clavier (disposition belge/ | * Configurer le clavier (disposition belge/ | ||
* Connections réseau → accepter la proposition détectée | * Connections réseau → accepter la proposition détectée | ||
Ligne 103: | Ligne 133: | ||
* Le premier redémarrage permet de vérifier le login (user/mdp) et de relever l'IP du serveur par la commande "ip a" | * Le premier redémarrage permet de vérifier le login (user/mdp) et de relever l'IP du serveur par la commande "ip a" | ||
* mises à jour : | * mises à jour : | ||
- | * sudo apt-get upgrade | ||
* sudo apt-get update | * sudo apt-get update | ||
+ | * sudo apt-get upgrade | ||
* redémarrage : sudo reboot | * redémarrage : sudo reboot | ||
* arrêt : sudo halt | * arrêt : sudo halt | ||
+ | * sauvegarde de la VM par exportation | ||
* Connexion à partir d'une autre machine : ssh vmuser@ip_adress (remplacer ip_adress par la valeur relevée) | * Connexion à partir d'une autre machine : ssh vmuser@ip_adress (remplacer ip_adress par la valeur relevée) | ||
* Clé SSH | * Clé SSH | ||
Ligne 124: | Ligne 155: | ||
==== Serveur LAMP ==== | ==== Serveur LAMP ==== | ||
* Références | * Références | ||
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | |
- | * sudo apt install apache2 | + | |
- | * sudo apt install | + | * [[https:// |
- | * test du serveur apache : [[http:// | + | * [[https:// |
- | * sudo nano / | + | * [[https:// |
- | * (ajouter vmuser au groupe www-data | + | |
- | * Paquets : | + | * sudo apt install |
- | * sudo apt-get install php-pear php-dev | + | * test du serveur apache |
- | * (sudo apt-get install unison) → non fait | + | |
- | * (sudo apt-get install texlive-latex-base imagemagick ghostscript) → non fait | + | * **sudo nano / |
- | * (sudo apt-get install graphviz graphviz-doc) → non fait | + | * La configuration de PHP se fait via un fichier php.ini localisé sous Jammy Jellyfish 22.04 ici : / |
- | | + | * Paquets |
+ | | ||
* Remarques | * Remarques | ||
- | * php-mcrypt a été enlevé depuis php 7.2 | + | |
- | * [[https://www.adminer.org/|Adminer]] remplace phpmyadmin | + | * [[https://doc.ubuntu-fr.org/tutoriel/ |
- | * sudo mysql_secure_installation | + | * [[https:// |
- | * Adminer | + | * ajouter l' |
- | * (< | + | * **Un CMS sans base de données comme DokuWiki ne nécessite pas l' |
- | * sudo wget " | + | * redémarrer néanmoins apache2 : sudo systemctl restart apache2 |
- | * sudo service apache2 restart | + | * sudo apt install php-mysql |
- | * Pour avoir un ccès global aux bases de données depuis un même compte, la solution conseillée est de créer un nouvel utilisateur et de lui attribuer tous les privilèges : | + | * installation soit de MySQL, soit de MariaDB |
- | * sudo mysql | + | * sudo apt install |
- | * Puis dans la console MySQL : | + | |
- | * CREATE USER ' | + | * Test local de MySQL : |
- | * GRANT ALL ON *.* TO ' | + | |
- | * FLUSH PRIVILEGES; | + | * SHOW DATABASES |
- | * QUIT; | + | * Remarque : mysql_secure_installation (renseigné dans certains tutoriels) ne doit pas être utilisé |
- | * En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans cette requête | + | |
+ | * Pour avoir un accès | ||
+ | * sudo mysql → Puis dans la console MySQL : | ||
+ | * CREATE USER ' | ||
+ | * GRANT ALL PRIVILEGES | ||
+ | * FLUSH PRIVILEGES; | ||
+ | * QUIT; | ||
+ | * En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans ces requêtes | ||
+ | * sudo service apache2 restart **ou** sudo systemctl restart apache2 | ||
+ | * sudo service mysql restart **ou** sudo systemctl restart mysql | ||
+ | |||
+ | ==== Adminer ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * références adminer plus anciennes : | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | * Installation : | ||
+ | * sudo apt-get install adminer **ou mieux, utiliser la version la plus récente sur le site :** | ||
+ | * < | ||
* Access Adminer at the following address : [[http:// | * Access Adminer at the following address : [[http:// | ||
- | * [[https:// | + | ==== PhpMyAdmin (obsolete sous 20.04, ok en 18.04) ==== |
+ | <note warning> | ||
+ | * Conservé pour mémoire et usage sous Ubuntu 18.04 | ||
+ | * Poursuivre l' | ||
+ | </note> | ||
- | Comme adminer ne fonctionne pas, on essaye | + | * [[https:// |
- | * sudo apt-get install phpmyadmin → NON NON NON | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * sudo apt install phpmyadmin | ||
+ | * outil de configuration | ||
+ | * serveur web : apache2 | ||
+ | * accepter la création d'une DB pour phpmyadmin (refuser autrement) | ||
+ | * Faut-il configurer la DB avec dbconfig-common ? → < | ||
+ | * mot de passe de connexion MySQL pour phpmyadmin : phpmyadmin_mdp (CHOISISSEZ UN MOT DE PASSE SÛR) | ||
+ | * Tester [[http:// | ||
+ | * utilisateur : phpmyadmin - mdp : phpmyadmin_mdp | ||
+ | * superutilisateur mysql/ | ||
- | on réessaye | ||
- | * sudo apt-get install adminer | ||
+ | ==== Compléments d' | ||
- | | + | === Envoi d' |
- | * configuration ssl ?? | + | |
+ | * [[https:// | ||
+ | * sudo apt install msmtp msmtp-mta | ||
+ | * Configuration pour l' | ||
+ | * vérification (doc.ubuntu-fr) ls -la / | ||
+ | * test : echo ' | ||
+ | |||
+ | problème | ||
+ | * [[https:// | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | === Configuration de Apache2 === | ||
+ | * installer le module " | ||
+ | * sudo a2enmod rewrite | ||
+ | * sudo systemctl restart apache2 | ||
+ | |||
+ | === non fait : === | ||
+ | |||
+ | * Paquets : | ||
+ | * (sudo apt-get install php-pear php-dev) → non fait | ||
+ | * (sudo apt-get install unison) → 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 gnuplot) → non fait (nécessaire pour l' | ||
+ | * autres paquets | ||
+ | * cairo ?? | ||
+ | * configuration ssl (https, certificats, | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | ==== Migration, mise à jour du serveur... ==== | ||
+ | |||
+ | <note important> | ||
+ | Message d' | ||
+ | </ | ||
+ | |||
+ | * Régulièrement : | ||
+ | * sudo apt-get update | ||
+ | * sudo apt-get upgrade | ||
+ | * Automatisation d' | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Mise à niveau de l'OS (par exemple Ubuntu server 20.04.1): | ||
+ | * faire un backup du serveur ou de la VM (snapshot) | ||
+ | * sudo apt-get update | ||
+ | * sudo apt-get upgrade | ||
+ | * sudo reboot | ||
+ | * Installer l' | ||
+ | * sudo do-release-upgrade | ||
+ | * sudo reboot | ||
+ | * vérifier la mise à niveau. Revenir en arrière si problème, refaire une sauvegarde/ | ||
+ | * Références : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ===== Installation et gestion de logiciels sur un serveur LAMP ===== | ||
+ | * [[wp> | ||
+ | * [[dokuwiki|DokuWiki]] | ||
+ | * [[moodle|Moodle]] | ||
+ | * [[h5p|H5P]] | ||
+ | * Wordpress | ||
+ | * limesurvey | ||
+ | * ... | ||
+ | ===== Virtualisation et containers sur le serveur ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |