Table des matières
Ceci est une ancienne révision du document !
Configuration type d'un serveur sous Ubuntu
- 06/01/2020 19.10 Eoan Ermine : http://releases.ubuntu.com/19.10/ : 64-bit PC (AMD64) server install image
- références, tutoriels,…
- How to Install Ubuntu Server on VirtualBox 11 Dec 2019, James Hibbard
Installation de VirtualBox
- Linux + installation via ppa : https://www.virtualbox.org/wiki/Linux_Downloads
- Tutoriels divers :
- 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 la variable $USER par votre nom d'utilisateur Linux
- ext pack : remplacer 6.0.14 en fonction de la version indiquée ici
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" 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.asc -O- | sudo apt-key add - sudo apt-get update sudo apt-get install virtualbox-6.1 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 ou : version=$(VBoxManage --version|cut -dr -f1|cut -d'_' -f1) && wget -c http://download.virtualbox.org/virtualbox/$version/Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack && VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack --replace && rm *.vbox-extpack
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 :
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.
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) 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).
Références :
- http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter3.html#3.1.1 (copier-coller sous PuTTY)
Installation du serveur
Installation standard de Linux, Apache, MySQL, Php + outils. Base choisie : Ubuntu server
- Lancement de VirtuaBox et création d'une nouvelle machine virtuelle (VM). Par exemple :
- Ubuntu-19.10_server (type Linux et version 64 bit)
- 2048 Mo
- Disque dur virtuel (.vdi) 10 Go (dynamiquement alloué)
- Ajustement (menu configuration) de quelques paramètres de la VM :
- stockage : renseigner le fichier iso dans le lecteur CD/DVD virtuel
- réseau : accès par pont (si problème avec wlan0, tester eth0)
- 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 “Installer Ubuntu Server”.
- Select a langage (choisir Français/French)
- “installer update available” → Update to the new installer
- Configurer le clavier (disposition belge/Belgian ou autre…) et variante éventuelle
- Connections réseau → accepter la proposition détectée
- Configurer le proxy → si c'est le cas, fournir l'adresse. Sinon “Terminé”
- Configure Ubuntu archive mirror → modifier/indiquer si utile
- Configuration du système de fichier → “Utiliser un disque entier” (option standard)
- Choisir le disque où installer → disque virtuel proposé…
- sommaire du système de fichier → “Terminé” + “Confirmer l'action” (à ce moment les données éventuellement existantes du disque virtuelle seront perdues
- Configuration du profil :
- nom complet de l'utilisateur (ex : Virtual User)
- nom du serveur (ex : vmix)
- nom d'utilisateur (ex : vmuser)
- mot de passe (ex : vmuser_mdp) (CHOISISSEZ UN MOT DE PASSE SÛR)
- confirmer le mot de passe
- SSH Setup
- cocher “Install OpenSSH server
- (autres options non utilisées/modifiées)
- Featured Server Snaps → “Terminé” sans en choisir, sauf en connaissance de cause
- Fin d'installation et redémarrage du serveur (enlever ultérieurement le CD d'installation virtuel).
- 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 :
- sudo apt-get upgrade
- sudo apt-get update
- redémarrage : sudo reboot
- arrêt : sudo halt
- Connexion à partir d'une autre machine : ssh vmuser@ip_adress (remplacer ip_adress par la valeur relevée)
- Clé SSH
- générer sur le PC connecté une paire de clés privée/publique si non disponible (ex : ssh-keygen -o -b 4096 -t rsa)
- copier la clé publique sur le serveur
- ssh-copy-id -i ~/.ssh/id_rsa.pub vmuser@ip_adress
- tester la connexion qui doit fonctionner sans mdp : ssh vmuser@ip_adress
Création d'un compte admin de secours
- sudo adduser rescue
- (pwd : mdp_rescue)
- sudo usermod -a -G sudo rescue
Serveur LAMP
- Références
- https://doc.ubuntu-fr.org/apache2 configuration de apache2
- sudo apt install apache2 php libapache2-mod-php mysql-server php-mysql
- sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip
- test du serveur apache : http://ip_adress
- 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
- (ajouter vmuser au groupe www-data : sudo usermod -a -G www-data vmuser) → non fait
- Paquets :
- sudo apt-get install php-pear php-dev
- (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 phpmyadmin) → obsolète
- Remarques
- php-mcrypt a été enlevé depuis php 7.2
- Adminer remplace phpmyadmin
- sudo mysql_secure_installation
- Adminer (remplacement de phpmyadmin)
- (
sudo apt-get install adminer) → utiliser la version la plus récente sur le site - sudo wget “http://www.adminer.org/latest.php” -O /var/www/html/adminer.php
- sudo service apache2 restart (restart Apache)
- 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 :
- sudo mysql
- Puis dans la console MySQL :
- CREATE USER 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide';
- GRANT ALL ON *.* TO 'nom_utilisateur_choisi'@'localhost' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- QUIT;
- En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans cette requête
- Access Adminer at the following address : http://ip_adress/adminer.php
Comme adminer ne fonctionne pas, on essaye phpmyadmin…
- sudo apt-get install phpmyadmin → NON NON NON
on réessaye
- sudo apt-get install adminer
- configuration ssl ??