Installation pour Centos / Redhat

Information Veuillez prendre connaissance des prérequis avant de commencer.

Installation de l'environnement nécessaire à Maarch Courrier

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

L'installation suivante a été réalisée avec CentOs7.5

Mise à jour du système

yum update

Installation de quelques utilitaires

yum install nano mlocate wget net-tools
yum install httpd
yum install setroubleshoot-server

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

useradd maarch
passwd maarch
usermod -a -G apache maarch

Installation des prerequis

Apache

Autoriser les ports http et https

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

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

systemctl start httpd
systemctl enable httpd

Si nécessaire, permettre l'accès au répertoire /var/www/html

yum remove mod_security

Configurer selinux pour autoriser la lecture / écriture dans les répertoires web et exécution batch via httpd

#pour savoir ce qui bloque dans selinux : sealert -a /var/log/audit/audit.log | less
setsebool -P httpd_execmem 1
setsebool -P httpd_can_network_connect 1
setsebool -P nis_enabled 1
#autoriser php via apache à accéder aux répertoires des docservers
setsebool httpd_enable_homedirs on
#permettre à apache d'écrire dans /opt/maarch -> permission d'écrire dans un répertoire public
setsebool allow_httpd_anon_write 1
cd /var/www/html/
chown -R maarch. .
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;
chcon -t httpd_sys_content_t . -R
chcon -t httpd_sys_rw_content_t . -R

Préparation de la conf apache, éditer seulement les éléments nécessaires du fichier httpd.conf

    nano /etc/httpd/conf/httpd.conf
    User maarch
    Group maarch
    <Directory "/var/www/html/MaarchCourrier">
        AllowOverride All
        Options -Indexes
        Options FollowSymLinks Includes ExecCGI

        SetEnv MAARCH_TMP_DIR "/tmp/"
        SetEnv MAARCH_ENCRYPT_KEY "Security Key Maarch Courrier 2008"

        <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|ico)$">
            Order allow,deny
            Allow from all
        </FilesMatch>
        # App tools files
        <FilesMatch "\.(htm|html|jar|jnlp)$">
            Order allow,deny
            Allow from all
        </FilesMatch>
    </Directory>
    mkdir /var/www/html/MaarchCourrier
    chown -R maarch. /var/www/html
    service httpd restart
    ps -aux | grep httpd

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

Installation de Postgresql

yum install postgresql postgresql-server postgresql-contrib
postgresql-setup initdb
systemctl start postgresql
systemctl enable postgresql

Modifier le mot de passe du compte postgres

su postgres
psql
ALTER USER postgres WITH PASSWORD 'maarch';
\q

Créer l'utilisateur Maarch

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

Modifier le mode de connexion au serveur postgres

su
nano /var/lib/pgsql/data/pg_hba.conf
# modifier local all all peer
# par local all all md5
# et host all all 127.0.0.1/32 peer
# par host all all 127.0.0.1/32 md5
# et host all all ::1/128 peer
# par host all all ::1/128 md5
systemctl reload postgresql

Installation de php 7.3

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

yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

Suppression des versions de php existantes

yum remove php-common mod_php php-cli

Installation des principaux paquets de php 7

yum install -y --enablerepo=remi-php73 php

Installation des paquets nécessaires à MaarchCourrier

yum install php73 php73-xml php73-gd php73-xmlrpc php73-mbstring php73-pdo php73-imap php73-ldap php73-pgsql php73-imagick php73-soap php73-mbstring php73-json

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

nano /etc/php.ini
max_execution_time = 300
max_input_time = 300
memory_limit = 1024M
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
post_max_size = 128M
upload_max_filesize = 128M
max_file_uploads = 100
error_log = php_errors.log

Modification des droits du répertoire contenant les sessions

chown -R maarch. /var/lib/php/mod_php/session/

Prise en compte des installations php par apache

systemctl reload httpd.service

Installation de phpPgAdmin pour administrer la base de données

yum install phpPgAdmin
nano /etc/httpd/conf.d/phpPgAdmin.conf
# ajouter Require all granted
nano /etc/phpPgAdmin/config.inc.php
# éditer $conf['servers'][0]['host'] = 'localhost';
# et $conf['owned_only'] = true;)

Installation des paquets complémentaires à MaarchCourrier

yum install unzip p7zip ghostscript ImageMagick
yum install poppler-utils
yum install openjdk-8-jre
yum install java-1.8.0-openjdk
yum install git
yum install nmap
yum install unoconv

Convertir les html en imagettes

cd /tmp
wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
mv wkhtmltox/bin/wkhtmlto* /usr/bin
chown maarch. /usr/bin/wkhtmltopdf
chown maarch. /usr/bin/wkhtmltoimage

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

cd /var/www/html/MaarchCourrier/
git clone -b 20.10 https://labs.maarch.org/maarch/MaarchCourrier .
git checkout tags/$(git tag --sort=committerdate | grep -E '20\.10\.([0-9]+)$' | tail -1) -b $(git tag --sort=committerdate | grep -E '20\.10\.([0-9]+)$' | tail -1)
git config core.fileMode false
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 utiliserons l'utilisateur applicatif maarch.

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

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 {} \;
chcon -t httpd_sys_rw_content_t /opt/maarch/ -R

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

# désactiver selinux pour que l'utilisateur maarch puisse écrire via le service apache dans la crontab de l'utilisateur maarch
setenforce 0

Lancement de l'installeur en ligne

Etape 1

Ouvrez un navigateur FireFox (recommandé) ou Chrome

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.

Et voilà, votre MaarchCourrier est installé !

Installation de la BAN (Facultatif)

su maarch
mkdir -p /opt/maarch/docservers/[ID_DE_VOTRE_CUSTOM]/referential/ban/
cd /opt/maarch/docservers/[ID_DE_VOTRE_CUSTOM]/referential/ban/
wget https://labs.maarch.org/maarch/maarchcourrieraddressesban/raw/master/indexes.tar.gz?inline=false .
tar -zxvf indexes.tar.gz?inline=false -C .
rm indexes.tar.gz\?inline\=false
mkdir /var/www/html/MaarchCourrier/custom/[ID_DE_VOTRE_CUSTOM]/referential/ban/
cd /var/www/html/MaarchCourrier/custom/[ID_DE_VOTRE_CUSTOM]/referential/ban/
ln -s /opt/maarch/docservers/[ID_DE_VOTRE_CUSTOM]/referential/ban/ indexes

results matching ""

    No results matching ""