Veuillez prendre connaissance des prérequis avant de commencer. |
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
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 :
a2enmod rewrite
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
apt-get install postgresql postgresql-contrib
systemctl start postgresql
systemctl enable postgresql
Paramétrer le format de la date
nano /etc/postgresql/9.x/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
Au moment de la sortie de Maarch Courrier 19.04, la version 7.0 de Php n'est plus supportée et la version 7.1 ne bénéficie plus que des correctifs de sécurités.
Nous recommandons donc d'installer au minimum la version 7.2
Installons les paquets nécessaires à l'environnement MaarchCourrier
apt-get install php7.3 libapache2-mod-php7.3 php7.3-cli php7.3-json php7.3-pgsql php7.3-gd
apt-get install php7.3-xsl php7.3-xmlrpc php7.3-xml php7.3-imap php7.3-mbstring php7.3-zip php7.3-curl php-imagick php-pear
apt-get install php7.3-soap
Modification du propriétaire du répertoire de sessions :
chown maarch. -R /var/lib/php/sessions/
L'utilisation de PHP-FPM est recommandé pour les instances ayant une forte affluence. Pour la configuration, reportez-vous à la documentation.
Créer le fichier /etc/apache2/sites-available/maarch.conf
nano /etc/apache2/sites-available/maarch.conf
contenant :
<VirtualHost *:80>
# A décommenter si PHP-FPM
#<FilesMatch \.php$>
# SetHandler "proxy:fcgi://127.0.0.1:9000"
#</FilesMatch>
<Directory /var/www/html/>
# A décommenter si PHP-FPM
#CGIPassAuth On
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
<Directory "/var/www/html/MaarchCourrier">
# A décommenter si PHP-FPM
#CGIPassAuth On
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>
</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
systemctl reload apache2
pear channel-discover pear.maarch.org
pear install maarch/CLITools-0.3.1
pear install SOAP-0.13.0
pear install MIME_Type
apt-get install unzip p7zip p7zip-full
apt-get install ghostscript imagemagick
apt-get install poppler-utils
apt-get install openjdk-11-jre
apt-get install git
/etc/php/7.3/apache2/php.ini et /etc/php/7.3/cli/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
apt-get install wkhtmltopdf
apt-get install libreoffice unoconv
Le paramètre de langue permet de formatter des dates dans la langue souhaitée. Ici, on active le paramètre fr_FR.UTF-8 UTF-8.
Vérifier si le paramètre est activé :
$ locale -a
fr_FR.utf8
Si vous obtenez le paramètre souhaité, vous pouvez passer à l'étape de redémarrage de Apache.
Si vous ne le voyez pas, vérifier qu'il est disponible :
$ more /usr/share/i18n/SUPPORTED
fr_FR.UTF-8 UTF-8
Puis, activez-le :
Éditez le fichier /etc/locale.gen et décommentez la ligne du paramètre :
$ sudo nano /etc/locale.gen
# fr_FR.UTF-8 UTF-8
Devient :
fr_FR.UTF-8 UTF-8
Puis :
$ sudo locale-gen
Enfin, vérifier que le paramètre est bien activé :
$ locale -a
fr_FR.utf8
Si vous utilisez le paramètre fr_FR.UTF-8 en français (ou en_US.UTF-8 en anglais), vous pouvez passer à l'étape de redémarrage de Apache.
Sinon, mettez à jour la valeur de la variable _DATE_LOCALE dans les fichier de langue PHP (src/core/lang/lang-*.php et apps/maarch_entreprise/lang/*.php), avec la valeure du paramètre obetnu avec :
$ locale -a
fr_FR.utf8
ex: lang-fr.php :
define("_DATE_LOCALE", "fr_FR.utf8");
service apache2 restart
cd /var/www/html
mkdir MaarchCourrier
cd MaarchCourrier
git clone -b 19.04 https://labs.maarch.org/maarch/MaarchCourrier .
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)
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 {} \;
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 {} \;
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 :
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
Ouvrez un navigateur FireFox ou Chrome (Firefox est recommandé)
Dans la zone url, écrivez : http://127.0.0.1/MaarchCourrier/
Suivez les instructions de l'asssistant d'installation en ligne.
Voilà, votre MaarchCourrier est installé !
Si vous n'arrivez pas à exécuter l'installeur dans son intégralité, vous pouvez opter pour une installation manuelle |