Exemple d’automatisation de gestion de plusieurs régions sur opensim (1/3)

Instructions pour serveur linux Ubuntu Lucid 10.04 version 32 bits sur grille Francogrid (donc à adapter pour des configurations différentes).

Configuration de départ du serveur minimale.

En grande partie traduction et adaptation des articles de Snoopy Pfeffer sur maxping 

Liste des opérations à effectuer :

I – Installation des paquets nécessaires

II – Installation opensim, création arborescence répertoires

III – Automatisation des mises à jour

IV – Automatisation de la gestion des régions avec monit

V – Automatisation des sauvegardes

Console windows utilisée : putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/)

Client ftp utilisé : filezilla
(http://www.filezilla.fr/)

I – Installation des paquets nécessaires

Sources :

Docs putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html

Docs filezilla : http://www.filezilla.fr/filezilla-tuto1.php

Commandes de base console : http://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base

apt-get : http://doc.ubuntu-fr.org/apt-get

Mono : http://doc.ubuntu-fr.org/mono

Screen : http://doc.ubuntu-fr.org/screen

Lamp : http://doc.ubuntu-fr.org/lamp

Python : v2.6 installée par defaut sur Unbuntu 10

Monit : http://doc.ubuntu-fr.org/monit

Webmin (facultatif) : http://doc.ubuntu-fr.org/webmin

sudo apt-get updatesudo apt-get upgrade

sudo apt-get install screen

sudo apt-get install lamp-server^

N’oubliez pas le caractère ^ en fin de ligne.

Mysql va vous demander un mot de passe d’administrateur.

sudo apt-get install monit

Nous lancerons le démon plus tard une fois configuré.

L’installation de mono pose quelques problèmes au moment ou je rédige ce billet. Je l’ai donc compilé moi-même. Voyez sur le site les versions disponibles selon votre version ubuntu (si apt-get marche mal, utlisez aptitude).

Installation facultative de webmin pour gérer le serveur :

sudo wget http://www.webmin.com/jcameron-key.ascsudo apt-key add jcameron-key.asc

Puis éditez le fichier /etc/apt/sources.list et ajoutez la ligne :

deb http://download.webmin.com/download/repository sarge contrib

Vous pouvez maintenant utiliser les commandes :

sudo apt-get updatesudo apt-get install webmin

Vérifiez la connexion à webmin : https;//<votre.adresse.ip>:10000

II – Installation opensim, création arborescence répertoires

Sources :

opensim : http://opensimulator.org/wiki/Main_Page

mysql : http://doc.ubuntu-fr.org/mysql

Structure installation : http://maxping.org/technobabble/platforms/open-simulator/opensim-linux-series-–-service-management-processes-and-scripts.aspx

II.1 Création de l’utilisateur opensim

Pour des raisons de sécurité, créez un utilisateur opensim

sudo adduser opensim

II.2 Création des bases mysql

Nous allons nommer nos régions R01, R02, R03………..pour les besoins des scripts d’automatisation (ces noms n’ont rien a voir avec le nom de région qui s’affichera plus tard dans opensim et que vous définirez dans la configuration propre d’opensim).

Vérifier que mysql est en fonction :

sudo service mysql status

Vous devez obtenir : mysql start/running, process xxxxxx Créez autant de bases que de régions et n’oubliez pas de donner a chaque fois les droits a opensim :

mysql -u root –p

Vous obtenez le prompt de mysql : mysql>

Créer l’utilisateur opensim :

CREATE user opensim@localhost;
SET password FOR opensim@localhost = password(“mot_de_passe”);

Créer les bases :

CREATE DATABASE R01;
GRANT ALL ON R01.* TO opensim@localhost;
CREATE DATABASE R02;
GRANT ALL ON R02.* TO opensim@localhost;
.......etc
quit

II.3 Création des répertoires

Connectez vous en tant qu’opensim.

Convention de répertoire :

  • Sous le répertoire home d’opensim, un répertoire principal également appelé opensim,
  • sous répertoire backup pour les sauvegardes
  • sous répertoires opensim_x.x.x (par exemple opensim_0.6.9) qui contiennent les version successives d’opensim,
  • sous répertoire run qui contient lui même autant de sous-répertoires que de régions nommés R01, R02, R03……….
  • sous répertoire ServiceManagement qui contient les scripts utilisés pour la gestion des services,
  • sous répertoire tmp pour le téléchargement et l’installation des nouvelles versions, avant de les transférer dans opensim_x.x.x

Les mises a jour seront faites dans un répertoire run_new pour configuration et contrôle. Pour terminer, le répertoire run sera conservé et renommé

run_old en cas de besoin de restauration rapide. run_new sera renommé en run.

Les sous-répertoires R01, R02,….vont contenir des liens symboliques vers les fichiers contenus dans opensim_x.x.x, à l’exception des fichiers OpenSim.ini

et RegionConfig.ini qui sont des copies réelles générées par les scripts. Les dossiers Regions et et ScriptEngines sont également indépendants dans la mesure ou ils stockent des informations spécifiques à chaque région.

mkdir opensimcd opensimmkdir backup

mkdir run

mkdir ServiceManagement

mkdir tmp

cd run

mkdir R01

cd R01

mkdir Regions

mkdir ScriptEngines

cd..

mkdir R02

cd R02

mkdir Regions

mkdir ScriptEngines

cd..

etc…………….

La création de la structure complète de run est nécessaire lors de la première utilisation. Pas la suite, elle sera générée par les scripts.

Pour l’instant, la structure du disque vue par root se présente comme suit :

image

……….

image

II.4 Installation de opensim

Rappel : vous devez utiliser une version d’opensim compatible avec celle de

la grille à laquelle vous allez vous connecter. Dans mon cas, Francogrid est à ce jour en version 0.6.9. La majorité des grilles fournissent des versions pré-compilées. Pour Francogrid, adressez-vous à un administrateur qui vous indiquera le répertoire de téléchargement.

Si vous souhaitez compiler votre propre version, voir http://opensimulator.org/wiki/Build_Instructions

La bonne version pré-compilée une fois téléchargée dans le répertoire tmp :

cd opensim/tmp/
tar -zxvf francogrid-opensim-0.6.9-post-fixes.aa8e7ae.tar.gz

mv  francogrid-opensim-0.6.9-post-fixes.aa8e7ae opensim_0.6.9

mv opensim_0.6.9 ..

Pour terminer cette partie, mettre dans chacun des répertoires run/Rxx/Regions le fichier RegionConfig.ini adapté.

Attention à bien mentionner un port différent pour chacune d’entre elles. Personnellement, j’utilise 9010 pour R01, 9011 pour R02,………

A suivre……….

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :