Outils pour utilisateurs

Outils du site


Panneau latéral

documentation:install

Ceci est une ancienne révision du document !


Installation


objet


Ce document décrit la procédure d'installation d'une application Zord Library sur une machine disposant de l'OS Linux/Debian 10 (buster)

Il s'adresse à un administrateur système connaissant les bases de l'administration de nginx, mysql et solr

Il est accompagné d'une archive contenant les gabarits de fichiers de configuration à renseigner (zord_library_templates.zip)


pré-requis


Le fonctionnement de Zord Library nécessite l'installation préalable des paquets suivants

  1. git
  2. sendmail
  3. nginx
  4. mariadb-server
  5. epubcheck
  6. jing
  7. libbatik-java
  8. imagemagick
  9. php7.3

Ces paquets peuvent être installés avec la commande suivante, exécutée par un compte disposant des accès sudo requis

sudo apt-get install git sendmail nginx mariadb-server epubcheck jing libbatik-java imagemagick php7.3

En complément, les modules PHP suivants sont nécessaires :

  1. php7.3-fpm
  2. php7.3-mysql
  3. php7.3-solr
  4. php7.3-odbc
  5. php7.3-imagick
  6. php7.3-gd
  7. php7.3-intl
  8. php7.3-mbstring
  9. php7.3-xml
  10. php7.3-uploadprogress
  11. php7.3-zip
  12. php7.3-ssh2
  13. php7.3-sqlite3
  14. php7.3-xdebug

Ces modules peuvent être installés avec la commande suivante, toujours exécutée par un compte disposant des accès sudo requis

sudo apt-get install php7.3-fpm php7.3-mysql php7.3-solr php7.3-odbc php7.3-imagick php7.3-gd php7.3-intl php7.3-mbstring php7.3-xml php7.3-uploadprogress php7.3-zip php7.3-ssh2 php7.3-sqlite3 php7.3-xdebug

Il faut de plus configurer le module php-fpm pour que les scripts PHP soient exécutés avec le compte UNIX dédié à Zord Pour cela, il faut d'abord eventuellement créer le compte dédié avec la commande suivante :

sudo useradd <zord_user>

puis éditer le fichier /etc/php/7.3/fpm/pool.d/www.conf et modifier les valeurs des variables 'user' et 'group' :

...
user = <zord_user>
group = <zord_user>
...

Enfin, dernier pré-requis, l'installation de Solr7 et la création d'un core dédié à l'application Zord Library

Télécharger la dernière version 7 de SolR au format binaire depuis le site de la fondation Apache : https://lucene.apache.org/solr/downloads.html
Décompresser l'archive dans le répertoire de votre choix
Exécuter le script d'installation install_solr_service.sh présent dans le répertoire bin de l'archive
Une fois le service installé, créer un core SolR à partir de l'interface d'administration et des fichiers de configuration fournis dans l'archive jointe

NB : A partir de ce point les commandes indiquées doivent être exécutées avec le compte dédié à l'application Zord Library


Installation des composants de Zord Library


Une première étape consiste à créer l'arborescence de fichiers, récupèrer le code source des différents composants de l'application et initialiser les fichiers de configuration qu'il faudra ultérieurement renseigner Pour cela, exécuter la séquence de commandes suivantes (<zord_library_myapp> est à remplacer par le nom que vous voulez attribuer à votre application) :

mkdir -p ~/zord/engines/library ~/zord/stores/<zord_library_myapp>
cd ~/zord/engines/library
git clone https://github.com/DrozNumerique/zord-core <zord_library_myapp>
cd <zord_library_myapp>
mkdir components
cd components
git clone https://github.com/DrozNumerique/zord-store 10-zord-store
git clone https://github.com/DrozNumerique/zord-library 20-zord-library
mkdir 30-zord-custom
cd 30-zord-custom
mkdir config
cd config
echo "{}" > constant.json
echo "{}" > connection.json
echo "{}" > context.json
cd ~/zord/stores/<zord_library_myapp>
mkdir books epub library medias public zoom

Renseigner les fichiers de configuration


Il s'agit des trois fichiers au format JSON créés à l'étape suivant (voir exemples fournis) Il faut renseigner a minima en partant des gabarits fournis dans l'archive jointe :

Le répertoire du magasin documentaire (STORE_FOLDER dans constant.json)
La chaine de caractères utilisées pour générer les empreintes chiffrées des mots de passe (SALT dans constant.json)
Les paramètres de connexion à la base de données (database/default dans connection.json)
Les paramètres de connexion à SolR (solr/zord dans connection.json)
Les paramètres d'au moins un portail Zord (<portal>/title et <portal>/url dans le fichier context.json)

Générer des clés OpenSSL pour le chiffrement des tokens


ssh-keygen -t rsa -b 2048
openssl rsa -in ~/.ssh/id_rsa -pubout -out ~/.ssh/id_rsa.pub.pem

Créer la base de données et les tables requises


Il faut créer la base de données MySQL depuis l'utilitaire en ligne de commande 'mysql' en se connectant avec un compte ayant les privilèges requis

Pour cela, lancer la séquence de commandes suivante :

CREATE DATABASE <zord_library_myapp>;
USE <zord_library_myapp>;
SOURCE </path/to/zord_library.sql>;
UPDATE users set email = '<email@domain>', password = SHA2(CONCAT(<SALT>, <password>),0) WHERE login = 'admin';

<zord_library_myapp> est le nom attribué à la base et repris dans les paramètres de connexion définis dans le fichier connection.json </path/to/zord_library.sql> est le chemin d'accès au script SQL fourni dans l'archive jointe <email@domain> est l'adresse e-mail du compte d'administration. <password> est le mot passe attribué au compte d'administation. <SALT> est la valeur du paramètre SALT défini dans le fichier de configuration constant.json


Créer un vhost nginx pour l'application


Il faut copier le fichier vhost fourni en exemple et renseigner les valeurs entre <>

Le commandes suivantes doivent être executées avec le compte root

cp </path/to/zord_library.vhost> /etc/nginx/sites-available/<zord_library_myapp>
cd /etc/nginx/sites-enabled
ln -s ../sites-available/<zord_library_myapp> <zord_library_myapp>

Une fois le fichier /etc/nginx/sites-available/<zord_library_myapp> renseigné, le vhost peut être lancé avec la commande suivante :

service nginx reload

L'application Zord Library est alors disponible

documentation/install.1620387523.txt.gz · Dernière modification: 2021/05/07 13:38 de chloe