Applications tierces & configuration système⚓
Pour compléter l'installation de SCENARIchain-server il y a certains paramètres système à adapter et, selon les modèles documentaires que vous utilisez, certaines applications tierces à ajouter.
Allocation mémoire⚓
Truc & astuce : Paramétrer la mémoire allouée au serveur d'application⚓
Selon la quantité de documents gérés, SCENARIchain-server peut être gourmand en RAM. Il est donc conseillé de paramétrer la mémoire allouée au serveur d'application, l'exemple suivant alloue 3072Mo à Jetty.
Ouvrir le fichier /etc/default/jetty9
et ajoutez la ligne :
JAVA_OPTIONS="-Djava.awt.headless=true -Xmx3072M -Xms3072M"
Puis faire un restart
du service jetty9
.
systemctl restart jetty9
ImageMagick⚓
Truc & astuce :
Les conversions de PDF vers une image sont désactivées par défaut.
Modifier le fichier /etc/ImageMagick-6/policy.xml
pour remplacer none
par read
:
<policy domain="coder" rights="read" pattern="PDF" />
Polices⚓
Installation sous Debian / Ubuntu⚓
apt install --no-install-recommends -y fonts-noto fonts-noto-cjk fonts-noto-unhinted fonts-noto-color-emoji fonts-noto-ui-core fonts-noto-mono fonts-liberation fontconfig
Installation sous RedHat⚓
yum install -y google-noto-emoji-color-fonts google-noto-fonts-common google-noto-sans-fonts google-noto-cjk-fonts liberation-fonts
Truc & astuce :
Nécessaire pour les publications PDF et ODT (LibreOffice / Papier).
Postscriptum⚓
Installation⚓
apt install postscriptum-app
Remarque : Sous Debian⚓
Postscriptum est basé sur Chromium qui utilise la fonctionnalité des user namespaces
disponible dans les kernels modernes pour implémenter un bac à sable dans lequel est chargé toute page HTML.
Actuellement Debian considère les user namespaces
comme un trou de sécurité et les désactivent par défaut. Pour faire fonctionner Postscriptum il faut soit :
Activer les
user namespaces
dans le kernel :echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf
sysctl --system
Désactiver le principe de bac à sable de Postscriptum (Déconseillé) :
déclarer la variable d'environnement PS_NO_CHROMIUM_SANDBOX=true
Truc & astuce :
Nécessaire pour les générations de PDF des chaines libres.
LibreOffice⚓
Truc & astuce :
Certains modèles documentaires proposent d'intégrer des ressources (ODS, ODG...) et des publications (OptimOffice et Opale) au format OpenDocument.
Il faut alors de SCENARIchain-server puisse interagir avec LibreOffice qui doit être installé sur le serveur.
Actuellement une version 6.x ou 7.x est nécessaire.
Installation sous Debian / Ubuntu⚓
apt install --no-install-recommends -y libreoffice libreoffice-java-common ure
Installation sous RedHat⚓
yum install -y libreoffice-ure libreoffice-base
LaTeX⚓
Reverse Proxy⚓
Il est souvent souhaitable ou nécessaire de placer le serveur d'application derrière un serveur web classique qui agit comme un proxy inverse.
Vous avez le choix entre de nginx
(recommandé) et apache
comme proxy inverse devant le serveur d'application.
Attention :
Pensez à adapter la paramètre webapp.public.url
du fichier de configuration webapp.properties
pour prendre en compte la modification éventuelle de l'URL publique de SCENARIchain-server :
- https:// au lieu de http://
- port 80/443 au lieu de 8080
- Hostname différent du serveur d'application
Il faut préciser le port seulement si vous n'utilisez pas les ports standard pour le http:// (port 80) et le https:// (port 443)
Nginx⚓
Attention :
Une version de nginx
1.7.11 ou plus est nécessaire.
Installation Nginx⚓
apt install -y nginx
Exemple : Exemple de Configuration⚓
Créer le fichier /etc/nginx/conf.d/scenari.conf
:
map $http_upgrade $connection_upgrade {
default upgrade;
'' '';
}
server {
# Listen TCP/HTTPS
listen 443 ssl http2;
# Remove 1MB limit
client_max_body_size 0;
proxy_request_buffering off;
proxy_buffering off;
proxy_read_timeout 600;
# DOMAIN
server_name mydomain;
# CERT
ssl_certificate /etc/ssl/certs/mydomain.pem;
ssl_certificate_key /etc/ssl/private/mydomain.key;
# LOG
error_log /var/log/nginx/error_mydomain.log error;
access_log /var/log/nginx/access_mydomain.log combined;
# WS + HTTP
location /scenarichain-server6.1/ {
# ProxyPass to Jetty : http://IP:PORT/WEBAPPS_NAME/
proxy_pass http://127.0.0.1:8080/scenarichain-server6.1/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
include proxy_params;
}
}
Puis faire un restart
du service nginx
.
systemctl restart nginx
Apache⚓
Attention :
Une version d'apache
2.4.5 ou plus est nécessaire.
Installation Apache⚓
apt install -y apache2
Activer les modules pour le reverse proxy :
a2enmod proxy_http proxy_wstunnel
Exemple : Exemple de Configuration⚓
Rajouter dans /etc/apache2/sites-enabled/000-default.conf
:
# Listen TCP/HTTPS
<VirtualHost *:443>
SSLEngine on
# DOMAIN
ServerName mydomain
# CERT
SSLCertificateFile /etc/ssl/certs/mydomain.pem
SSLCertificateKeyFile /etc/ssl/private/mydomain.key
# LOG
ErrorLog ${APACHE_LOG_DIR}/error_mydomain.log
CustomLog ${APACHE_LOG_DIR}/access_mydomain.log combined
# Websocket
ProxyPass "/scenarichain-server6.1/ws" "ws://127.0.0.1:8080/scenarichain-server6.1/ws"
ProxyPassReverse "/scenarichain-server6.1/ws" "ws://127.0.0.1:8080/scenarichain-server6.1/ws"
# without Websocket
ProxyPass "/scenarichain-server6.1/" "http://127.0.0.1:8080/scenarichain-server6.1/"
ProxyPassReverse "/scenarichain-server6.1/" "http://127.0.0.1:8080/scenarichain-server6.1/"
</VirtualHost>
Puis faire un restart
du service apache
.
systemctl restart apache2