Outils pour utilisateurs

Outils du site


documentation:install

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
documentation:install [2019/02/15 13:38]
127.0.0.1 modification externe
documentation:install [2021/05/12 11:53] (Version actuelle)
chloe
Ligne 1: Ligne 1:
 ====== Installation ====== ====== Installation ======
  
-===== Environnement serveur et dépendances ===== +------------------- 
-==== linux ====+objet 
 +-------------------
  
-==== windows ==== +Ce document décrit la procédure d'installation d'une application Zord sur une machine disposant de l'OS Linux/Debian 10 (buster)
-  * wamp +
-  * SolR +
-  * PHP : Eclipse pdt/php store +
-    * extensions php :  +
-  * git +
-===== Protocole =====+
  
 +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 <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.1550234334.txt.gz · Dernière modification: 2019/02/15 13:38 de 127.0.0.1