Installation pour Centos 7.7 avec selinux activé (Enforcing)

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.7 50 Go 8Go 2 Apache 2.4.6 / Php 7.3 Postgresql 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

Mise à jour du système

yum update

Installation de quelques utilitaires

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

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

useradd maarch
passwd maarch

Installation d'apache et PHP

Apache

yum install httpd
usermod -a -G apache maarch

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

PHP

yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum remove php-common mod_php php-cli
yum install -y --enablerepo=remi-php73 php
php --version
yum install php73-php-xml.x86_64
yum install php73-php-gd.x86_64
yum install php73-php-xmlrpc.x86_64
yum install php73-php-mbstring.x86_64
yum install php73-php-pdo.x86_64
yum install php73-php-imap.x86_64
yum install php73-php-ldap.x86_64
yum install php73-php-pgsql.x86_64
yum install php73-php-pear.noarch
yum install php73-php-pecl-imagick.x86_64
yum install php73-php-soap.x86_64
yum install php73-php-pecl-zip.x86_64
/usr/bin/php73-pear channel-discover pear.maarch.org
/usr/bin/php73-pear install maarch/CLITools-0.3.1
/usr/bin/php73-pear install SOAP-0.13.0
/usr/bin/php73-pear install MIME_Type

Paramétrage de php

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 & ~E_WARNING
display_errors = On
short_open_tag = On
post_max_size = 128M
upload_max_filesize = 128M
max_file_uploads = 100
error_log = php_errors.log
extension_dir = "/opt/remi/php73/root/usr/lib64/php/modules/"
include_path = ".:/php/includes:/usr/share/php/pear"
upload_tmp_dir = /var/www/html/MaarchCourrier/apps/maarch_entreprise/tmp/

Modification des droits du répertoire contenant les sessions

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

Modification du chemin vers librairies php

mv /etc/php.d/ /etc/php.d_bak
ln -s /etc/opt/remi/php73/php.d/ /etc/php.d
mv /usr/share/php /usr/share/php_bak/
ln -s /opt/remi/php73/root/usr/share/ /usr/share/php
mv /usr/lib64/php/ /usr/lib64/php_bak
ln -s /opt/remi/php73/root/usr/lib64/php/modules/ /usr/lib64/php

Paramétrage d'Apache

nano /etc/httpd/conf/httpd.conf
User maarch
Group maarch
chown -R maarch. /var/www/html
#pour savoir ce qui bloque dans selinux : sealert -a /var/log/audit/audit.log | less
getsebool -a | grep httpd
setsebool -P httpd_execmem 1
setsebool -P nis_enabled 1
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_sendmail 1 
setsebool httpd_enable_homedirs on
#autoriser php via apache à accéder aux répertoires des docservers
setsebool httpd_enable_homedirs on
service httpd restart
ps -aux | grep httpd

Installation de Postresql

rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10-server postgresql10

Initialiser gpdata

/usr/pgsql-10/bin/postgresql-10-setup initdb

Start postgreSQL server

service postgresql-10 start
chkconfig postgresql-10 on

Verify PostgreSQL Installation

su - postgres
psql

Modifier le mot de passe du compte postgres

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

Créer l'utilisateur Maarch

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

Paramétrer le format de la date

nano /var/lib/pgsql/10/data/postgresql.conf datestyle = 'iso, dmy'

Modifier le mode de connexion au serveur postgres

nano /var/lib/pgsql/10/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-10

Installation des paquets complémentaires à MaarchCourrier

yum install unzip 
yum install p7zip 
yum install ghostscript 
yum install ImageMagick
yum install poppler-utils
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

Outil de conversion des documents office

yum install install unoconv

Installation de Maarch Courrier

Récupération des sources

su maarch
mkdir /var/www/html/MaarchCourrier
cd /var/www/html/MaarchCourrier/
git clone -b 19.04 https://labs.maarch.org/maarch/MaarchCourrier.git .
git checkout tags/$(git tag --sort=committerdate | grep -E '19\.04\.([0-9]+)$' | tail -1) -b $(git tag --sort=committerdate | grep -E '19\.04\.([0-9]+)$' | tail -1)
git config core.fileMode false

