Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Documents pareils
Architecture de la plateforme SBC

Installation de Zabbix

contact@nqicorp.com - Web :

Installer un domaine DNS

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

Client windows Nagios Event Log

Gestion d identités PSL Exploitation IdP Authentic

Open Source Job Scheduler. Installation(s)

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

sshgate Patrick Guiran Chef de projet support

Oracle WebLogic Server (WLS) 11gR1 ( et ) Installation sur Oracle Linux 5 et 6 Hypothèses Installation Oracle Linux 5 (OL5)

Manuel d'exploitation de l'application Vitamin version 1.0

contact@nqicorp.com - Web :

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Quick Start Installation de MDweb version 2.3

Installation d ORACLE 10g sous Debian Etch

Installation du Hub. Installation du Hub. 1. Description de l installation. by LegalBox. 2 types de serveur sont à installer :

Playzilla - Chargement par clé usb

Oracle 11g. Installation et administration. Claude Duvallet 1/36

Sauvegarde sous MAC avec serveur Samba

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

D r o i t s D r o i t s Q u i z z : i n t e r n e t t e x t e

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

PROXY SQUID-SQARD. procédure

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Guide Installation Serveur Extensive Testing

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

La base de données XML exist. A. Belaïd

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Guide Installation Serveur Extensive Testing

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Mise en oeuvre TSM 6.1

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Personnes ressources Tice. Académie de Rouen

Environnements informatiques

Gérard Castagnoli OSU PYTHEAS 25/06/2013 VVT2013 1

Ajout et Configuration d'un nouveau poste pour BackupPC

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

Tutoriel compte-rendu Mission 1

Serveur de sauvegardes incrémental

Symantec Backup Exec Remote Media Agent for Linux Servers

EJBCA PKI Open Source

Installation. Conception, mise en œuvre, hébergement, exploitation et

Maintenir Debian GNU/Linux à jour

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Stage SambaÉdu Module B. Jour 9 Outils complémentaires et problèmes récurrents divers

Installation et prise en main

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Avertissement : CybEO. Cette version du manuel d'installation de l'application CybEO est une version de travail.

StreamServe Persuasion SP4

Correspondances Windows-Linux

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

MISE EN PLACE D UN FIREWALL ET D UN SERVEUR PROXY SOUS LINUX MANDRIVA.

MISE EN PLACE DU FIREWALL SHOREWALL

Table des matières Hakim Benameurlaine 1

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Client Debian Squeeze et serveur SambaEdu3

Synerway - Agent SQL Server

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Procédure d'installation de PostgreSQL pour Windows

Installation et Configuration de Squid et SquidGuard sous Debian 7

Sauvegarde automatique des données de GEPI

Oracle Database 11g: Administration Workshop I Release 2

Situation professionnelle n X

A. Architecture du serveur Tomcat 6

BOUCHARD Nicolas. GENTILE Pierre

Projet Administration Réseaux

Intégration de Cisco CallManager IVR et Active Directory

Bind, le serveur de noms sous Linux

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Automatisation de l administration système

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Vanilla : Virtual Box

Guide de mise à jour BiBOARD

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Chapitre IX : Virtualisation

Préconisations Techniques & Installation de Gestimum ERP

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Raspberry pi : Développer une petite application web sur Raspberry

MANUEL UTILISATEUR KIWI BACKUP V 3

C.M. 1 & 2 : Prise en main de Linux

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Configuration des grappes de serveurs d applications ADOBE LIVECYCLE ES3 à l aide de JBOSS

Installation software

Oracle 11g - Dataguard

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Aide-Mémoire unix. 9 février 2009

WGW PBX. Guide de démarrage rapide

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

Transcription:

Pharmed gestion de pharmacie hospitalière Installation / déploiement Version 1.0 du 23/05/2006 Date Auteur Version Modification 23/05/06 Pierre CARLIER 1.0 14/06/06 Matthieu Laborie

