Installation pour Debian / ubuntu

Configuration serveur

Configuration minimum

OS Espace disque RAM Processeur Serveur Web Base de données
GNU/Linux 8 Go 2 Go 2 coeurs (64 bits) Apache 2.2 / Php 7.0 Postgresql 9.4

Configuration recommandée

OS Espace disque RAM Processeur Serveur Web Base de données
Debian 9 20 Go 4 Go 4 coeurs (64 bits) Apache 2.4 / Php 7.3 Postgresql 10.7

Installation de l'environnement nécessaire à Maarch Parapheur

Information Pensez à vérifier l'espace disque de votre environnement en tapant la commande :
df -h

Installation de quelques utilitaires

apt-get update && apt-get upgrade && apt-get dist-upgrade -y
apt-get install apache2

Création d'un utilisateur et d'un groupe dédié à l'application

groupadd --gid 1001 maarch
useradd --uid 1001 --gid 1001 maarch --shell /bin/bash

Positionner l’utilisateur « maarch » comme membre du groupe d’exécution d’Apache www-data :

usermod --groups www-data maarch

L’instruction « useradd » ne permettant pas de spécifier le mot de passe de l’utilisateur, spécifier le avec l’instruction suivante :

passwd maarch

Installation des prerequis

Apache

Faire en sorte qu'Apache se lance automatiquement au démarrage du système

systemctl start apache2
systemctl enable apache2

Activer le mode de ré-écriture d'Apache :

a2enmod rewrite

Autoriser la lecture / écriture dans les répertoires web

cd /var/www/html/
chown -R maarch. .
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;

Modification du propriétaire lançant apache :

nano /etc/apache2/envvars

Modifiez les lignes :

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

Par :

export APACHE_RUN_USER=maarch
export APACHE_RUN_GROUP=maarch

Modification du propriétaire du répertoire de sessions :

chown maarch. -R /var/lib/php/sessions/

Installation de Postgresql

apt-get install postgresql postgresql-contrib
systemctl start postgresql
systemctl enable postgresql

Créer l'utilisateur base de données Maarch :

su postgres
psql
CREATE USER maarch WITH ENCRYPTED PASSWORD 'maarch';
ALTER ROLE maarch WITH CREATEDB;
ALTER USER maarch WITH SUPERUSER;
\q
exit

Installation de php 7.3

Au moment de la sortie de Maarch Parapheur 19.07, la version 7.0 de PHP n'est plus supportée et la version 7.1 ne bénéficie plus que des correctifs de sécurités.
Nous recommandons donc d'installer au minimum la version 7.2

Installons les paquets nécessaires à l'environnement MaarchParapheur

apt-get install php7.3 libapache2-mod-php7.3 php7.3-cli php7.3-json php7.3-pgsql php7.3-curl php7.3-xml php7.3-zip php-imagick imagemagick

Configuration du vhost

Créer le fichier /etc/apache2/sites-available/maarch.conf

nano /etc/apache2/sites-available/maarch.conf

contenant :

<VirtualHost *:80>
    # A décommenter si PHP-FPM
    #<FilesMatch \.php$>
    #    SetHandler   "proxy:fcgi://127.0.0.1:9000"
    #</FilesMatch>


    <Directory /var/www/html/>
        CGIPassAuth On
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <Directory "/var/www/html/MaarchParapheur">
        CGIPassAuth On
        AllowOverride All
        Options -Indexes 
        Options FollowSymLinks Includes ExecCGI
        SetEnv MAARCH_TMP_DIR "/tmp/"
        SetEnv CONFIG_DIR "/var/www/html/MaarchParapheur/config/"
        <FilesMatch ".*">
            Order deny,allow
            Deny from all
        </FilesMatch>
        # Root to allow index.php
        <FilesMatch "^$">
            Order allow,deny
            Allow from all
        </FilesMatch>
        # Core root
        <FilesMatch "^(index)\.php$">
            Order allow,deny
            Allow from all
        </FilesMatch>
        # App static files
        <FilesMatch "\.(html|css|js|ttf|woff|woff2|svg|ico)$">
            Order allow,deny
            Allow from all
        </FilesMatch>
    </Directory>
