Maarch RM installation sous ubuntu 14.04 (Sphere publique)


#1

Installation de MAARCH RM v2.1 (ArchivePubliques) UBUNTU 14.04 / Apache 2.4 / PHP 7.0

Table of contents

  1. PRÉREQUIS 1
    1.1. Serveur Applicatif 1
    1.2. Utilisateur Système pour l’application 2
    1.3. Serveur Base de données 2
    1.4. Serveur de fichiers 3
    1.5. Client 3

  2. RÉCUPÉRATION DES SOURCES 4
    2.1. Accès et droits 4
    2.2. Le lien Symbolique 4
    2.3. Création des espaces de stockage 4
    2.4. Changement des droits 4

  3. ADMINISTRATION DE POSTGRESQL 5
    3.1. Création d’un utilisateur 5
    3.2. Structures de données et données 5

  4. CONFIGURATION 6
    4.1. Préparation de fichiers de configuration 6
    4.2. Publication 6
    4.2.1. Apache 6
    4.3. Application Maarch RM 8

  5. CONNECTION À L’APPLICATION 9

  6. INSTALLATION DE L’EXTENSION ARCHIVESPUBLIQUES 10
    6.1. Préréquis 10
    6.2. Installation de l’extension thirdPartyArchiving 10
    6.2.1. Récupération des sources 10
    6.3. Installation d’archives publiques 10
    6.3.1. Récupération des sources 10
    6.4. Configuration de Maarch RM pour prendre en compte les deux nouvelles extensions 10
    6.5. Structures de données et données 11
    6.6. Connection à l’application 11

  7. Prérequis
    1.1. Serveur Applicatif
    • Serveur Apache 2.4 ou supérieur
    sudo apt-get update
    sudo apt-get install apache2
    • Module Apache rewrite_module
    a2enmod rewrite
    • Module Apache env_module
    a2enmod env
    • PHP 7.0 (Maarch RM est compatible avec php 5.4 ou supérieur)
    Il faut tout d’abord ajouter le dépôt php 7 si celui si n’existe pas :

apt-get install wget
apt-get update && apt-get upgrade
apt-get install php7.0
• Extension PHP fileinfo (souvent déjà inclu dans le paquet php7.0)
• Extension PHP mcrypt
apt-get install php7.0-mcrypt
• Extension PHP pdo (souvent déjà inclus dans le paquet php7.0)
apt-get install php7.0-pdo
• Extension PHP pdo_pgsql
apt-get install php7.0-pdo-pgsql
• Extension PHP xsl
apt-get install php7.0-xsl
• Lié apache et PHP
apt-get install libapache2-mod-php7.0
• Application 7z
apt-get install p7zip-full
• Environnement d’exécution JAVA 1.7 (JRE)
apt-get install default-jre
• Git
apt-get install git
• Espace disque à définir selon la volumétrie des échanges, 1Go conseillé.

1.2. Utilisateur Système pour l’application
Sur le serveur, créer 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). Modifier le fichier avec la valeur :
export APACHE_RUN_USER=maarch
Il est possible de tester la configuration du serveur Apache avec l’une des deux commandes suivantes :
apache2ctl configtest
service apache2 configtest

1.3. Serveur Base de données
• Serveur PostgreSQL 9.4 ou supérieur
apt-get install postgresql-9.4

1.4. Serveur de fichiers
Espace disque à définir selon la volumétrie des archives
1.5. Client
Navigateur internet HTML5 / CSS3
2. Récupération des sources
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érer les sources de l’application.
Un dossier laabs se crée automatiquement.
cd /var/www
git clone https://labs.maarch.org/maarch/maarchRM.git laabs

2.1. Accès et droits
2.2. Le lien Symbolique
À partir du répertoire public des dépendances (/var/www/laabs/web/public/dependency), créer un lien symbolique de la dépendance html

mkdir -p /var/www/laabs/web/public/dependency

Pour les systèmes autre que windows, un lien symbolique du binaire de 7z est nécessaire dans la dépendance fileSystem (/var/www/laabs/dependency/fileSystem/plugins/zip/bin/). Ce lien doit porter le nom “7z”

cd /var/www/laabs/web/public/dependency
ln -s /usr/bin/7z 7z

2.3. Création des espaces de stockage
mkdir -p /var/www/laabs/data/maarchRM/repository/archives_1
mkdir -p /var/www/laabs/data/maarchRM/repository/archives_2
2.4. Changement des droits
À partir de la zone web (/var/www), remettre si nécessaire les droits et autorisation sur l’ensemble de la zone :

	cd /var/www
	chown -R maarch:www-data laabs/
	chmod -R 775 laabs/
  1. Administration de PostgreSQL
    3.1. Création d’un utilisateur
    (Optionnel si vous possédez déjà un utilisateur avec les droits pour gérer la base de données de l’application)
    Se connecter en tant qu’utilisateur postgres (depuis l’utilisateur administrateur, aucun mot de passe n’est nécessaire) et exécuter la commande suivante :

    psql

    CREATE USER maarch;
    ALTER ROLE maarch WITH CREATEDB;
    ALTER ROLE maarch WITH SUPERUSER;
    ALTER USER maarch WITH ENCRYPTED PASSWORD ‘maarch’;
    CREATE DATABASE “maarchRM” WITH OWNER maarch;
    \q
    exit
    Nous venons de créer un utilisateur postgres ‘maarch’ avec le mot de passe ‘maarch’.
    3.2. Structures de données et données
    Attention, la commande suivante doit être exécutée en root !
    À partir du répertoire contenant les scripts développées pour l’application Maarch RM (/var/www/laabs/data/maarchRM/batch), exécuter.
    cd /var/www/laabs/data/maarchRM/batch/pgsql
    ./schema.sh -u=maarch -h=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 avec des données de tests correspondantes au guide de visite :
    ./data_fr.sh -u=maarch -h=5432 -d=“maarchRM” -h=127.0.0.1
    ou un script avec les données minimum permettant d’utiliser l’application Maarch RM en production :
    ./data.min.sh -u=maarch -h=5432 -d=“maarchRM” -h=127.0.0.1

  2. Configuration
    4.1. Préparation de fichiers de configuration

