Si ce n'est pas déjà fait, nous vous conseillons de lire les pages précédentes du guide d'installation du CMS Ametys afin d'avoir une vision globale du fonctionnement et mieux appréhender l'installation technique. Ce guide considère que vous avez des connaissances en administration système, que vous comprenez l'architecture d'Ametys et idéalement que vous avez déjà installé une application Java J2EE avec Apache/Tomcat/MySQL sur un serveur Linux.
Ce guide correspond à une installation type qui a été testée et validée sur une machine virtuelle Ubuntu 20.04/Debian 10. Etant donné qu'Ametys se présente sous la forme d'applications Web complètement standards, d'autres installations fonctionneront également, en particulier concernant les chemins d'accès, les utilisateurs, les sous-domaines, ...
Cette page décrit l'installation technique des différentes applications (Back-Office, Front-Office, Solr) composant Ametys, ainsi que leurs prérequis logiciels. A noter que l'installation du Front-Office est très proche de l'installation du Back-Office. Dans le cas d'utilisation de 2 machines virtuelles, il est possible de dupliquer la machine virtuelle du Back-Office pour en faire le Front-Office, seul un lien et quelques éléments de configuration seront différents (Apache et Ametys).
A la suite de l'installation, lors du premier accès à Ametys, il faut passer à la phase de configuration, décrite dans le manuel d'administration.
Se connecter avec l’utilisateur cms.
Certaines installations nécessitent l’utilisateur root. Il est conseillé que l’utilisateur root délègue ensuite à l’utilisateur cms : les accès aux fichiers de configuration, le droit de relancer tomcat…
En tant que root, donner l’accès en exécution au répertoire cms
cd /home chmod 711 cms
L'ensemble de l'installation des logiciels requis pour Ametys doit se faire avec l'utilisateur root. La gestion du lancement des applications sera ensuite déléguée à l'utilisateur cms.
Pour communiquer sur le port 80 (HTTP) et/ou 443 (HTTPS), il est nécessaire d'installer Apache HTTPD 2.
Si vous avez installé Apache HTTPD 2 avec le package disponible dans le dépôt par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://httpd.apache.org ou à la documentation du système d’exploitation).
Les modules Apache suivants doivent être installés et activés :
Il est possible que vous ayez besoin de modules supplémentaires selon votre utilisation.
Pour les activer, utiliser la commande a2enmod <nom_du_module>
a2enmod deflate expires headers proxy proxy_http rewrite deflate
Pour fonctionner en https il vous faudra installer openssl via votre système de dépôt de votre OS.
Pour la prise en compte de https il vous faudra ajouter les modules suivants:
a2enmod socache_shmcb ssl
Afin de faire fonctionner l'application, vous aurez besoin d'une JRE ou JDK 11 en 64 bits.
Le chemin de la JVM va être référencé dans des scripts, il est donc conseillé de créer un lien symbolique du type java_11 > jdk-11.0.10+9.
Seul MySQL est documenté mais l'installation avec un autre SGBD se déroule de manière équivalent. Se reporter aux manuels du SGBD choisi pour reproduire les étapes nécessaires.
Il est fortement conseillé de ne pas utiliser une base Derby en production pour les données. Vous pouvez par exemple installer MySQL et configurer son lancement automatique (se référer à la documentation http://www-fr.mysql.com/ ou à la documentation du système d’exploitation).
Si vous avez installé MySQL avec le package disponible dans le dépôt par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://www-fr.mysql.com/ ou à la documentation du système d’exploitation).
Sur certaines distributions (Exemple Debian 10) vous pourrez installer MariaDB à la place de MySQL.
Seul Tomcat est documenté mais l'installation avec un autre serveur applicatif se déroule de manière équivalent. Se reporter aux manuels du serveur applicatif choisi pour reproduire les étapes nécessaires.
Ensuite, il est recommandé d'installer Tomcat 9.x.
Une version antérieure ne supportera pas Java 11.
Tomcat doit avoir le droit de lire et écrire dans le répertoire de l'application back-office et de l'application front-office. Vous pouvez par exemple faire "chown -R cms:cms" sur le répertoire de tomcat ou d'ajouter l'utilisateur cms au groupe tomcat
Télécharger l’application depuis le formulaire proposé sur le site web www.ametys.org/community.
Veiller à choisir l'onglet Application de déploiement les autres onglets correspondant à des packages d'installation automatiques à des fins de démonstration.
Il convient de transférer l'archive mise à disposition depuis ce formulaire sur votre serveur dans le répertoire /tmp ,en la renomant en "ametys.zip".
Par exemple si la version récupérée est "ametys-demo-4.3.12.zip" il conviendra d'exécuter les commandes suivantes:
cd /tmp mv ametys-demo-4.3.12.zip ametys.zip
Nous allons créer l’arborescence applicative. Celle-ci ne doit jamais contenir d’espace !
Le répertoire racine est un sous-répertoire de celui de l’utilisateur cms : Ametys_CMS
Nous vous conseillons de créer un lien symbolique vers la dernière version du répertoire cms.
Lors des mises à jour il suffit ainsi de créer un nouveau répertoire de version puis de changer le lien symbolique : en cas de problème on peut basculer à nouveau sur la version précédente.
cd /home/cms mkdir Ametys_CMS cd Ametys_CMS mkdir application cd application mkdir tmp mkdir v1_0_0 #Déploiement de l'application cd /home/cms/Ametys_CMS/application/v1_0_0 unzip /tmp/ametys.zip #Création d'un lien vers la version courante cd .. ln -sf v1_0_0/cms cms
La composition du fichier zip disponible sur le site est composé de :
Il est nécessaire de séparer les données de l'application, ainsi, lors des mises à jour les données seront directement accessibles.
L'emplacement des données est défini par la variable d'environnement AMETYS_CMS_HOME, celle-ci est utilisée par l'application, il est préconisé de la définir au lancement.
#Préparation du répertoires de données cd /home/cms/Ametys_CMS mkdir ametys_cms_home #Variables d'environnement export AMETYS_CMS_HOME=/home/cms/Ametys_CMS/ametys_cms_home
Faire de même pour la partie front-office avec la variable d'environnement AMETYS_SITE_HOME vers le dossier /home/cms/Ametys_CMS/ametys_site_home.
Utiliser le fichier de configuration apache2.conf pour configurer Apache Httpd.
Dans ce fichier il faut personnaliser les valeurs de répertoire (/home/cms/Ametys_CMS/application/cms), de nom de domaine (cms.mondomaine.com), de port tomcat (8080), etc.
Penser aussi à activer les modules nécessaires (comme les mod_proxy* ou le mod_rewrite par exemple) : ils sont généralement déjà déclarés mais mis en commentaire.
Pièce jointe : httpd-cms.conf
#En tant que root: cd /etc/apache2/sites-available cp /tmp/httpd-cms.conf /etc/apache2/sites-available/000-httpd-cms.conf #Modifier le fichier pour remplacer cms.mondomaine.com... cd /etc/apache2/sites-enabled #Si besoin supprimer les sites inutiles (par exemple le site par default 000-default.conf) #Créer un lien pour déclarer le cms ln -sf ../ ln -sf ../sites-available/000-httpd-cms.conf #Vérifier le chemin vers les logs (en fin de fichier)
Apache 2.4
Le fichier httpd-cms.conf d'exemple est compatible avec Apache 2.4.
Si vous utilisez une authentification CAS et que votre certificat n’est pas « trusted », pensez à l’importer dans la JVM via l’utilitaire keytool.
L’exemple suivant importe le certificat dans le keystore par défaut. Si vous souhaitez vous pouvez l’importer dans un keystore différent.
keytool -import -file cas-dev.anyware.cer -keystore /path/to/jvm/jre/lib/security/cacerts -trustcacerts -storepass changeit
Depuis Ametys 4.0, il n'est plus nécessaire d'initialiser les tables des bases de données, il faut seulement créer les bases de données et les utilisateurs de celles-ci.
Puis dans notre cas, nous aurons besoin de créer trois bases de données :
A ces bases, nous associons un utilisateur "tout pouvoir".
mysql -u root -p #Sous MySQL create database Ametys_CMS; grant all privileges on Ametys_CMS.* to ametys_user identified by 'ametys_pwd'; grant all privileges on Ametys_CMS.* to 'ametys_user'@'localhost' identified by 'ametys_pwd'; FLUSH PRIVILEGES; exit
Dans cet exemple le login est ametys_user. Le mot de passe utilisé est ametys_pwd : "identified by 'ametys_pwd';". Nous vous conseillons d'utiliser un autre login et un autre mot de passe.
Dans le cas où vous utilisez une base de données distante, vous aurez également besoin d'affecter les droits à l'IP ou au domaine du CMS. Vous aurez peut-être besoin d'adapter la configuration de Mysql (ou Maria DB) pour autoriser les connexions externes. Avant de l'utiliser dans Ametys, réalisez un test en ligne de commande depuis le serveur Ametys.
Un connecteur base de données est requis et dépend du choix de la base de données (MySQL, Oracle, Derby, PostgreSQL). Ce connecteur doit être copié dans le répertoire lib de l'application (back-office et front-office)
Pour MySQL :
Connecteur MySQL pour Java
wget -O /tmp/mysql-connector.tar.gz https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.23.tar.gz cd /tmp/ tar xzf mysql-connector.tar.gz cp mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar /home/cms/Ametys_CMS/application/cms/WEB-INF/lib/ cp mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar /home/cms/Ametys_CMS/application/site/WEB-INF/lib/
Par défaut, Tomcat est fourni avec quelques applications potentiellement inutiles. Il est conseillé de les effacer avec les instructions suivantes.
Nous vous conseillons de déployer tomcat dans le dossier /opt/tomcat/ et faire un lien symbolique de la version vers le dossier current.
#En tant que root cd /opt/tomcat/current/webapps rm -rf *
Configurer tomcat en éditant le fichier /path/to/tomcat/conf/server.xml
exemple de fichier supportant toutes les configurations,
Il vous faudra commenter les Services en fonction de vos configurations. Ce fichier d'exemple est configuré pour des proxy http apache sur localhost avec les ports : BO http sur 8080, BO https sur 8082, FO http sur 8081 et FO https sur 8083. Il suffit alors d'adapter les proxy de vos vhosts apache en fonction de votre utilisation.
Au début du fichier, sélectionner un port libre de la machine : ce port est utilisé par tomcat en interne.
vi /opt/tomcat/current/conf/server.xml <Server port="8005" ...
En milieu de fichier, sélectionner un autre port libre de la machine : ce port sera utilisé pour accéder à tomcat. Sur cette même ligne ajouter l’instruction « proxyPort="80" » qui sert à faire un lien avec Apache HTTPD ou « proxyPort="443 scheme="https" » pour un serveur Apache en https. Toujours sur cette ligne ajouter l’instruction « URIEncoding="UTF-8" » qui indique l’encodage par défaut à utiliser lors du traitement des requêtes. Pour gagner en performances, la compression des fichiers texte (pages, fichiers CSS et javascript) peut être activée.
Configuration Tomcat pour un serveur Apache en HTTP |
Configuration Tomcat pour un serveur Apache en HTTPS |
---|---|
<Connector port="8080" proxyPort="80" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" compressableMimeType="text/html,text/xml, text/plain,text/javascript, application/javascript,text/css,application/json" compressionMinSize="2048" />
|
<Connector port="8082" proxyPort="443" scheme="https" secure="true" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" compressableMimeType="text/html,text/xml, text/plain,text/javascript, application/javascript,text/css,application/json" compressionMinSize="2048" />
|
Pensez à vérifier que les autres connecteurs soient commentés :
<!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
Reste à adapter le tag Host en fonction de votre configuration.
Il faut ensuite préparer le répertoire applicatif et y déclarer l’application :
mkdir -p /opt/tomcat/current/conf/CatalinaBO/localhost vim ROOT.xml
Dans le fichier, éditer le contenu suivant en personnalisant les chemins :
<Context docBase="/home/cms/Ametys_CMS/application/cms" privileged="true" antiResourceLocking="false"></Context>
Si vous avez installé Tomcat avec le package disponible dans le dépôt par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://tomcat.apache.org ou à la documentation du système d’exploitation).
Pour configurer tomcat avec systemd:
vi /etc/systemd/system/tomcat.service systemctl daemon-reload
Exemple de configuration de fichier de service (à adapter en fonction de vos configurations)
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking EnvironmentFile=/home/cms/Ametys_CMS/setenv-ametys.sh Environment=JAVA_HOME=/usr/lib/jvm/java-default Environment=CATALINA_PID=/opt/tomcat/current/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat/current Environment=CATALINA_BASE=/opt/tomcat/current Environment='UMASK=0022' ExecStart=/opt/tomcat/current/bin/startup.sh ExecStop=/opt/tomcat/current/bin/shutdown.sh User=cms Group=cms UMask=0022 RestartSec=10 Restart=always LimitNOFILE=20000 [Install] WantedBy=multi-user.target
Exemple de fichier de configuration setenv-ametys.sh pour positionner les dossiers AMETYS_*_HOME (en tant que utilisateur cms, dans le dossier /home/cms/Ametys_CMS):
#!/bin/sh AMETYS_CMS_HOME="/home/cms/Ametys_CMS/ametys_cms_home" AMETYS_SITE_HOME="/home/cms/Ametys_CMS/ametys_site_home" export AMETYS_CMS_HOME export AMETYS_SITE_HOME
CATALINA_OPTS="-Xmx5G -Xms512m -server" JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dderby.stream.error.file=/home/cms/Ametys_CMS/ametys_cms_home/logs/derby.log -Duser.country=FR -Duser.language=fr -Dcom.sun.jndi.ldap.connect.pool.protocol='plain ssl' -Dcom.sun.jndi.ldap.connect.pool.timeout=6000 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/cms/Ametys_CMS/ametys_cms_home/logs/heapdump.log -XX:ErrorFile=/home/cms/Ametys_CMS/ametys_cms_home/logs/java_error%p.log" export CATALINA_OPTS export JAVA_OPTS
Vous pouvez lancer et arrêter le serveur avec les commandes suivantes (ces commandes sont à exécuter en tant que root) :
service tomcat start service tomcat start
Droit à l'utilisateur cms pour lancer apache et tomcat avec un sudo, créez un fichier /etc/sudoers.d/cms-sudoers (à adapter en fonction de vos pré-requis de sécurité)
%cms ALL=NOPASSWD: /etc/init.d/apache2, /bin/systemctl * tomcat, /usr/sbin/service tomcat*, /bin/systemctl * solr, /usr/sbin/service solr*, /sbin/ifconfig
Ainsi Tomcat pourra être lancé en tant que cms avec la commande:
sudo service tomcat start
Le paramétrage applicatif est réalisé via une interface dédiée, pour cela http://<webapps_cms>/_admin (login/mot de passe par défaut: admin/admin).
Nous vous invitons à utiliser la documentation en ligne : Manuel d'administration
Pour plus de détails voir le stockage des données dans le manuel d'exploitation.
En général nous avons les valeurs suivantes :
L'application back-office doit fonctionner correctement avant de commencer l'installation de l'application front-office.
L’installation du front-office est proche de celle du back-office :
Le répertoire applicatif doit avoir la structure suivante :
Configurez tomcat de la même manière que pour le back-office, mis à part le fait que le host sera localhost afin de servir tous les sites via la même webapps.
Pour ce faire il faut éditer le fichier pour configurer l'accès à l'application (vous pouvez utiliser le fichier d'exemple proposé pour le back-office et commenter la partie Service BO):
vi /opt/tomcat/current/conf/server.xml
Si vous avez plusieurs Tomcat sur la même machine, assurez-vous que les ports utilisés sont différents.
Ajoutez le fichier ROOT.xml correspondant
mkdir -p /opt/tomcat/current/conf/CatalinaFO/localhost vi ROOT.xml
<Context docBase="/home/cms/Ametys_CMS/application/site" privileged="true" antiResourceLocking="false"></Context>
Ces opérations sont à exécuter en tant que root.
Pour l'application front-office, les modules Apache suivants doivent être installés et activés :
Si vous utilisez le même Apache pour le back-office et le front-office, pensez à rajouter les modules manquants.
Pour fonctionner en https il vous faudra installer openssl via votre système de dépôt de votre OS.
Pour la prise en compte de https il vous faudra ajouter les modules suivants:
a2enmod socache_shmcb ssl
Comme pour la configuration du CMS, utilisez le fichier de configuration joint pour paramétrer Apache Httpd pour l'application site (ceci est un exemple à adapter en fonction de votre environnement).
Dans ce fichier il faut personnaliser:
Il faudra déclarer un nouveau Virtual Host par site.
Pièce jointe : httpd-site.conf
Pages d'erreurs
Les pages d'erreurs sont gérés par le site pour pouvoir être disponibles lorsque le CMS n'est pas disponible. Cela implique de définir les pages d'erreurs de façon spécifique pour chaque charte graphique.
Dans les règles Apache du site, il faut activer le module mime et ajouter des langues :
LoadModule mime_module modules/mod_mime.so <IfModule mime_module> AddHandler type-map var AddLanguage fr .fr AddLanguage en .en DefaultLanguage fr </IfModule>
Puis rediriger l'erreur 404 vers la bonne URL, de même pour les autres erreurs :
ProxyErrorOverride On ErrorDocument 404 /error/404.html
Et rediriger l'erreur et ses ressources vers les fichiers correspondants :
RewriteRule ^/error/(.+)$ /home/cms/Ametys_CMS/application/site/skins/MASKIN/error/$1 [L]] ]>
Pensez à remplacer MASKIN par le nom de votre charte graphique. Si votre site change de charte graphique, il faudra également penser à modifier le fichier httpd-site.conf.
Si vous souhaitez gérer les erreurs côté CMS, il suffit de commenter ces lignes.
Si vous souhaitez activer les statistiques de l'utilisation du cache, les lignes contenant AMETYS_PROXY_PASS ne doivent pas être supprimés, ni modifiés (ne surtout pas modifier le LogFormat).
En revanche, si vous savez que vous n'utiliserez pas cette fonctionnalité, vous pouvez adapter ces lignes de la configuration si besoin (notamment le LogFormat pourra être adapté ou supprimé).
Performances
A chaque fois qu'une page est servie, même si elle et ses ressources sont entièrement mises en cache, le navigateur lancera de toute manière une série de requêtes pour s'assurer qu'il a bien la dernière version des CSS, des images, ou des JS.
Afin d'obtenir une impression de vitesse bien supérieure pour l'utilisateur final, il est possible de configurer Apache afin qu'il indique au navigateur que toute CSS chargée est valable pour 20 minutes : ainsi, en navigant de pages en pages, toutes les ressources communes de la charte graphique ne seront jamais rechargées.
La contre partie est qu'en conséquence, si vous modifiez votre charte graphique, un visiteur pourra continuer d'utiliser les vieilles versions des images, js et CSS pendant un certain temps : si c'est une chose que vous faites fréquemment, il ne faut peut être pas mettre en place cette optimisation, ou bien baisser la durée de validée à seulement quelques minutes.
Pour mettre en place l'optimisation, il faut d'une part charger le module expires (une seule fois)
LoadModule expires_module
et d'autre part, mettre les instructions suivantes (à la racine, ou pour chaque virtualhost) (ceci est un exemple à adapter en fonction de vos besoin)
<IfModule expires_module> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType text/html "access plus 1 seconds" ExpiresByType image/gif "access plus 20 minutes" ExpiresByType image/jpeg "access plus 20 minutes" ExpiresByType image/png "access plus 20 minutes" ExpiresByType text/css "access plus 20 minutes" ExpiresByType text/javascript "access plus 20 minutes" ExpiresByType application/x-javascript "access plus 20 minutes" ExpiresByType application/javascript "access plus 20 minutes" ExpiresByType text/xml "access plus 20 minutes" </IfModule>
#En tant que root: cd /etc/apache2/sites-available cp /tmp/httpd-cms.conf /etc/apache2/sites-available/001-httpd-site.conf #Modifier le fichier pour remplacer cms.mondomaine.com... cd /etc/apache2/sites-enabled #Si besoin supprimer les sites inutiles (par exemple le site par default 000-default.conf) #Créer un lien pour déclarer le cms ln -sf ../ ln -sf ../sites-available/001-httpd-site.conf
De la même manière que l'application back-office, il n'est pas nécessaire de créer les tables pour initialiser la base de données, il faut avoir créé la ou les bases avec son ou ses utilisateurs associés.
Redémarrez Apache et Tomcat :
#Création d'un lien vers la version courante cd /home/cms/Ametys_CMS/application ln -sf v1_0_0/site site
Il reste à configurer l’application site de la même manière que l’application CMS : http://<webapps_site>/_admin.
Nous vous invitons à utiliser la documentation en ligne : Page Créer un nouveau site / Rubrique Configuration du site
En général nous avons les valeurs suivantes :
Penser à ajouter les sudoers via la commande visudo pour le tomcat site.
Ametys requiert une seule instance de SOLR. Nous vous recommandons d'installer SOLR sur le serveur du back-office et de configurer les communications entre Ametys Back-office et SOLR via localhost.
Téléchargez la version de SOLR correspondant à la version d'Ametys que vous utilisez : http://releases.ametys.org/releases/org.ametys/solr-app/.
Déployez cette version dans /home/cms/Ametys_CMS/application/<numéro de version> (en tant qu'utilisateur cms)
Créez un lien symbolique /home/cms/Ametys_CMS/application/solr -> <numéro de version>/solr afin de pouvoir en changer facilement.
De la même manière que les données, l'indexation doit être séparée de l'application et de Solr, ainsi lors des mises à jour, il n'est pas nécessaire de relancer une indexation totale (tant que le modèle n'a pas changé).
L'emplacement des données d'indexation est défini dans la variable d'environnement SOLR_HOME.
#Création du répertoire d'indexation /home/cms/Ametys_CMS/ametys_solr_home cd /home/cms/Ametys_CMS mkdir ametys_solr_home
Voici un exemple de fichier de configuration de l'environnement pour SOLR (à adapter en fonction de votre configuration)
vi setenv-solr.sh
#!/bin/sh SOLR_JAVA_HOME="/usr/lib/jvm/java-default" SOLR_JAVA_MEM="-Xmx1G -Xms1G" SOLR_HOME="/home/cms/Ametys_CMS/ametys_solr_home" SOLR_LOGS_DIR="/home/cms/Ametys_CMS/ametys_solr_home/logs" SOLR_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$SOLR_LOGS_DIR/heapdump.log -XX:ErrorFile=$SOLR_LOGS_DIR/java_error%p.log" SOLR_TIMEZONE=`date '+%Z'`
Vérifiez que ces fichiers sont bien executable pour l'utilisateur cms:
Configurez l'environnement de SOLR et l'utilisateur d'execution:
vi /home/cms/Ametys_CMS/application/solr/bin/init.d/solr
SOLR_INSTALL_DIR="/home/cms/Ametys_CMS/application/solr" SOLR_ENV="/home/cms/Ametys_CMS/setenv-solr.sh" RUNAS="cms"
Créer des liens symboliques :
Solr doit de préférence être démarré avant le back-office.
Voici un exemple de fichier de configuration (à adapter en fonction de votre configuration) pour lancer SOLR en tant que service systemd (/etc/systemd/system/solr.service):
[Unit] Description=Apache SOLR ConditionPathExists=/home/cms/Ametys_CMS/application/solr After=syslog.target network.target remote-fs.target nss-lookup.target systemd-journald-dev-log.socket Before=multi-user.target Conflicts=shutdown.target [Service] User=cms Group=cms LimitNOFILE=1048576 LimitNPROC=1048576 PIDFile=/home/cms/Ametys_CMS/ametys_solr_home/solr-8983.pid Environment=SOLR_INCLUDE=/home/cms/Ametys_CMS/setenv-solr.sh Environment=RUNAS=cms Environment=SOLR_INSTALL_DIR=/home/cms/Ametys_CMS/application/solr Restart=on-failure RestartSec=5 startLimitIntervalSec=60 ExecStart=/home/cms/Ametys_CMS/application/solr/bin/solr start -f ExecStop=/home/cms/Ametys_CMS/application/solr/bin/solr stop PrivateTmp=true Restart=on-failure [Install] WantedBy=multi-user.target
Faites un reload des services systemd.
Adaptez ulimit pour répondre aux pre-requis de SOLR (pour le compte cms, si vous avez créé celui-çi, utilisateur qui lance solr ou tomcat)
vi /etc/security/limits.conf
cms hard nofile 65535 cms soft nofile 65535 cms hard nproc 65535 cms soft nproc 65535
Pour que tomcat et solr soient automatiquement relancés à chaque démarrage de la machine il faut que les services tomcat et solr définis au cours de l'installation soient activés. Voici les commandes à lancer dans le terminal :
# Activer le service SOLR systemctl enable solr.service #Activer le service tomcat systemctl enable tomcat.service
L’installation est terminée.
Nous vous invitons à jeter un coup d’œil au guide d'exploitation technique d'Ametys contenant des détails sur les opérations de maintenance de l'application et diverses astuces d'exploitation.