Installation.
Obtenir NumaHOP
On peut obtenir NumaHOP par trois méthodes:
- Depuis les pages de publication de version. (conseillé)
- Compiler depuis le code source.
- Dockerised solution. See the Docker Usage chapter.
Compiler depuis le code source
Programmes nécessaires
- git
- une distribution de la jdk (java developpement kit) version 17.
- just (optionnel)
- maven > 3.6.0 (optionnel)
Before the installation process, clone the git repository and cd into it:
git clone https://github.com/NumaHOP/NumaHOP.git numahop && cd numahop
If you don’t have maven installed you can run this command:
chmod +x mvnw
And use ./mvnw instead of mvn.
Then you can run the compilation command for numahop:
mvn package
# Or using the just file
just d
Si vous rencontrez des erreurs pendant la compilation lancez mvn -Dfast=true package. Cela desactive toute les execution non necessaires pour la compilation comme les tests, l’analyse du code ou la vérification du formatage du code. Une fois que la compilation est faite un fichier numahop-yy.mm.jar devrait être présent dans le dossier target. Pour l’installation deplacez ce fichier vers /opt/pgcn/numahop.jar. C’est le chemin d’installation par default de NumaHOP.
Dépendances à l’exécution
Now use your package manager to install the necessary runtime dependencies for numahop:
- mariadb > 10.*
- elasticsearch > 8.*
- open-jdk-17
- tesseract-ocr-all
- libimage-exiftool-perl
- imagemagick
- libyaz4j (optionnel)
The libyaz4j dependency is only used by the Z39.50 search queries. If you don’t need the Z39.50 queries you can skip this dependency.
Base de données
Maintenant nous allons créer une base de données vide pour NumaHOP. NumaHOP crée les tables automatiquement donc vous n’avez pas besoin de les créer vous même. Voir la page sur liquibase pour plus d’informations.
mariadb
Lancez ces commandes en remplaçant les bouts de texte a substituer <db-name>, <db-user-name> et <db-user-pwd>. Notez ceux-ci vous allez en avoir besoin plus tard.
MariaDB [(none)]>
La commande pour créer la base:
CREATE DATABASE <db-name>;
Puis créez l’utilisateur que NumaHOP utilisera pour se connecter a la base de données.
CREATE USER '<db-user-name>'@localhost IDENTIFIED BY <db-user-pwd>;
GRANT CREATE, ALTER, DROP, INSERT, SELECT, UPDATE, INDEX, DELETE ON '<db-name>'.* TO '<db-user-name>'@localhost;
FLUSH PRIVILEGES;
Remarque: Les droits donnés a l’utilisateur sont les droits minimaux pour que NumaHOP puisse éditer la base de données.
Vous pouvez vérifier que tous est bon en lançant les commandes SHOW DATABASES; et SHOW GRANTS FOR '<db-user-name>'@localhost.
Elastic Search
Installez Elastic Search en suivant leur documentation (lien. Et assurez vous que l’instance Elastic Search soit accessible par localhost ou une URL.
A faire: Recommander une configuration pour l’utiliser avec NumaHOP.
Le serveur mail (optionnel mais important)
NumaHOP n’as pas besoin du serveur de mail pour tourner cependant certaines fonctionnalités comme le changement de mot de passe ne seront pas fonctionnelles.
Configuration de NumaHOP
A présent nous pouvons configurer NumaHOP en suivant le guide de configuration. Après cette étape vous devriez avoir une instance NumaHOP fonctionnelle.
Si vous voulez gérer le processus de NumaHOP avec systemd
Creez le fichier /etc/systemd/system/numahop.service:
[Unit]
Description=NumaHOP
After=syslog.target
[Service]
ExecStart=/opt/pgcn/numahop.jar --spring.profiles.active=prod # for activating certain spring profiles see the config chapter for more information.
SuccessExitStatus=143
StandardOutput=null
User=numahop
[Install]
WantedBy=multi-user.target
Puis lancez les commandes (selon vos droits utilisateur elle peuvent demander d’être lancer avec l’utilisateur root):
systemctl daemon-reload # After adding/modifying the file
systemctl start numahop # For starting numahop
systemctl stop numahop # For stoping numahop
Si vous n’avez pas les droits vous pouvez creez le fichier ~/.config/systemd/user/numahop.service contenant:
[Unit]
Description=NumaHOP
After=syslog.target
[Service]
ExecStart=/opt/pgcn/numahop.jar --spring.profiles.active=prod
SuccessExitStatus=143
StandardOutput=null
[Install]
WantedBy=multi-user.target
Et utiliser les commandes:
systemctl --user daemon-reload # After adding/modifying the file
systemctl --user start numahop # For starting numahop
systemctl --user stop numahop # For stoping numahop
Si tous a fonctionne correctement vous pouvez acceder a l’interface graphique en vous connectant au serveur. Vous pouvez vous diriger vers le guide de post installation.