Table des matières

Configuration type d'un serveur sous Ubuntu

Adaptation en cours vers la version 22.04 !!
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 sous Linux (Ubuntu)

VirtualBox peut tout aussi bien être installé sur un système “hôte” de type Windows ou Mac OS. Et finalement, la gestion de la machine virtuelle créée (“guest”) s'effectue le plus souvent à distance via un terminal permettant la connexion en SSH (terminal intégré à GNU/Linux ou Mac OS, client PuTTY sous Windows). La gestion peut alors s'effectuer sur le réseau local, ou via Internet, éventuellement par l'utilisation d'un VPN si le serveur n'est pas accessible directement sur le réseau public.
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'ajout de la source (repository)
  • remplacez le numéro 7.0 par une nouvelle version si existante sur virtualbox.org
  • remplacez la variable $USER par votre nom d'utilisateur Linux
  • ext pack : remplacer 7.0.10 en fonction de la version indiquée ici
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`
Pour Ubuntu 20.04 :
echo deb [arch=amd64 signed-by=/usr/share/keyrings/virtualbox.gpg] http://download.virtualbox.org/virtualbox/debian focal contrib | sudo tee /etc/apt/sources.list.d/virtualbox.list

curl -fSsL https://www.virtualbox.org/download/oracle_vbox_2016.asc | gpg --dearmor | sudo tee /usr/share/keyrings/virtualbox.gpg > /dev/null

sudo apt-get update
sudo apt-get install virtualbox-7.0

sudo usermod -G vboxusers -a $USER

Pour le pack d'extension, il suffit de le télécharger, et de l'installer via le menu de virtualbox.

Mise à jour de VirtualBox

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 autoremove

Redémarrer le système (sudo reboot, systemctl reboot). Définir ensuite les nouvelles sources si la version de Ubuntu est différente (mise à jour), puis :

sudo apt update

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.

Installation de VirtualBox sous Windows

Génération de clés SSH

L'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 :

ssh-keygen -t rsa

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).

Sous Windows, utiliser :
  • PuTTY pour communiquer en ligne de commande (client SSH),
  • WinSCP ou Filezilla pour accéder aux fichiers (clients SFTP);
  • PuTTYgen pour générer les clés SSH

Références :

Installation du serveur sous Ubuntu 22.04

VM VirtualBox testée sur un PC sous Linux avec processeur i7. Le fonctionnement devrait être aussi OK sous Windows ou mac, et avec un processeur i5.

Installation standard de Linux, Apache, MySQL, Php + outils. Base choisie : Ubuntu server.

Problème réseau : pour forcer le dhcp, utiliser les commandes “sudo ip link set dev eth0 down” et “sudo dhclient eth0” cf. ici. Cette action doit être refaite chaque fois que l'IP n'est pas attribuée.

Création d'un compte admin de secours

Serveur LAMP

Adminer

PhpMyAdmin (obsolete sous 20.04, ok en 18.04)

  • Conservé pour mémoire et usage sous Ubuntu 18.04
  • Poursuivre l'utilisation de phpmyadmin est possible, en respectant le nouveau mode d'identification du root de MySQL en sudo

Compléments d'installation du serveur

Envoi d'emails (par exemple par DokuWiki)

problème

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 !!

Configuration de Apache2

non fait :

https://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl

Migration, mise à jour du serveur...

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/ !!)

Installation et gestion de logiciels sur un serveur LAMP

Virtualisation et containers sur le serveur