====== Installation ====== ------------------- objet ------------------- Ce document décrit la procédure d'installation d'une application Zord 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 nécessite l'installation préalable des paquets suivants - git - sendmail - nginx - mariadb-server - epubcheck - jing - libbatik-java - imagemagick - 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 : - 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 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 puis éditer le fichier /etc/php/7.3/fpm/pool.d/www.conf et modifier les valeurs des variables 'user' et 'group' : ... user = group = ... 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 ( est à remplacer par le nom que vous voulez attribuer à votre application) : mkdir -p ~/zord/engines/library ~/zord/stores/ cd ~/zord/engines/library git clone https://github.com/DrozNumerique/zord-core cd 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/ 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 (/title et /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 ; USE ; SOURCE ; UPDATE users set email = '', password = SHA2(CONCAT(, ),0) WHERE login = 'admin'; est le nom attribué à la base et repris dans les paramètres de connexion définis dans le fichier connection.json est le chemin d'accès au script SQL fourni dans l'archive jointe est l'adresse e-mail du compte d'administration. est le mot passe attribué au compte d'administation. 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 /etc/nginx/sites-available/ cd /etc/nginx/sites-enabled ln -s ../sites-available/ Une fois le fichier /etc/nginx/sites-available/ renseigné, le vhost peut être lancé avec la commande suivante : service nginx reload L'application Zord Library est alors disponible