Table des matières 1 Description de l'application...2 2 Installation de Pharmed...3 2.1 Installation des pré-requis :...3 2.2 Initialisation de la base :...3 2.3 Génération des archives :...4 2.4 Initialisation de JBoss :...4 2.5 Sur un client :...4 2.6 Lancement :...5 3 Déploiement d'une nouvelle version...6 3.1 Sur la machine de développement :...6 3.2 Transfert des archives...6 3.3 Deploiement :...6 3.4 Relancer le service...6 4 Exploitation des serveurs...7 4.1 Base de données...7 4.1.1 Lancement et arrêt de la base MaxDB...7 Démarrage...7 Arrêt...7 4.2 Sauvegarde...7 4.2.1 Sauvegarde manuelle...9 Creation d'un média de BACKUP...9 Lancement d'une sauvegarde...10 4.2.2 Restauration d'une sauvegarde...10 Restauration d'un backup sur une instance existante...10 Restauration d'un backup sur une nouvelle instance...12 5 Annexes...13 5.1 Script de démarrage de Jboss...13 5.2 Mise en place de l'update automatique des clients...15 1 Description de l'application Architecture 3 tiers : un serveur d'application, nommé PHARMED et ayant pour IP IP_PHARMED un serveur de base de données nommé BD_SRV un client Java Page 2

2 Installation de Pharmed 2.1 Installation des pré-requis Sur le serveur d'application PHARMED Créer un répertoire $MYCVS_HOME Récupérer les sources dans $MYCVS_HOME par $> cvs co PRM dbtools aair-to-pharmed PRM : application Pharmed dbtools : outil de génération de code (EJBs, filtres, build.xml,...) présent dans Pharmed cette génération est effectué à partir des fichiers database.xml et finder.xml présent à la racine de PRM. aliaforms (présent dans PRM): permet de générer l'interface graphique du client lors de l'exécution. Les interfaces sont décrites par des fichiers xml et les commandes associées aux actions sont définies par des scripts jpython. Installer le JDK 1.4.1 ou supérieur dans $JAVA_HOME Attention : certains problèmes sont apparus sous Windows avec la jdk1.5 le serveur Jboss 3.0.6 ne fonctionne pas avec la jdk1.5 Installer Ant dans $ANT_HOME à partir de http://mir2.ovh.net/ftp.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.gz Installer JBoss 3.0.6 dans $JBOSS_HOME à partir de http://prdownloads.sourceforge.net/jboss/jboss-3.0.6.zip?download Attention : l'application ne tourne pas avec Jboss > 3.0.6 2.2 Initialisation de la base Sur le serveur de base de données BD_SRV : Installer les paquets maxdb par $> apt-get install maxdb-server-7.5.00 maxdb-server maxdb-loadercli maxdb-dbmcli maxdb-lserver maxdb-scripts maxdb-scripts est un paquet réalisé par Aliacom qui crée des scripts facilitant la création des bases de données (comme createmaxdb). Créer une base de données PHARMED en tant qu'utilisateur système dba par $> createmaxdb PHARMED 1000 100 Configurer maxdb pour démarrer automatiquement la base pour çà ajouter dans /etc/default/maxdb-server : Page 3

DATABASES="PHARMED" Démarrer maxdb par $> /etc/init.d/maxdb-xserver start $> /etc/init.d/maxdb-server start La structure de la base est vide. Initialiser la base par $CVSHOME/shema.sql en tant que sdb $> dbmcli -u dbm,dbm -d PHARMED -i shema.sql Initialiser les données de la base par $CVSHOME/initdb.sql en tant que sdb $> dbmcli -u dbm,dbm -d PHARMED -i initdb.sql Insérer les procédures stockées présentent dans $MYCVS_HOME/PRM/bd.sapdb: $>loadercli -n localhost -d PHARMED -u dummy,dummy -b uad_procs.sql $> loadercli -n localhost -d PHARMED -u dummy,dummy -b protocole_procs.sql $> loadercli -n localhost -d PHARMED -u dummy,dummy -b produit_procs.sql $> loadercli -n localhost -d PHARMED -u dummy,dummy -b delivrance_ind_procs.sql 2.3 Génération des archives Sur le serveur d'application PHARMED : Dans $MYCVS_HOME/PRM, lancer./generate_n_build.sh ant deployement 2.4 Initialisation de JBoss Sur le serveur d'application PHARMED : Depuis $MYCVS_HOME/PRM/deployement/server/pharmed/lib $> cp $MYCVS_HOME/PRM/dist-server/aliacom.jar \ $MYCVS_HOME/PRM/dist-client/fop.jar \ $MYCVS_HOME/PRM/dist-client/jython.jar. Depuis le répertoire $JBOSS_HOME/server $> ln -s $MYCVS_HOME/PRM/deployement/server/pharmed. 2.5 Sur un client Installer une JDK 1.4.x Page 4

