Cette procédure va vous guider pas à pas dans l'installation du socle d'archivage de Maarch RM.
Attention : Cette documentation permet uniquement l'installation du socle d'archivage. Pour toute installation d'une ou plusieurs extensions, merci de vous référer à leurs documentations d'installation et configuration dont les liens sont présents à la fin de cette documentation.
L'application est livrée avec une configuration et un jeu de données par défaut qui permettent de faire fonctionner le système d'archivage en mode "démonstration". Pour une installation personnalisée, nous vous invitons à prendre connaissance des documentations dédiées à l'architecture technique du logiciel et à sa configuration.
Cette procédure a été réalisée sur un système Debian GNU Linux 8 64 bit vierge avec une base de données PostgreSQL 9.4.
La plupart des commandes qui seront exécutées nécessiteront des droits administrateur (root) sur le système.
Pour connaître les prérequis du serveur applicatif devant héberger l'application maarchRM, veuillez vous référer à la page corespondante : Prérequis Application
Si votre serveur ne possède pas d'interface graphique, il vous faudra créer un script pour l'éxecution du programme "wkhtmltopdf" (nécessaire pour l'affichage des attestations de dépôt par exemple).
Voici les commandes à effectuer afin de pouvoir faire exécuter wkhtmltopdf via xvfb, le serveur graphique virtuel (veuillez vous assurer que les paquets wkhtmltopdf et xvfb soient bien installés sur votre serveur) :
printf '#!/bin/bash\nxvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf -q $*' > /usr/bin/newwkhtmltopdf.sh
chmod a+x /usr/bin/newwkhtmltopdf.sh
ln -s /usr/bin/newwkhtmltopdf.sh /usr/local/bin/wkhtmltopdf
Sur le serveur, créez un utilisateur "maarch" ayant un répertoire "home" avec le groupe "www-data" :
useradd -m -g www-data maarch
Afin que cet utilisateur puisse lancer les conversions et les batchs, il faut qu'il puisse lancer le serveur Apache2. Pour cela il faut éditer le fichier de configuration d'Apache2 (/etc/apache2/envvars).
Modifiez le fichier avec la valeur :
export APACHE_RUN_USER=maarch
Il est possible de tester la configuration du serveur Apache avec la commande suivante :
apachectl configtest
Serveur PostgreSQL 9.4 ou supérieur
apt-get install postgresql
Maarch RM est livré par téléchargement des sources à partir du Gitlab (git) de Maarch.
À partir du répertoire web du serveur (habituellement /var/www), récupérez les sources de l'application et ajoutez-les au répertoire "laabs".
Le dossier "laabs" se crée automatiquement.
cd /var/www
git clone https://labs.maarch.org/maarch/maarchRM.git laabs
mkdir -p /var/www/laabs/data/maarchRM/repository/archives_1
mkdir -p /var/www/laabs/data/maarchRM/repository/archives_2
À partir de la zone web (/var/www), remettre si nécessaire les droits et autorisation sur l'ensemble de la zone à l'utilisateur maarch :
cd /var/www
chown -R maarch:www-data laabs/
chmod -R 775 laabs/
Se connecter en tant qu'utilisateur postgres (depuis l'utilisateur administrateur, aucun mot de passe n'est nécessaire) :
su postgres
Et exécutez la commande suivante :
psql
CREATE USER maarch;
ALTER ROLE maarch WITH CREATEDB;
ALTER ROLE maarch WITH SUPERUSER;
ALTER USER maarch WITH ENCRYPTED PASSWORD 'maarch';
\q
exit
Nous venons de créer un utilisateur postgres 'maarch' avec le mot de passe 'maarch' qui est administrateur et à les droits de créer de nouvelles bases de données.
Créez une nouvelle base de données pour l'instance du socle d'archivage
su postgres
psql
CREATE DATABASE "maarchRM" WITH OWNER maarch;
\q
exit
Ici la base de données s'appele donc "maarchRM" et l'utilisateur 'maarch' est administrateur de celle-ci.
Ces scripts permettent de créer, dans l'ordre, la structure (les tables et relations) de la base de données puis de les remplir avec les données minimales pour le bon fonctionnement de l'application.
cd /var/www/laabs/data/maarchRM/batch/pgsql
Rendez les scripts executables :
chmod +x *.sh
Création des tables de la base de données :
./schema.sh -u=maarch -p=5432 -d="maarchRM" -h=127.0.0.1
En ce qui concerne les données, deux options s'offrent à vous.
Vous pouvez exécuter ce script qui créera un jeu de données correspondant au guide de visite (conseillé pour une première expérience avec Maarch RM) :
./data.sh -u=maarch -p=5432 -d="maarchRM" -h=127.0.0.1
ou ce script qui créera uniquement les données minimales permettant le bon fonctionnement de l'application en production :
./data.min.sh -u=maarch -p=5432 -d="maarchRM" -h=127.0.0.1
NB : Les paramètres des scripts sont les suivants :
Copiez les modèles de configuration suivants et enlevez leurs extensions .default pour que l'application puisse y accéder.
cp /var/www/laabs/data/maarchRM/conf/configuration.ini.default /var/www/laabs/data/maarchRM/conf/configuration.ini
cp /var/www/laabs/data/maarchRM/conf/confvars.ini.default /var/www/laabs/data/maarchRM/conf/confvars.ini
cp /var/www/laabs/data/maarchRM/conf/vhost.conf.default /var/www/laabs/data/maarchRM/conf/vhost.conf
Les instances sont publiées par le serveur http sous la forme d'hôtes virtuels possédant un nom, une configuration spécifique et positionnant les variables d'environnement pour l'exécution.
Créer une configuration Apache pour directement inclure le fichier de configuration de l'hôte virtuel livré :
echo "Include /var/www/laabs/data/maarchRM/conf/vhost.conf" > /etc/apache2/sites-available/maarchRM.conf
Éditez le fichier de configuration que vous venez d'inclure (/var/www/laabs/data/maarchRM/conf/vhost.conf) et modifiez les valeurs si elles sont différentes de celles par défaut.
# Chemin vers le répertoire public web de Laabs
DocumentRoot /var/www/laabs/web/
# Nom du vhost (identique au nom associé à l'adresse IP dans le fichier host)
ServerName maarchrm
Pour pouvoir utiliser pleinement les fonctionnalités du mode transactionnel, il faut modifier le fichier de configuration.ini présent par défaut ici : /var/www/laabs/data/maarchRM/conf/configuration.ini
Activer le mode transactionnel :
À la section [medona], passer la directive transaction à 'true'
Certaines sections comportent des parties à commenter ou décommenter selon la configuration souhaitée, d'autres indications complémentaires sont présentes directement dans le fichier de configuration.
Sections à décommenter :
Pour chacune des sections, il existe deux différentes définitions des directives, il ne vous reste qu'à commenter la partie non utilisée et décommenter les directives désirées. Exemple pour orgUnitRoles :
[organization]
; Roles of organization unit
; if 'transaction' parameter disable, uncomment the block 'orgUnitRoles' below
; if 'transaction' parameter enable, comment the block 'orgUnitRoles' below
orgUnitRoles = "{
'owner' : {
'code' : 'owner',
'description' : 'The system owner'
}
}"
; Roles of organization unit
; if 'transaction' parameter disable, comment the block 'orgUnitRoles' below
; if 'transaction' parameter enable, uncomment the block 'orgUnitRoles' below
;orgUnitRoles = "{
; 'owner' : {
; 'code' : 'owner',
; 'description' : 'The system owner'
; },
; 'archiver' : {
; 'code' : 'archiver',
; 'description' : 'Archival agency'
; },
; 'controlAuthority' : {
; 'code' : 'controlAuthority',
; 'description' : 'Archive control authority'
; },
; 'depositor' : {
; 'code' : 'depositor',
; 'description' : 'Archive depositor agency'
; },
; 'originator' : {
; 'code' : 'originator',
; 'description' : 'Archive originating agency'
; }
;}"
Se reporter à la page de configuration pour une description complète des variables et personnaliser ces valeurs si besoin.
Activation du nouveau VirtualHost
a2ensite maarchRM
Relancez Apache :
service apache2 restart
Cette étape permet de configurer la couche de logique métier et les dépendances techniques nécessaires au fonctionnement de l'application.
La configuration se trouve dans un fichier principal dont le nom est défini pour l'environnement d'exécution :
Les fichiers par défaut se trouvent dans le répertoire de configuration de l'application Maarch RM
cd /var/www/laabs/data/maarchRM/conf
Éditez le fichier de configuration confvars.ini se situant dans /var/www/laabs/data/maarchRM/conf contenant les variables d'accès à la base de données PSQL, et remplacez les par vos valeurs.
@var.dsn = "pgsql:host=localhost;dbname=maarchRM;port=5432"
@var.username = maarch
@var.password = maarch
Le fichier de configuration principal est nommé "configuration.ini". Voir l'article consacré à la configuration configuration pour une description détaillée des directives.
Ajoutez dans le fichier hosts du système qui doit accéder à l'application les coordonnées du serveur :
Sous Windows : C:\windows\system32\drivers\etc\hosts
127.0.0.1 maarchrm
Bravo !
L'installation est terminée, et l'application est maintenant accessible depuis un navigateur internet.
Avec notre exemple :
L'administrateur fonctionnel est 'superadmin', mot de passe 'superadmin'.
Tous les autres utilisateurs livrés dans les données d'exemple ont pour mot de passe par défaut 'maarch'.
Rappel : Cette documentation permet uniquement l'installation du socle d'archivage. Pour toute installation d'une ou plusieurs extensions, merci de vous référer à la documentation d'installation de celles ci :
Se reporter aux guides de visite pour prendre connaissance des grandes fonctionnalités de Maarch RM