Installation pour Centos / Redhat

Information Veuillez prendre connaissance des pré-requis de Maarch. Nous allons également utiliser PHP 7 qui propose des performances accrues non négligeables.
OS Espace disque RAM Processeur Serveur Web Base de données
Centos 7.5 8 Go 2Go 2 Apache 2.4.10 / Php 7.0.11 Postgresql 9.4

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

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

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

setsebool -P httpd_execmem 1
setsebool -P httpd_can_network_connect 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

mkdir /var/www/html/MaarchCourrier

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/"

    <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)$">
        Order allow,deny
        Allow from all
    </FilesMatch>
    # App tools files
    <FilesMatch "\.(htm|html|jar|jnlp)$">
        Order allow,deny
        Allow from all
    </FilesMatch>
</Directory>

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

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

yum install https://centos7.iuscommunity.org/ius-release.rpm

Suppression des versions de php existantes

yum remove php-common mod_php php-cli

Installation des principaux paquets de php 7

yum install php70u php70u-devel php70u-cli

Installation des paquets nécessaires à MaarchCourrier

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

Installation de pear

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

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 & ~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

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

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

Autre outil de conversion des documents office

yum install install unoconv

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

cd /var/www/html/MaarchCourrier/
git clone https://labs.maarch.org/maarch/MaarchCourrier.git .
git checkout 18.10
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

Création du paramétrage de log par défaut

cp /var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.default.xml /var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml

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 ""