Application Maarch RM

cd /var/www/laabs/data/maarchRM/conf/

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

4.2. Publication
La publication d’une instance de l’application Maarch RM nécessite de positionner un certain nombre de valeurs pour des variables d’environnement.
4.2.1. Apache
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.
Editer la configuration d’apache (en général nano) pour directement inclure le fichier de configuration de l’hôte virtuel livré :
# Application Maarch RM :
Include /var/www/laabs/data/maarchRM/conf/vhost.conf
Éditer le fichier de configuration /var/www/laabs/data/maarchRM/conf/vhost.conf et définir les valeurs si différentes 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

Le fichier contient aussi toutes les variables d’environnement de l’instance publiée, notamment :
• le nom de l’instance (unique ou identique à d’autres instance pour une répartition de charge)
• le chemin du fichier de configuration de l’application
• la clé secrète de chiffrement des jetons de sécurité
• la gestion du cache
• etc.
Se reporter à l’article (ici) concernant la configuration pour une description complète des variables pour personnaliser ces valeurs.
Relancer Apache :
service apache2 restart

4.3. Application Maarch RM
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 :
• dans la configuration du ou des hôtes virtuels http pour la publication par le serveur internet (IHM et service)
• dans chaque script pour les exécutions en mode ligne de commande (batch, sh)
Le fichier principal nommé est livré avec des inclusions d’autres fichiers de configuration pour les variables propres à l’environnement et pour chaque dépendance technique.
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

Éditer le fichier de configuration “confvars.ini” qui contient les variables propres à l’environnement de données, et définir les valeurs des directives pour la connexion à la base de données et le chemin répertoire d’installation :
@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 (ici) pour une description détaillée des directives.

  1. Connection à l’application
    Ajouter dans le fichier hosts du système qui doit accéder à l’application les coordonnées du serveur :
    127.0.0.1 maarchrm
    • Sous Linux: /etc/hosts
    L’installation est terminée, et l’application est accessible depuis un navigateur internet.
    http://maarchrm/

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’.

  1. Installation de l’extension archivesPubliques
    6.1. Préréquis
    • Installation de l’extension thirdPartyArchiving
    6.2. Installation de l’extension thirdPartyArchiving
    6.2.1. Récupération des sources
    À partir du répertoire des extensions (habituellement /var/www/laabs/src/ext), récupérer les sources de l’application.
    Un dossier thirdPartyArchiving se crée automatiquement.
cd /var/www/laabs/src/ext
git clone https://labs.maarch.org/maarch/thirdPartyArchiving.git

6.3. Installation d’archives publiques
6.3.1. Récupération des sources
À partir du répertoire des extension (habituellement /var/www/laabs/src/ext), récupérer les sources de l’application.
Un dossier archivesPubliques se crée automatiquement.

cd /var/www/laabs/src/ext
git clone https://labs.maarch.org/maarch/archivesPubliques.git

6.4. Configuration de Maarch RM pour prendre en compte les deux nouvelles extensions
À partir du répertoire des configurations (habituellement /var/www/laabs/data/maarchRM/conf), editer le fichier de configurations vhost.conf.
cd /var/www/laabs/data/maarchRM/conf
gedit -h vhost.conf
Chercher la ligne SetEnv LAABS_BUNDLES et la remplacer par la suivante
SetEnv LAABS_BUNDLES archivesPubliques;audit;auth;batchProcessing;contact;digitalResource;lifeCycle;medona;organization;recordsManagement;seda;seda2;filePlan
Chercher la ligne SetEnv LAABS_EXTENSIONS et la remplacer par la suivante
SetEnv LAABS_EXTENSIONS archivesPubliques;thirdPartyArchiving
Si elle n’existe pas, l’ajouter simplement après la ligne laabs_Bundle
Modifier le laabs_configuration comme suit ;
SetEnv LAABS_CONFIGURATION ‘’…/src/ext/archivesPubliques/data/conf/configuration.ini’’

6.5. Structures de données et données
Attention, la commande suivante doit être exécutée en root !
À partir du répertoire contenant les scripts développées pour les extensions archivespubliques et thirdPartyArchiving de Maarch RM (/var/www/laabs/src/ext/archivesPubliques/data/batch/pgsql), exécuter.
cd /var/www/laabs/src/ext/archivesPubliques/data/batch/pgsql
./schema.sh -u=maarch -h=5432 -d=“maarchRM” -h=127.0.0.1
En ce qui concerne les données,
Exécuter ce script avec des données de tests :
./data.sh -u=maarch -h=5432 -d=“maarchRM” -h=127.0.0.1

6.6. Connection à l’application
L’installation d’archivesPubliques est terminée, et l’application est accessible depuis un navigateur internet.
http://maarchrm/

Pour tester l’installation d’archivesPubliques, il faut utiliser le login cchaplin et le mot de passe maarch pour se connecter.

Merci!