Installation pour Debian / ubuntu

Information Veuillez prendre connaissance des prérequis avant de commencer.
OS Espace disque RAM Processeur Serveur Web Base de données
Debian 9 8 Go 2Go 2 Apache 2.4.25 / Php 7.0.30 Postgresql 9.6.10

Installation de l'environnement nécessaire à Maarch Courrier

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 nano mlocate wget net-tools
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 prérequis

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, et la gestion des headers :

a2enmod rewrite
a2enmod headers

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

Installation de Postgresql

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

Paramétrer le format de la date

nano /etc/postgresql/9.5/main/postgresql.conf
datestyle = 'iso, dmy'

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

Attention ! il est fortement déconseillé d'installer php en version 5 qui est en fin de support.

Installons les paquets nécessaires à l'environnement MaarchCourrier

apt-get install php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-json php7.0-pgsql php7.0-gd

apt-get install php7.0-xsl php7.0-xmlrpc php7.0-imap php7.0-mbstring php7.0-zip  php7.0-curl php-imagick php-pear

apt-get install php7.0-soap

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

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

Configuration PHP FPM

L'utilisation de PHP-FPM est recommandé pour les instances ayant une forte affluence.
Installation de php-fpm :

apt-get install php7.0-fpm

Activation des modules proxy :

a2enmod proxy
a2enmod proxy_fcgi
a2dismod php7.0 mpm_prefork
a2enmod mpm_worker

Verification de la configuration :

apache2ctl -V
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)

Paramétrage de la configuration php-fpm :

nano /etc/php/7.0/fpm/pool.d/www.conf

Modifier le fichier avec ces informations :

user = maarch
group = maarch
...
listen = 127.0.0.1:9000

Redémarrez php-fpm :

service php7.0-fpm restart

Configuration VHOST

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

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

contenant :

<VirtualHost *:80>
    # Si PHP-FPM, décommentez autour de filesMatch
    #<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/MaarchCourrier">
        CGIPassAuth On
        AllowOverride All
        Options -Indexes 
        Options FollowSymLinks Includes ExecCGI
        SetEnv MAARCH_TMP_DIR "/tmp/"
        <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|ws_server|static|merged_js|merged_css|reopen|applet_launcher|applet_controller|log)\.php$">
            Order allow,deny
            Allow from all
        </FilesMatch>
        # App static files
        <FilesMatch "\.(css|js|jpg|jpeg|png|gif|ttf|woff|woff2|svg)$">
            Order allow,deny
            Allow from all
        </FilesMatch>
        # App tools files
        <FilesMatch "\.(htm|html|jar|jnlp)$">
            Order allow,deny
            Allow from all
        </FilesMatch>
    </Directory>
</VirtualHost>

En environnement multicustom, si l'accès au custom se fait via la fin du chemin, ex :

https://monserveurmaarch.com/moncustom/

Pour éviter d'avoir à ajouter un slash à la fin du chemin (et éviter une erreur 403), il faut rajouter la condition suivante dans votre vhost :

    <FilesMatch "^(custom_1|custom_2|custom_3|custom_n)$">
        Order allow,deny
        Allow from all
    </FilesMatch>

Remplacer custom_1...custom_n par l'id de vos customs

Vous pourrez ainsi y accéder via l'url :

https://monserveurmaarch.com/moncustom

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>

Activer le vhost :

cd /etc/apache2/sites-available/
a2dissite 000-default.conf
a2ensite maarch.conf
service apache2 reload

Installation de pear

pear channel-discover pear.maarch.org
pear install maarch/CLITools-0.3.1
pear install SOAP-0.13.0
pear install MIME_Type

Installation des paquets complémentaires à MaarchCourrier

apt-get install unzip p7zip p7zip-full
apt-get install ghostscript imagemagick
apt-get install poppler-utils
apt-get install openjdk-8-jre
apt-get install git

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

/etc/php/7.0/apache2/php.ini et /etc/php/7.0/cli/php.ini (si fpm est activé, remplacer apache2 par fpm)

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

Convertir les html en imagettes

apt-get install wkhtmltopdf

Outil de conversion pdf

apt-get install libreoffice unoconv

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

service php7.0-fpm restart    (si php-fpm activé)
service apache2 restart

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

cd /var/www/html
mkdir MaarchCourrier
cd MaarchCourrier
git clone -b 18.10 https://labs.maarch.org/maarch/MaarchCourrier .
git checkout tags/$(git describe --tags `git rev-list --tags=18.10.* --max-count=1`) -b $(git describe --tags `git rev-list --tags=18.10.* --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/MaarchCourrier
cd /var/www/html/MaarchCourrier
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 à MaarchCourrier et de stocker les documents et indexes de MaarchCourrier

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

Personnaliser le jeu de données SQL de l'application avant son installation

Vous pouvez si vous le souhaiter ajouter un jeu de données qui servira lors de l'installation de l'application.

Un jeu de données SQL contient généralement :

  • les utilisateurs
  • les groupes
  • les entités
  • le paramétrage des workflows

Ce jeu de données pourra être utilisé lors de l'intallation en remplacement du fichier ./sql/data_fr.sql.

Pour se faire, il faut déposer dans le répertoire ./sql à la racine de MaarchCourrier un ou des fichiers commençant par data_ et ayant pour extension .sql, ex :

data_monparam.sql

Dans le cas d'une installation de MaarchCourrier en mode mutualisé (plusieurs instances MaarchCourrier sur le même serveur, vous pouvez préparer plusieurs fichiers data_*.sql. Ex pour un serveur multicollectivités :

  • ./sql/data_orleans.sql
  • ./sql/data_sainthilaire.sql
  • ./sql/data_saintjeanbraye.sql

Créer le crontab pour l'utilisateur Maarch

Afin que l'installeur puisse éditer le crontab de l'utilisateur maarch, il faut au préalable le créer

su maarch
crontab -e
#écrire en entête 
MAILTO=""
#et quitter avec la commande echap+ :wq si vous êtes dans vi

Lancement de l'installeur en ligne

Etape 1

Ouvrez un navigateur FireFox ou Chrome (Firefox est recommandé)

Etape 2

Dans la zone url, écrivez : http://127.0.0.1/MaarchCourrier/

Etape 3

Suivez les instructions de l'asssistant d'installation en ligne.

Voilà, votre MaarchCourrier est installé !

Information Si vous n'arrivez pas à exécuter l'installeur dans son intégralité, vous pouvez opter pour une installation manuelle

results matching ""

    No results matching ""