</VirtualHost>

!! IMPORTANT !!
Ajoutez cette configuration dans le vhost en faisant attention de bien modifier la valeur :

SetEnv MAARCH_ENCRYPT_KEY "Security Key Maarch Parapheur #2008"

Cette clé est utilisée pour chiffrer les mots de passe dans la base de données ainsi que pour chiffrer les valeurs dans le token de connexion. Si ce n'est pas modifié, cela compromet fortement la sécurité de l'application.


A partir de Apache 2.4, il faut éditer le fichier /etc/apache2/apache2.conf, et modifier cette partie comme ceci :

<Directory /var/www>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Installation de PHP-FPM

L'utilisation de PHP-FPM est recommandé pour les instances ayant une forte affluence. Pour la configuration, reportez-vous à la documentation.

Installation des paquets complémentaires à MaarchParapheur

apt-get install git

Vérifier l'application des paramètres suivants dans le php.ini

/etc/php/7.3/fpm/php.ini et /etc/php/7.3/cli/php.ini

max_execution_time = 300
max_input_time = 300
memory_limit = 1024M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
display_errors = On
short_open_tag = On
post_max_size = 128M
upload_max_filesize = 128M
max_file_uploads = 100
error_log = php_errors.log

Une fois les modifications effectuées, vous devez redémarrer Apache

service apache2 restart

Extraction de Maarch Parapheur depuis les dépôts GIT

cd /var/www/html
mkdir MaarchParapheur
cd MaarchParapheur
git clone -b 19.07 https://labs.maarch.org/maarch/MaarchParapheur .
git checkout tags/$(git describe --tags `git rev-list --tags=19.07.* --max-count=1`) -b $(git describe --tags `git rev-list --tags=19.07.* --max-count=1`)
Information Si vous utilisez un proxy, il faut exécuter cette commande en l'adaptant selon votre environnement : git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

Comme le serveur Apache devra écrire des fichiers dans les dossiers de l'application, nous allons devoir mettre l'utilisateur Apache comme propriétaire de ces dossiers, et n'autoriser que lui à accéder à ces dossiers.

Selon les distributions de Linux, l'utilisateur Apache peut avoir plusieurs noms. Ici, nous prendrons maarch.

chown -R maarch. /var/www/html/MaarchParapheur
cd /var/www/html/MaarchParapheur
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;

Création d'un répertoire dédié pour les applicatifs Maarch

Nous vous proposons de créer un nouveau répertoire qui permettra d'installer des programmes complémentaires à MaarchParapheur et de stocker les documents et indexes de MaarchParapheur

mkdir -p /opt/maarchparapheur/docservers/documents/
mkdir -p /opt/maarchparapheur/docservers/attachments/
mkdir -p /opt/maarchparapheur/docservers/handwritten/
mkdir -p /opt/maarchparapheur/docservers/signatures/
cd /opt/maarchparapheur
chown -R maarch:maarch .
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;

Configuration de l'application

Un fichier permet de renseigner les configurations générales de l'application

cd /var/www/html/MaarchParapheur
cp config/config.xml.default config/config.xml

Base de données

  • créer la base de données "maarchparapheur"
  • Importer le fichier sql/structure.sql
  • Importer le fichier sql/data_fr.sql dans la base de données

Jeu de données (pendant les développements)

Un jeu de données est disponible. Il comporte actuellement un utilisateur et plusieurs courriers et pj.

  • Placer un fichier test.pdf ici : /opt/maarchparapheur/docservers/documents/tests/test.pdf
  • Placer un fichier test_pj_1.pdf ici : /opt/maarchparapheur/docservers/attachments/tests/test_pj_1.pdf

results matching ""

    No results matching ""