#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"
}
}
}
}
}