author : | Tony Chemit <chemit@codelutin.com> |
---|---|
date : | 28/04/2009 |
Ce document explique comment installer la base Obtuna sur un serveur.
Un certain nombre d'outils et scripts sont intégérés dans ObServe, il faut au préalable récupérer la dernière version de l'application (mode administrateur) (observe-admin-cli-XXX-bin.zip) à l'adresse suivante :
Un serveur Postgres doit être installé sur le serveur cible.
Une machine possèdant une jvm ayant les droits d'accès au serveur cible.
A partir de la version 1.7, ObServe intègre des interfaces graphiques pour effectuer les opérations d'administration sur les bases obstuna.
Pour utiliser ces nouveaux outils, il faut remplir ces conditions :
posséder une base postgres accessible par le programme
un utilisateur propriétaire de la base
tous les autres utilisateurs créés sur le serveur postgres
La mise en place d'une nouvelle base obstuna se fait en 3 étapes :
création de la base vierge et des rôles sur le serveur postgres
configuration de la base sur le serveur postgres
création du contenu de la base via ObServe
Note:
**Il faut de plus avoir à disposition une autre base obstuna qui contient le référentiel à importer dans la nouvelle base.**
Pour créer une nouvelle instance d'obstuna, il faut au préalable avoir une base vierge (sans schéma) et les utilisateurs sur le serveur postgres.
Il existe une script qui permet de faire ça en tant qu'utilisateur postgres.
sudo su postgres (cd obstuna-admin/createdb ; ./create-ird_obstuna.sh)
Ce script va créer :
le propriétaire de la base (admin)
les rôles de technicien adamiano, lfloch, pcauquil
les rôles de simple utilisateur utilisateur
les rôles d'utilisateur de référentiel referentiel
la base vierge (nommée obstuna)
Ce script a été conçu pour la configuration de l'ird, il ne fait qu'appeler un autre script bash avec les bons paramètres.
obstuna-admin/createdb/create-empty-obstuna.sh
Il est donc très facile d'écrire un nouveau script de configuration avec le bon nom de la base, du propriétaire et des utilisateurs.
Par exemple pour créer une base avec la configuration suivante
nom obstuna-test
propriétaire admin-test
utilisateurs techinicien-test, utilisateur-test, referentiel-test
on lance la commande :
( cd obstuna-admin/createdb ; ./create-empty-obstuna.sh obstuna-test admin-test "technicien-test utilisateur-test referentiel-test")
Pour créer la base de test utilisée pour tous les tests d'intégration, on lance un autre script :
sudo su postgres (cd obstuna-admin/createdb ; ./create-test_obstuna.sh)
Cela crée une base avec la configuration suivante :
nom obstuna-test
propriétaire admin
techniciens technicien1, technicien2, technicien3
utilisateurs utilisateur
utilisateurs de référentiel referentiel
Ajouter une ligne dans le fichier de configuration pg_hba.conf
host obstuna all 0.0.0.0/0 md5
Pour la base de test ajouter en plus une ligne
host obstuna-test all 0.0.0.0/0 md5
Selon la configuration du serveur, il est possible de devoir aussi modifier le fichier de configuration postgresql.conf (pour renseigner la propriété listen_addresses='*' pour autoriser le tcp depuis l'extérieur).
Redémarrer le serveur postgres :
sudo /etc/init.d/postgresql-8.3 restart
ou
sudo service postgresql-8.3 restart
tester la connexion
psql -h localhost obstuna admin
Il suffit enfin de lancer l'application en mode création de base obstuna via le raccourci suivant :
(cd obstuna-admin ; ./create-obstuna.sh)
ou
./obstuna-admin/create-obstuna.bat
Cela va effectuer les opérations suivantes après configuration de la base cible, de la base d'import de référentiel et des rôles de sécurité :
supprimer toutes les tables de la base si elles existent
créer le schéma à partir du mapping de l'ORM (hibernate)
remplir le référentiel à partir de celui d'une autre base obstuna à jour (topia-service-migration)
appliquer la sécurité sur les rôles de la base
Note:
Le script appelle l'application avec l'action **--obstuna-admin create**
Pour mettre à jour une base obstuna via le service de migration intégré dans ObServe, il suffit de lancer l'application en mode mise à jour obstuna via le raccourci suivant :
(cd obstuna-admin ; ./update-obstuna.sh)
ou
./obstuna-admin/update-obstuna.bat
Ce mode va effectuer les opérations suivantes après configuration de la base cible et des rôles de sécurité :
mettre à jour le schéma et les données via le service de migration intégré (topia)
appliquer la sécurité sur les rôles de la base
Note:
Le script appelle l'application avec l'action **--obstuna-admin update**
On différencie dans ObServe plusieurs types d'utilisateurs pour les connexions distantes :
ceux qui peuvent juste lire le référentiel sans rien modifier (les referentiels)
ceux qui peuvent juste lire des données sans rien modifier (les lecteurs)
ceux qui ont le droit de modifier les données et le référentiel (les techniciens et administrateurs).
Pour appliquer la sécurité sur les utilisateurs d'une base obstuna, il suffit de lancer Observe en mode mise à jour sécurité obstuna via le raccourci suivant :
(cd obstuna-admin ; ./update-security-obstuna.sh)
ou
Ce mode va effectuer les opérations suivantes après configuration de la base cible et des rôles de sécurité :
appliquer la sécurité sur les rôles de la base
Note:
Le script appelle l'application avec l'action **--obstuna-admin security**
Pour vider une base obstuna (ne vue de la recréer par exemple), il suffit de lancer ObServe en mode suppression obstuna via le raccourci suivant :
(cd obstuna-admin ; ./drop-obstuna.sh)
ou
./obstuna-admin/drop-obstuna.bat
Ce mode va effectuer les opérations suivantes après configuration de la base cible :
supprimer toutes les tables gérer de la base
Note:
Le script appelle l'application avec l'action **--obstuna-admin drop**
Depuis la version 3.0, il est possible de lancer sur la base de scripts sql supplémentaires placé dans le répertoire extra.
On lance ensuite la commande
(cd obstuna-admin; ./apply-extra.sh)
Le script demande
le nom de la base et l'utilisateur de connexion
une confirmation d'exécution pour chaque script qu'il a trouvé dans le répertoire extra