Positionnement des droits

cd /var/www/html/
chown -R maarch:maarch .
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;
#Read-only directories and files used by Apache
chcon -t httpd_sys_content_t /var/www/html/ -R
#Readable and writable directories and files used by Apache
chcon -t httpd_sys_rw_content_t /var/www/html/ -R

Configuration d'apache

su
nano /etc/httpd/conf/httpd.conf

<Directory "/var/www">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
<Directory /var/www/html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>
<Directory "/var/www/html/MaarchCourrier">
    AllowOverride All
    Options -Indexes 
    Options FollowSymLinks Includes ExecCGI
    #Chemin vers le dossier temporaire
    SetEnv MAARCH_TMP_DIR "/tmp/"

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

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

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://IP_SERVER/MaarchCourrier/

Etape 3

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

Voilà, votre MaarchCourrier est installé !

Paramétrage des batchs

Création du batch BASKETS.sh

nano /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/BASKETS.sh

#!/bin/sh
eventStackPath='/var/www/html/MaarchCourrier/modules/notifications/batch/basket_event_stack.php'
cd /var/www/html/MaarchCourrier/modules/notifications/batch/
php $eventStackPath -c /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/config/config.xml -n BASKETS

chmod +x /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/*.sh

Paramétrage de ssmtp si utilisation de exchange

#installation d'un relai smtp
yum install ssmtp
#paramétrage de ssmtp
root=ADRESSE_MAIL_EXPEDITRICE
hostname=vm_maarch_centos
mailhub=ADRESSE_SERVEUR_SMTP:PORT_SMTP
UseSTARTTLS=YES
FromLineOverride=YES
AuthUser=VOTRE_COMPTE_MAIL
AuthPass=PASSWORD_COMPTE_MAIL

#paramétrage du php.ini pour chemin sendmail
sendmail_path = /usr/sbin/ssmtp -t

Paramétrage du module notifications

nano /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/config/config.xml
#si nécessaire positionner le customID
<customID>[ID_DE_VOTRE_CUSTOM]</customID>
#modifier l'url d'accès
<MaarchUrl>http://IP_SERVEUR/MaarchCourrier/cs_[ID_DE_VOTRE_CUSTOM]/</MaarchUrl>
#mettre type sendmail si exchange, sinon renseigner les informations de connexion à la boite mail
<type>sendmail</type>
#modifier l'adresse expéditrice
<mailfrom>ADRESSE_MAIL_EXPEDITRICE</mailfrom>

Droits d'exécution sur batch full_text

chmod +x /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/full_text/scripts/launch_fulltext*

Création de la crontab pour l'utilisateur maarch

su maarch
crontab -e

MAILTO=""
######################notification#################################################

0 10 * * *      /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/BASKETS.sh
0 12 * * *      /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/BASKETS.sh
0 15 * * *      /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/BASKETS.sh

15 10 * * *     /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/nct-ncc-and-anc.sh

30 10 * * *     /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/sendmail.sh
30 12 * * *     /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/sendmail.sh
30 15 * * *     /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/notifications/batch/scripts/sendmail.sh

10 12 * * 0     rm -Rf /var/www/html/MaarchCourrier/modules/notifications/batch/logs/process_event_stack/*.log
11 12 * * 0     rm -Rf /var/www/html/MaarchCourrier/modules/notifications/batch/logs/process_email_stack/*.log

######################fulltext###################################################

*/5 5-21 * * 1-5   /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/full_text/scripts/launch_fulltext.sh
20 12 * * 0        rm -Rf /var/www/html/MaarchCourrier/modules/full_text/log/*/*.log

Installation de la BAN

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
cd /var/www/html/MaarchCourrier/referential/ban/
rm -Rf indexes
ln -s /opt/maarch/docservers/[ID_DE_VOTRE_CUSTOM]/referential/ban/ indexes

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

results matching ""

    No results matching ""