Créer un répertoire Pharmed/ Copier dans Pharmed/jars/ le contenu de $MYCVS_HOME/PRM/deployment/client/ Copier dans Pharmed/ le contenu de $MYCVS_HOME/PRM/dist-client/ 2.6 Lancement Sur le serveur d'application PHARMED : Vérifier que les locales sont bien réglé sinon exporter les variables nécessaires: pharmed:/home/pharmed/jboss/server# locale LANG=fr_FR LC_CTYPE="fr_FR" LC_NUMERIC="fr_FR" LC_TIME="fr_FR" LC_COLLATE="fr_FR" LC_MONETARY="fr_FR" LC_MESSAGES="fr_FR" LC_PAPER="fr_FR" LC_NAME="fr_FR" LC_ADDRESS="fr_FR" LC_TELEPHONE="fr_FR" LC_MEASUREMENT="fr_FR" LC_IDENTIFICATION="fr_FR" LC_ALL= Depuis le répertoire $JBOSS_HOME/bin: Les rôles de l'application sont définis grâce au fichier roles.xml présent à la racine de PRM il faut indiquer le fichier à utilisé lors du lancement de jboss: $> run.sh -c pharmed -Droles.path=$MYCVS_HOME/PRM/roles.xml Tester l'application depuis le serveur PHARMED : Depuis $MYCVS_HOME/PRM/deployment/client $> $JAVA_HOME/bin/java -classpath \ `ls *.jar../../dist-client/*.jar tr '\n' ':'`. \ -jar../../dist-client/aair-client.jar 127.0.0.1 Tester l'application depuis un client sur une autre machine : Depuis Pharmed/ Page 5

$> java -classpath `ls *.jar jars/*.jar tr '\n' ':'`. -jar aair-client.jar IP_PHARMED 3 Déploiement d'une nouvelle version 3.1 Sur la machine de développement cd cvs/prm ant deployement Buildfile: build.xml aliacom-lib-build:... aair-dist: dist: dist: deployement: [copy] Copying 42 files to /u/bellau/cvs/prm/deployement/client [copy] Copying 2 files to /u/bellau/cvs/prm/deployement/pharmed/deploy BUILD SUCCESSFUL Total time: 17 seconds 3.2 Transfert des archives On dépose sur le serveur par ssh / rsync bellau@boa:~/cvs/prm/deployement$ rsync -r * pharmed@ip_pharmed:~/deployement 3.3 Deploiement grosminet:~pharmed/deployement/pharmed/deploy# ls aliacom.jar pharmedmq-service.xml scheduler-service.xml CVS sapdb-service.xml Server.jar grosminet:~/deployement/pharmed/deploy# cp Server.jar aliacom.jar /pharmed/deploy/ 3.4 Relancer le service Un script updateclient met à jour automatiquement le client (cf Annexes). Page 6

Arreter et redémarrer jboss ( cf Annexes) /etc/init.d/pharmed.sh stop (et/ou killall java) /etc/init.d/pharmed.sh start 4 Exploitation des serveurs 4.1 Base de données 4.1.1 Lancement et arrêt de la base MaxDB On utilise les scripts de démarrage installés par les paquets Debian. Deux services sont utilisés : le serveur de connexions réseau et le serveur de base de données. Sur le serveur BD_SRV : Démarrage # /etc/init.d/maxdb-xserver start Starting MaxDB communication server: x_server. # /etc/init.d/maxdb-server start Starting MaxDB databases: PHARMED Arrêt # /etc/init.d/maxdb-server stop Stopping all MaxDB databases: PHARMED # /etc/init.d/maxdb-xserver stop Stopping MaxDB communication server: x_server. 4.2 Sauvegarde La sauvegarde est réalisée directement par la base de données sur le lecteur de bande. L'opération étant gérée par la crontab, un mail est envoyé par la cron, sur le compte root. On peut utiliser la commande mutt pour regarder les logs de la sauvegarde. Une sauvegarde réussie présente une sortie similaire à : Page 7

