Aller à : navigation, rechercher

Maarch RM/Procédure d'installation v2

Cette procédure va vous guider pas à pas dans l'installation de Maarch RM.

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.

Prérequis

Serveur applicatif

  • Serveur Apache 2.4 ou supérieur
  • 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 dist-upgrade -y
echo "deb http://packages.dotdeb.org jessie all" > /etc/apt/sources.list.d/dotdeb.list
wget https://www.dotdeb.org/dotdeb.gpg && apt-key add dotdeb.gpg
apt-get update
apt-get --purge remove php5*
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à inclu 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
  • 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é.

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

Serveur base de données

  • Serveur PostgreSQL 9.4 ou supérieur
    apt-get install postgresql-9.4

Serveur de fichiers

  • Espace disque à définir selon la volumétrie des archives

Client

  • Navigateur internet HTML5 / CSS3

 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  

Accès et droits

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

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

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/

 Administration de PostgreSQL

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

Structure 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

Configuration

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

 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.

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 /etc/apache2/sites-available/000-default.conf) 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érent 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

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.

Connexion à l'application

Fichier hosts
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
  • Sous Windows : C:\windows\system32\drivers\etc\hosts

Bravo !

L'installation est terminée, et l'application est accessible depuis un navigateur internet.

Avec notre exemple :
    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'.

Se reporter aux guides de visite accessibles depuis le wiki pour le test des grandes fonctionnalités de Maarch RM.