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 |
Pensez à vérifier l'espace disque de votre environnement en tapant la commande : | |
df -h |
yum update
yum install nano
yum install mlocate
yum install wget
yum install net-tools
yum install setroubleshoot-server
useradd maarch
passwd maarch
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
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
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
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
rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10-server postgresql10
/usr/pgsql-10/bin/postgresql-10-setup initdb
service postgresql-10 start
chkconfig postgresql-10 on
su - postgres
psql
su postgres
psql
ALTER USER postgres WITH PASSWORD '********';
\q
psql
CREATE USER maarch WITH ENCRYPTED PASSWORD '********';
ALTER ROLE maarch WITH CREATEDB;
ALTER USER maarch WITH SUPERUSER;
\q
exit
nano /var/lib/pgsql/10/data/postgresql.conf datestyle = 'iso, dmy'
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
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
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
yum install install unoconv
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
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
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>
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
Ouvrez un navigateur FireFox ou Chrome (Firefox est recommandé)
Dans la zone url, écrivez : http://IP_SERVER/MaarchCourrier/
Suivez les instructions de l'asssistant d'installation en ligne.
Voilà, votre MaarchCourrier est installé !
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
#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
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>
chmod +x /var/www/html/MaarchCourrier/custom/cs_[ID_DE_VOTRE_CUSTOM]/modules/full_text/scripts/launch_fulltext*
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
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
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 :
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 :