Returncode 0 Date 20041216 Time 00105249 Server sapdb Database PHARMED Kernel Version Kernel 7.5.0 Build 019-000-000-000 Pages Transferred 1600 Pages Left 0 Volumes 1 Medianame file_backup Location /backup/backup Errortext Label DAT_000000002 Is Consistent true First LOG Page 181329 Last LOG Page DB Stamp 1 Date 20041216 DB Stamp 1 Time 00105249 DB Stamp 2 Date DB Stamp 2 Time Page Count 1578 Devices Used 1 Database ID sapdb:pharmed_20040930_145159 Max Used Data Page 0 Un échec dans la sauvegarde (absence de bande ou bande défectueuse) présente en général une sortie plus courte :... Returncode... - NUMBER En général, la vue de la liste de message permet d'avoir une vue globale des sauvegardes : les messages de 3 lignes sont des échecs, celles de 25 lignes correspondent à des sauvegardes réussies. Page 8

4.2.1 Sauvegarde manuelle Cette section décrit la sauvegarde et la restauration manuelles d'une instance Creation d'un média de BACKUP Tout d'abord il faut se connecter à l'instance de la base. Pour cela on utilisera l'utilitaire dbmcli, en tant qu'utilisateur sapdb : dbmcli -u dbm,dbm -d PHARMED -n localhost -u : utilisateur et mot de passe de l'administrateur; -d : nom de l'instance (PHARMED); -n : adresse du serveur MaxDB; Création du médium de backup : Attention : site le médium existe déjà (ce qui est le cas), l'opération échoue si on définit un nouveau médium. Regardez la liste des média existants par : dbmcli on PHARMED>medium_getall data /var/tmp/sapdb_data.pharmed FILE DATA 0 8 YES NO 20030502140223 20030502140223 log /var/tmp/sapdb_log.pharmed FILE AUTO 0 8 YES NO 20030502140223 20030502140223 file_backup /backup/backup FILE DATA 0 8 YES NO 20030502143320 20030502143320 tape_backup /dev/st0 TAPE DATA 64000 8 NO NO 20030502144641 20030502144641 aliacom_backup /tmp/pharmed.db FILE DATA 0 0 YES NO 20060105173346 20060105174301 dbmcli on PHARMED>medium_put file_backup /backup/backup FILE DATA 0 0 YES dbmcli on PHARMED> Dans l'exemple le nom du médium de sauvegarde est file_backup. Le fichier de sauvegarde sera écrit dans /backup/backup Page 9

Lancement d'une sauvegarde dbmcli on PHARMED>util_connect dbm,dbm dbmcli on PHARMED>backup_start file_backup Returncode 0 Date 20041216 Time 00105249 Server sapdb Database PHARMED Kernel Version Kernel 7.5.0 Build 019-000-000-000 Pages Transferred 1600 Pages Left 0 Volumes 1 Medianame file_backup Location /backup/backup Errortext Label DAT_000000002 Is Consistent true First LOG Page 181329 Last LOG Page DB Stamp 1 Date 20041216 DB Stamp 1 Time 00105249 DB Stamp 2 Date DB Stamp 2 Time Page Count 1578 Devices Used 1 Database ID sapdb:pharmed_20040930_145159 Max Used Data Page 0 La sauvegarde est disponible là : /backup/backup 4.2.2 Restauration d'une sauvegarde Restauration d'un backup sur une instance existante Page 10

dbmcli on PHARMED>db_cold dbmcli on PHARMED>util_connect dbm,dbm dbmcli on PHARMED>recover_start test_backup DATA Returncode 0 Date 20041216 Time 00105736 Server sapdb Database PHARMED Kernel Version Kernel 7.5.0 Build 019-000-000-000 Pages Transferred 1600 Pages Left 0 Volumes 1 Medianame test_backup Location /tmp/test Errortext Label DAT_000000002 Is Consistent true First LOG Page 181329 Last LOG Page DB Stamp 1 Date 20041216 DB Stamp 1 Time 00105249 DB Stamp 2 Date DB Stamp 2 Time Page Count 1578 Devices Used 1 Database ID sapdb:pharmed_20040930_145159 Max Used Data Page 0 dbmcli on PHARMED>db_warm Page 11

