« Serveur de grille : préparation » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 25 : | Ligne 25 : | ||
=Diverses installations= | =Diverses installations= | ||
==Mise à jour des serveurs== | |||
{{Modèle:Mise_a_jour_serveur}} | {{Modèle:Mise_a_jour_serveur}} | ||
Dernière version du 20 décembre 2017 à 16:19
Le système d'exploitation
Vous pouvez installer d'autres distributions Linux ou d'autres versions plus récentes d'Ubuntu, mais les types de systèmes proposés ci-dessous sont ceux décrits par OSWiki. Avec d'autres versions vous serez peut-être confrontés à certaines variations plus ou moins importantes.
Télécharger Ubuntu Desktop 20.04 LTS pour un ordinateur
Choisissez la version qui convient au type de processeur de votre ordinateur.
- Télécharger Ubuntu Desktop 20.04 LTS (32bits)
- [ Télécharger Ubuntu Desktop 20.04 LTS (64bits)]
Télécharger Ubuntu Server 18.04 LTS pour un serveur
Cas d'un serveur dédié
Il n'est pas nécessaire de télécharger l'image CD d'installation d'Ubuntu Server 18.04 LTS, il suffira de choisir la version de ce système d'exploitation au cours de l'installation du serveur.
Télécharger l'image du CD d'installation pour un serveur privé
Si vous disposez d'un serveur privé, téléchargez l'image du CD d'installation qui convient au type de processeur de votre machine.
Installer votre système d'exploitation
Ce wiki n'est pas destiné à expliquer comment installer Ubuntu. Veuillez vous référer à la documentation de la distribution :
Diverses installations
Mise à jour des serveurs
Après avoir installé votre serveur, tapez les commandes suivantes dans un terminal :
sudo apt update sudo apt upgrade sudo apt-get autoremove
Configuration de la langue
- Installer la langue française (facultatif):
sudo apt-get install language-pack-fr
- Éditer le fichier /ect/default/local
sudo nano /ect/default/local
- Remplacer la première ligne :
LANG="fr_FR.UTF-8"
Installation du serveur MySQL
MySQL est un Système de Gestion de Base de Données (SGBD) utilisé par OpenSimulator. Il n'est pas possible d'utiliser SQLite pour une grille OpenSimulator. SQLite est le SGBD par défaut des simulateurs OpenSim.
Nous allons voir comment installer MySQL, déplacer son dossier et protéger les mots de passe des bases de données.
Installation du paquet MySQL
Dans le terminal du serveur de grille taper la commande (vous devez avoir les droits d'administration de votre machine) :
sudo apt-get install mysql-server
Un mot de passe vous sera demandé pour le serveur de bases de données. Reportez ce mot de passe dans le tableau des mots de passe.
Vous pouvez créer ce tableau pour l'ensemble des mots de passe de votre installation. Il ne doit pas être publié sur internet.
Déplacement du dossier MySQL
But : utiliser l'espace disque de Robust pour préserver l'espace disque du système.
Attention, suivez bien les indications données ci-dessous pour ne pas casser votre installation. Cette opération est faculative.
Normalement les bases de données sont dans /var/lib/mysql/.
Arrêter le serveur MySQL |
sudo service mysql stop |
Créer une copie du dossier
mysql avec les mêmes droits |
sudo cp -aR /var/lib/mysql /var/lib/mysql_old |
Déplacer le dossier mysql dans /home/ |
sudo mv /var/lib/mysql /home/Robust |
Faire un lien symbolique
avec le dossier /var/lib/ |
sudo ln -s /home/Robust/mysql /var/lib/mysql |
Donner les droits au dossier mysql |
sudo chown -h mysql:mysql /home/Robust/mysql |
Éditer le fichier
/etc/apparmor.d/usr.sbin.mysqld |
sudo nano /etc/apparmor.d/usr.sbin.mysqld |
Remplacer |
/var/lib/mysql/ r, /var/lib/mysql/** rwk, par /home/Robust/mysql/ r, /home/Robust/mysql/** rwk, |
Recharger appamor |
sudo service apparmor reload |
Relancer le serveur MySQL |
sudo service mysql start |
Création de la base de données
- Se connecter à MySQL depuis un terminal en mode administrateur.
mysql -u <utilisateur> -p
Il n'est plus nécessaire de renseigner le mot de passe mais il faut par contre lancer la commande mysql avec l'utilisateur correspondant.
- Depuis l'invite MySQL, créer une base de données.
CREATE DATABASE <Nom de la bdd de la grille>;
- Créer un utilisateur pour la base de données :
CREATE USER "<Nom de l'utilisateur de la bdd de la grille>"@"localhost";
- Créer le mot de passe de l'utilisateur.
SET password FOR "<Nom de l'utilisateur de la bdd de la grille>"@"localhost" = password('<mot de passe>');
ou pour MySQL 8.0 ou supérieur :
SET password FOR "<Nom de l'utilisateur de la bdd de la grille>"@"localhost" = '<mot de passe>';
- Donner tous les droits sur la base de données à l'utilisateur :
GRANT ALL ON <nom_bdd>.* TO "<Nom de l'utilisateur de la bdd de la grille>"@"localhost";
- Quitter MySQL
quit
Autre solution
Vous pouvez utiliser Phpmyadmin, interface graphique de connexion à Mysql. Mais cette solution est moins sécurisée.
Pour aller plus loin
Protection des mots de passes
Rôle | Permettre la connexion directe des scripts bash à une base de donnée sans afficher le mot de passe en clair.
Dans ce cas le mot de passe fait partie des options et ne doit pas être appelé dans les scripts. On peut choisir un utilisateur et mot de passe identiques pour tous les bdd des simulateurs pour ne pas utiliser root. |
Installation | Ajouter le fichier .my.cnf dans Robust.
cd /Robust nano .my.cnf |
Contenu |
<source lang="vim"> [client] host = localhost user = <user> password = *********** socket = /var/run/mysqld/mysqld.sock </source> |
<user> |
Utilisateur qui a le droit de se connecter à la base de données |
password | Mot de passe de l'utilisateur de la base de données |
Droits sur le fichier | chmod 600 Robust/.my.cnf |
Mot de passe | voir le tableau des mots de passe. |
Configurations particulières de MySQL
Connexion à une base de données distante
But : communiquer avec votre base de données depuis un serveur distant, c'est à dire depuis une machine autre que celle où est installée le serveur de base de données. Cette configuration est facultative, ne modifiez rien si vous n'en n'avez pas l'utilité.
- Installation :
Dans le fichier /etc/mysql/my.cnf remplacer bind-address 127.0.0.1 par bind-address 0.0.0.0
- Redémarrer le service :
service mysql restart
Quelques commandes de gestion de Mysql
Liste des bases de données du serveur de grille
Nom | Description | Utilisateurs particuliers et droits |
---|---|---|
<Nom de la bdd de la grille> | Base de données de la grille. |
GRANT ALL PRIVILEGES ON `<Nom de la bdd de la grille> `.* TO '<Nom de l'utilisateur de la bdd de la grille>'@'localhost' GRANT SELECT ON *.* TO 'collectd'@'localhost' |
Installation de Mono
OpenSimulator est développé en C# (C Sharp). Le C# est un langage de programmation orienté objet, commercialisé par Microsoft depuis 2002 et destiné au développement sur la plateforme Microsoft .NET.
Mono est une mise en œuvre open source de la plateforme de développement Microsoft .NET. Mono peut être utilisé sous GNU/Linux, Microsoft ou MacOS.
Installation de Mono sur Ubuntu
Dans un terminal tapez la commande :
sudo apt-get install mono-complete
Version
Toutes les versions de Mono ne sont pas adaptées à OpenSimulator. Lancez la commande ci-dessous dans un terminal pour connaître la version par défaut de Mono installée sur votre machine.
apt-cache show mono-complete
Versions installées sur Ubuntu Server 18.04 LTS:
- Mono : 3.2.8+dfsg-4ubuntu1.1
- libgdiplus : 2.11+git20131008.9732566-5ubuntu1
Vous trouverez un tableau des versions et status de Mono sur le wiki OpenSimulator : http://opensimulator.org/wiki/Mono_2_4_on_Ubuntu
Configuration de Mono
Dans /home/Robust/.bashrc ajouter les lignes suivantes en bas du fichier (facultatif):
export EDITOR=nano export MONO_GC_PARAMS=nursery-size=64m export MONO_THREADS_PER_CPU=125
Compiler une autre version que celle du système
Cette section n'est utile que si vous rencontrez des problèmes pour faire fonctionner une grille OpenSimulator sur votre machine (lancement de la grille, affichage de texture, lancement des scripts, bugs divers ).
Pour compiler une nouvelle version de Mono, vous aurez besoin d'installer quelques outils (de paquets) sur votre serveur. Procédez ainsi :
La version du paquet libtool-bin doit être 15.10 et supérieure.
$ sudo apt-get install git autoconf libtool automake build-essential mono-devel gettext cmake libtool-bin
http://www.mono-project.com/docs/compiling-mono/linux/
Sources : http://download.mono-project.com/sources/mono/
Listes des releases : http://www.mono-project.com/docs/about-mono/releases/
Désinstaller
- désinstaller si l'installation a été faite à partir du paquet
sudo apt-get purge mono-runtime sudo apt-get purge mono-complete sudo apt-get purge libmono* libgdiplus cli-common libglitz-glx1 libglitz1
- désinstaller si l'installation a été faite à partir d'une version compilée
make uninstall
Alternative à Mono
https://www.microsoft.com/net/
Voir la page http://opensimulator.org/wiki/Configuration/fr
Noyau Linux
Si une version du noyau pose des problèmes pour lancer une grille et des simulateurs avec Mono il faut installer une autre version.
L'installation d'une autre version du noyau est nécessaire :
apt-get install linux-image-<version>-generic
Autres installations
Screen
Screen est une console virtuelle qui permet de partager un terminal en plusieurs processus. C’est un logiciel libre distribué par le projet GNU selon les termes de la licence GPL.
Si vous utilisez un serveur distant, vous devrez y accéder via un terminal que vous fermez pour vous déconnecterez. Ainsi, vous ne pouvez pas vous déconnecter après avoir lancé votre grille OpenSimulator, ou alors, il faut fermer la grille.
Screen va vous permettre de créer une console virtuelle dans laquelle vous pourrez lancer votre grille. À chaque console virtuelle créée correspond un processus qui continue de tourner sur votre serveur même si vous fermez votre terminal pour vous déconnecter.
Pour installer screen, tapez la commande suivante dans le terminal du serveur :
sudo apt-get install screen
Notez que si vous lancez votre grille sur une machine locale, il ne sera pas nécessaire d'utiliser screen, mais ce n'est pas non plus interdit.
Alternative : Tmux, distribué sous licence BSD.
Paquet libdbd-mysql
Nécessaire pour pouvoir utiliser le plugin dbi dans Collectd, outil de surveillance du serveur et de la grille.
apt-get install libdbd-mysql
Configuration
Utilisateur système
Administrateur de grille
Rôle
Utilisateur avec droits particuliers sur l'installation de la grille OpenSim.
Droits d'administration de Robust.
Créer l'utilisateur son dossier et son groupe
sudo adduser –home Robust Robust
Groupes de l'utilisateur
- Attribuer un groupe à l'utilisateur :
sudo adduser Robust Robust
Droits sur les dossiers
chown -R Robust:Robust /home/Robust/
Administrateur des sauvegardes locales
Rôle
Utilisateur avec droits particuliers sur les sauvegardes locales réalisées sur la machine.
Droits d'administration des sauvegardes locales.
Créer l'utilisateur, son dossier et son groupe
sudo adduser –home Sauvegarde Sauvegarde
Groupes de l'utilisateur
- Attribuer un groupe à l'utilisateur :
sudo adduser Sauvegarde Sauvegarde
Droits sur les dossiers
chown -R Sauvegarde:Sauvegarde /home/Sauvegarde/
Ports ouverts sur un serveur de grille
Description | Port |
---|---|
Port SSH
IMPORTANT : Doit être ouvert avant d'activer la pare-feu. |
22 |
Port public du serveur Robust | 8002 TCP/UDP |
Port privé du serveur Robust | 8003 TCP/UDP |
Serveur MySQL | 3306 |
Serveur Collectd | 3306 (MySQL) |
Configuration de ssmtp pour gmail | 465 |
Réglage du Swap
- Objectif : Régler le déclenchement du swap du serveur pour que la grille utilise mieux la RAM.
- Commandes :
cat /proc/sys/vm/swappiness sudo sysctl vm.swappiness=20
Désactiver :
sudo swapoff -av
Réactiver :
sudo swapon -av
Modification permanente :
echo vm.swappiness=20 | sudo tee -a /etc/sysctl.conf
Pour plus d'informations au sujet du zwap et de sa configuration :
https://www.it-connect.fr/augmenter-lespace-dechange-swap-avec-un-fichier-sous-linux%ef%bb%bf/