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
Prochaine révisionLes deux révisions suivantes
floss:config_ubuntu_server [2020/01/08 05:33] villersdfloss:config_ubuntu_server [2020/08/18 12:33] – [Installation de VirtualBox sous Linux (Ubuntu)] 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 29: Ligne 35:
   * 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.en fonction de la version indiquée [[https://www.virtualbox.org/wiki/Downloads|ici]]
 </note> </note>
 <code> <code>
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
 +  * [[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 158: Ligne 171:
       * SHOW DATABASES       * SHOW DATABASES
   * Remarque : mysql_secure_installation (renseigné dans certains tutoriels) ne doit pas être utilisé   * Remarque : mysql_secure_installation (renseigné dans certains tutoriels) ne doit pas être utilisé
-  * sudo service apache2 restart  (restart Apache)+  * sudo service apache2 restart  (restart Apache) ou sudo systemctl restart apache2
   * Pour avoir un accè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 :   * Pour avoir un accè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 :     * sudo mysql → Puis dans la console MySQL :
Ligne 166: Ligne 179:
       * QUIT;       * QUIT;
     * En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans ces requêtes     * En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans ces requêtes
-  * sudo service apache2 restart +  * sudo service apache2 restart **ou** sudo systemctl restart apache2 
-  * sudo service mysql restart+  * sudo service mysql restart **ou** sudo systemctl restart mysql
   * [[https://doc.ubuntu-fr.org/phpmyadmin|phpMyAdmin]] (**déconseillé pour un site en production sans mesures de sécurité additionnelles comme .htaccess,...**) + références phpmyadmin/bionic   * [[https://doc.ubuntu-fr.org/phpmyadmin|phpMyAdmin]] (**déconseillé pour un site en production sans mesures de sécurité additionnelles comme .htaccess,...**) + références phpmyadmin/bionic
     * [[https://www.tecmint.com/install-lamp-with-phpmyadmin-in-ubuntu-18-04/|How to Install LAMP Stack with PhpMyAdmin in Ubuntu 18.04]]     * [[https://www.tecmint.com/install-lamp-with-phpmyadmin-in-ubuntu-18-04/|How to Install LAMP Stack with PhpMyAdmin in Ubuntu 18.04]]
Ligne 175: Ligne 188:
     * [[https://www.ostechnix.com/install-phpmyadmin-with-lamp-stack-on-ubuntu-18-04-lts/|Install phpMyAdmin With LAMP Stack On Ubuntu 18.04 LTS - OSTechNix]]     * [[https://www.ostechnix.com/install-phpmyadmin-with-lamp-stack-on-ubuntu-18-04-lts/|Install phpMyAdmin With LAMP Stack On Ubuntu 18.04 LTS - OSTechNix]]
     * [[https://devanswers.co/installing-phpmyadmin-apache-ubuntu-18-04/|Installing phpMyAdmin for Apache on Ubuntu 18.04 | DevAnswers.co]]     * [[https://devanswers.co/installing-phpmyadmin-apache-ubuntu-18-04/|Installing phpMyAdmin for Apache on Ubuntu 18.04 | DevAnswers.co]]
-  * sudo apt-get install phpmyadmin +  * sudo apt install phpmyadmin 
-  * Adminer (pour mémoire, remplacement possible de phpMyAdmin) : +    * outil de configuration 
-    * sudo apt-get install adminer **ou** utiliser la version la plus récente sur le site : +      * serveur web : apache2 
-    * sudo wget "http://www.adminer.org/latest.php" -O /var/www/html/adminer.php+      * accepter la création d'une DB pour phpmyadmin (refuser autrement) 
 +      * Faut-il configurer la DB avec dbconfig-common ? → <Yes> 
 +      * mot de passe de connexion MySQL pour phpmyadmin : phpmyadmin_mdp (CHOISISSEZ UN MOT DE PASSE SÛR) 
 +  * Tester [[http://ip_adress/phpmyadmin]] 
 +    * utilisateur : phpmyadmin - mdp : phpmyadmin_mdp 
 +    * superutilisateur mysql/mariadb : 'nom_utilisateur_choisi' - mdp : 'mot_de_passe_solide' 
 +  * <del>Adminer</del> (pour mémoire, remplacement possible de phpMyAdmin) : 
 +    * <del>sudo apt-get install adminer</del> **ou** utiliser la version la plus récente sur le site : 
 +    * <del>sudo wget "http://www.adminer.org/latest.php" -O /var/www/html/adminer.php</del>
     * Access Adminer at the following address : [[http://ip_adress/adminer.php]]     * Access Adminer at the following address : [[http://ip_adress/adminer.php]]
     * références adminer :     * références adminer :
Ligne 185: Ligne 206:
       * [[https://idroot.us/install-adminer-ubuntu-18-04/]]       * [[https://idroot.us/install-adminer-ubuntu-18-04/]]
  
-Suite à vérifier !!!+==== Compléments d'installation du serveur ==== 
 + 
 +=== Envoi d'emails (par exemple par DokuWiki) === 
 +  * [[https://doc.ubuntu-fr.org/lamp#envoi_de_courriel]] 
 +  * [[https://doc.ubuntu-fr.org/msmtp]] 
 +    * sudo apt install msmtp msmtp-mta 
 +    * Configuration pour l'envoi de courriels au niveau du système : sudo nano /etc/msmtprc 
 +    * vérification (doc.ubuntu-fr) ls -la /usr/sbin/sendmail 
 +    * test : echo 'message' | msmtp user@domain.com 
 + 
 +<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 : ===
  
-  * (ajouter l'utilisateur vmuser au groupe www-data : sudo usermod -a -G www-data vmuser) → non fait 
   * Paquets :   * Paquets :
     * (sudo apt-get install php-pear php-dev) → non fait     * (sudo apt-get install php-pear php-dev) → non fait
Ligne 193: 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
-  https://doc.ubuntu-fr.org/lamp#envoi_de_courriel ??+    (sudo apt-get install gnuplot) → non fait (nécessaire pour l'extension dataplot) 
 +  * autres paquets 
 +    * cairo ??
   * configuration ssl ??   * configuration ssl ??
  
 +==== Migration, mise à jour du serveur... ====
 +  * Régulièrement : 
 +    * sudo apt-get update
 +    * sudo apt-get upgrade
 +  * Mise à niveau de l'OS (par exemple Ubuntu server 20.04.1):
 +    * FIXME
 +  * Références :
 +    * [[https://webdock.io/en/docs/how-guides/upgrading-webdock-webservers]]
 +
 +===== Installation et gestion de logiciels sur un serveur LAMP =====
 +  * [[wp>fr:Système_de_gestion_de_contenu|Système de gestion de contenus]] ou [[wp>Content_management_system|Content management system]] (CMS)
 +    * Wordpress
 +    * [[dokuwiki|DokuWiki]]
 +    * ...
  
  
  • floss/config_ubuntu_server.txt
  • Dernière modification : 2023/09/15 19:05
  • de villersd