db_cold permet de mettre la base dans un état d'administration. util_connect permet de se connecter en mode utilitaire. Enfin recover_start permet de lancer la restauration de la base. Finalement on remet la base dans l'état de fonctionnement normal en appelant db_warm. Restauration d'un backup sur une nouvelle instance Pour créer la base, on utilise la procédure normale. Puis on crée le médium de backup (voir Création d'un média de BACKUP). dbmcli on PHARMED2>db_cold dbmcli on PHARMED2>util_connect dbm,dbm dbmcli on PHARMED2>db_activate recover test_backup Returncode 0 Date 20041216 Time 00112455 Server sapdb Database PHARMED Kernel Version Kernel 7.5.0 Build 019-000-000-000 Pages Transferred 1600 Pages Left 0 Volumes 1 Medianame test_backup Location /tmp/test Errortext Label DAT_000000002 Page 12

Is Consistent true First LOG Page 181329 Last LOG Page DB Stamp 1 Date 20041216 DB Stamp 1 Time 00105249 DB Stamp 2 Date DB Stamp 2 Time Page Count 1578 Devices Used 1 Database ID sapdb:pharmed2_20040930_145159 Max Used Data Page 0 dbmcli on PHARMED2>db_warm 5 Annexes 5.1 Script de démarrage de Jboss Dans /etc/init.d/ : Pharmed.sh: #!/bin/sh export JAVA_HOME=/usr/java/j2sdk1.4.2 export LANG=fr_FR export JBOSS_HOME=/home/pharmed/jboss export PATH=$PATH:$JBOSS_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin RETVAL=0 # See how we were called. case "$1" in Page 13

start) cd $JBOSS_HOME/bin if [ -f /var/run/jboss.pid ] ; then else echo "Pharmed est deja démarré " sh runpharmed.sh > /dev/null 2>&1 & # echo $! > /var/run/jboss.pid sleep 30 until [ `tail -n3 $JBOSS_HOME/server/pharmed/log/server.log grep "Started in" wc -l` -eq 1 ] ; do echo "Waiting start" fi ;; done sleep 5 echo "Pharmed démarré avec succés " stop) echo -n "Arret pharmed: " #echo -n "JBoss stoping:" if [ -f /var/run/jboss.pid ] ; then kill -15 `cat /var/run/jboss.pid` rm -rf /var/run/jboss.pid echo "Pharmed arret else echo "Pharmed n'est pas démarré" fi ;; restart) echo -n "Restarting jboss daemon: " $0 stop sleep 2 fi ;; stop) echo -n "Arret pharmed: " Page 14

#echo -n "JBoss stoping:" if [ -f /var/run/jboss.pid ] ; then kill -15 `cat /var/run/jboss.pid` rm -rf /var/run/jboss.pid echo "Pharmed arret else echo "Pharmed n'est pas démarré" fi ;; restart) esac echo -n "Restarting jboss daemon: " $0 stop sleep 2 $0 start ;; dans $JBOSS_HOME/bin: runpharmed.sh export JAVA_HOME=/usr/java/java export JAVA_OPTS='-server -Xmx768m' export LC_ALL='fr_FR.iso88591' export LANG='fr_FR.iso88591' sh run.sh -Dpython.cachedir=/tmp -Djava.awt.headless=true -Dpython.path=/pharmed/deploy/Server.jar -Droles.path=/home/pharmed/roles.xml -c pharmed & echo $! > /var/run/jboss.pid 5.2 Mise en place de l'update automatique des clients Coté serveur il est nécessaire de mettre en place un serveur web (apache par exemple) avec un accès sur le dossier : PRM_HOME/deployement/. Coté client il est nécessaire de réaliser un script bat ou bash afin de lancer l'update avant le lancement du client: Page 15

javaw -jar updateagent.jar IP_SERVEUR_JBOSS/deployement/client javaw -jar aair-client.jar IP_SERVEUR_JBOSS updateagent.jar est disponible dans PRM_HOME/deployement/ Page 16