#Déploiement (V0) //Environnement de dev// ##Prérequis : * Extension solr php v2.1.0 & Solr 7.6+ (Apache) * PHP 7+ * Apache (v2.4) * Java ## Lancer SOLR : * Aller dans le dossier d'installation et lancer la commande ```bash bin/solr start``` * Si un problème de path **JAVA\_HOME** intervient au moment de lancer la commande, créer une variable d'environnement windows **JAVA\_HOME** avec le chemin du dossier jdk/jre de la version Java installée sur votre machine * Aller dans le dossier d'installation de SOLR -> dossier solr(version)/server/solr et créer un dossier "zord" * Aller sur localhost:8983 * menu -> core admin * **add core** * **name**: zord * **instanceDir**: path/to/solr/solr(version)/server/solr/zord/ * laisser **les autres champs par défaut** et cliquer sur "add core" ## Créer un VirtualHost sur WAMP ou autre * dans le fichier httpd.conf, inserer le block suivant : NameVirtualHost zord_dev.test DocumentRoot "Path\To\Zord_dev\appli" ServerName zord_dev.test Alias /admin "Path\To\Zord_dev\admin" Alias /openurl "Path\To\Zord_dev\openurl" DirectoryIndex index.php Options -Indexes AllowOverride All Allow from All RewriteEngine on * Ajouter également le virtualhost dans le fichier c:/system32/drivers/etc/hosts ## Créer un utilisateur dans la BDD -> table admin * Pour créer votre mot de passe: - récuperer la valeur de la variable SALT dans config_appli.php, - concatenez la avec votre mot de passe (ex: hZP$xzbOOwVLmjuoMonMotDePasse) - convertir cette chaîne en SHA256 pour enfin insérer la valeur dans la BDD ## Fichiers de config - ```config_db.php``` -> configurer ```connection_string```, ```user```, ```password```. - ```config_admin.php``` -> ```php define("PROJECT_FOLDER", "/admin/");``` - ```config_solr.php``` -> ```php define('SOLR_SERVER_PATH', '/solr/zord');``` * Vous pouvez normalement accèder à l'application avec les URLs : * zord\_dev.test/appli * zord\_dev.test/admin ## Ajout de revue et indexation * Rajouter dans Path\To\wamp64\bin\php\php(version)\php.ini la ligne "extension=php_solr.dll" dans le block "Dynamic Extensions" * dans le menu admin, onglet importation TEI, uploader un xml * pour procéder à l'indexation, ouvrir une invite de commande dans le dossier "services" de l'appli ZORD, et lancer la commande ```bash php -f services.php indexation``` # Déploiement (V1) ##Prérequis : * composer * Extension solr php v2.1.0 & Solr 5.2.1 (Apache) * PHP 5.6 * Apache (v2.4) * Java * Jing ##Packagist Satis ZORD ###Mise en place du repo privé : - dans satis.json, paramétrer la propriété homepage - pour lancer le serveur satis (remplacez {urlduserveursatis} par la propriété homepage précedemment définie) : ```php -S {urlduserveursatis} -t zord-satis/``` - en allant sur le serveur, vous devriez voir une page comme celle-ci: ![Satis ZORD](https://i.gyazo.com/f2329770886332b61db322f547577eb1.png) ###Récupération du repo zord: - Dans un dossier qui servira de répertoire à votre projet droz, ouvrez une invite de commande et tapez : ```composer create-project droz/zord_v1:dev-develop --repository-url={urlduserveursatis}``` - Suite à ça, le projet droz sera téléchargé dans ce dossier. ## VirtualHost NameVirtualHost zord_v1.test DocumentRoot "Path\To\Zord_v1\webapp" ServerName calvin_zord_v1.test Alias /skins path/to/library/portals/Zord_v1/skins Alias /medias path/to/library/medias Alias /zoom path/to/library/zoom DirectoryIndex index.php Options -Indexes AllowOverride All Allow from All RewriteEngine on ## SOLR * Comme sur la V0, créer une nouvelle instance solr (en allant dans le dossier solr(version)/server/solr) en créant un dossier que l'on va appeler "zord_v1" par exemple, ainsi qu'un dossier "conf" dans ce dernier. * Une fois créés, copier le contenu du dossier install/Solr de l'application et coller le dans le dossier "zord\_v1/conf". * Créer un fichier "core.properties" dans "zord\_v1 avec ce contenu : #Written by CorePropertiesLocator #Mon Feb 19 09:44:18 UTC 2018 name=zord_v1 config=solrconfig.xml schema=schema.xml dataDir=data ## BDD: * Créer une nouvelle base de données et importer le script zord.sql se trouvant dans install/MySQL ### ou * Si vous avez déjà une V0 installée, vous pouvez copier la base pour en créer une nouvelle et executer le script update.sql se trouvant dans install/MySQL ## Dossier library * Créer un dossier "library" un cran au dessus du dossier de l'application * Son arborescence est la suivante : * books * epub * import * medias * metadata * portals * zord_v1 * logs * obfuscate * skins * templates * classes.php * config.php * context.json * database.json * index.json * zoom * zord ## Config * Dans le fichier portals/zord\_v1/config.php, si environnement Windows, redéfinir les valeur RELAXNG\_COMMAND et PROCESS\_COMMAND en: `define('RELAXNG_COMMAND', 'java -jar path\to\jing\jing.jar ${RNG} ${XML}');` `define('PROCESS_COMMAND','start /b path\to\php\php.exe -c path\to\php\php.ini -f ${ZORD} ${PID}');` * Dans le fichier database.json, configurez les paramètres de connexion à la base de données * Dans le fichier index.json, faites pointer le paramètre path vers le dossier de votre instance solr comme ceci : `"\/solr\/zord_v1"` par exemple * Dans le fichier context.json, configurez les portails comme ci dessous, en remplaçant les paramètres host (et éventuellement secure si la connexion à l'application est en HTTPS) { "calvin": { "secure": false, "url": [ { "host": "calvin.zord_v1.test", "path": "\/" } ], "locales": { "en-EN": { "title": "Calvin, base Droz", "categories": { "bezecorr": "Correspondance de Théodore de Bèze", "thr": "Études et contextes", "calvinopuscules": "Calvin, recueil des opuscules (1566)", "lit": "Textes littéraires Français", "calviniopera_19": "Opera quae supersunt omnia", "bibliography": "Bibliotheca Calviniana", "calvinomnia": "Ioannis Calvini Opera Omnia", "regpasteurs": "Registres de la Compagnie des pasteurs de Genève", "regconsistoire": "Registres du Consistoire de Genève", "varia": "Varia", "regconseil": "Registres du Conseil de Genève à l’époque de Calvin", "marguerite": "Marguerite" } }, "fr-FR": { "title": "Calvin, base Droz", "categories": { "bezecorr": "Correspondance de Théodore de Bèze", "thr": "Études et contextes", "calvinopuscules": "Calvin, recueil des opuscules (1566)", "lit": "Textes littéraires Français", "calviniopera_19": "Opera quae supersunt omnia", "bibliography": "Bibliotheca Calviniana", "calvinomnia": "Ioannis Calvini Opera Omnia", "regpasteurs": "Registres de la Compagnie des pasteurs de Genève", "regconsistoire": "Registres du Consistoire de Genève", "varia": "Varia", "regconseil": "Registres du Conseil de Genève à l’époque de Calvin", "marguerite": "Marguerite" } } } }, "tlf": { "secure": false, "url": [ { "host": "tlf.zord_v1.test", "path": "\/" } ], "locales": { "en-EN": { "title": "Textes littéraires français", "categories": { "prose": "Prose", "poesie": "Poésie", "theatre": "Théâtre", "correspondance": "Correspondances", "essai": "Essais" } }, "fr-FR": { "title": "Textes littéraires français", "categories": { "prose": "Prose", "poesie": "Poésie", "theatre": "Théâtre", "correspondance": "Correspondances", "essai": "Essais" } } } }, "thr": { "secure": false, "url": [ { "host": "thr.zord_v1.test", "path": "\/" } ], "locales": { "en-EN": { "title": "Humanisme et Renaissance", "categories": { "humanisme": "Humanisme", "bezecorr": "Correspondance de Théodore de Bèze", "bibliography": "Bibliographies", "eglisesreformees": "Archives des Églises réformées de France", "histoire_art": "Histoire de l'art", "histoire_livre": "Histoire du livre", "histoire_litteraire": "Histoire littéraire", "histoire_medecine": "Histoire de la médecine", "histoire_politique": "Histoire politique", "histoire_universite": "Histoire de l'université", "histoire_scientifique": "Histoire scientifique", "rabelaisiennes": "Études rabelaisiennes", "reforme": "Réforme et Réformation", "regconseil": "Registres du Conseil de Genève à l’époque de Calvin", "regpasteurs": "Registres de la Compagnie des pasteurs de Genève", "regconsistoire": "Registres du Consistoire de Genève", "ronsardiennes": "Études ronsardiennes" } }, "fr-FR": { "title": "Humanisme et Renaissance", "categories": { "humanisme": "Humanisme", "bezecorr": "Correspondance de Théodore de Bèze", "bibliography": "Bibliographies", "eglisesreformees": "Archives des Églises réformées de France", "histoire_art": "Histoire de l'art", "histoire_livre": "Histoire du livre", "histoire_litteraire": "Histoire littéraire", "histoire_medecine": "Histoire de la médecine", "histoire_politique": "Histoire politique", "histoire_universite": "Histoire de l'université", "histoire_scientifique": "Histoire scientifique", "rabelaisiennes": "Études rabelaisiennes", "reforme": "Réforme et Réformation", "regconseil": "Registres du Conseil de Genève à l’époque de Calvin", "regpasteurs": "Registres de la Compagnie des pasteurs de Genève", "regconsistoire": "Registres du Consistoire de Genève", "ronsardiennes": "Études ronsardiennes" } } } } }