====== Les fermes de wikis ======
Les fermes de wikis permettent d'avoir des wikis différents en utilisant un seul moteur Dokuwiki (pour ne pas avoir à ré-installer Dokuwiki à chaque fois). L'installation des templates et des plugins est partagées entre les différents wikis, mais chacun peut en utiliser des différents.
Il y a deux méthodes :
* l'utiliation d'un fichier .htaccess
* l'utilisation de Virtual Host
===== Pré-requis communs =====
==== 1) Installer Dokuwiki ====
Installer un nouveau Dokuwiki qui sera le "farmer" (c'est lui qui aura le moteur Dokuwiki)
==== 2) Récupérer le template "animal" ====
Créer un dossier ”wikis” à la racine de ''www'' sur le serveur FTP d'OVH.
Télécharger le [[https://www.dokuwiki.org/_media/dokuwiki_farm_animal.zip|template de ferme animal]] et le décompresser dans le dossier “wikis” précédemment créé.
Le dossier wikis doit maintenant contenir un dossier ''_animal''.
==== Dans le cas d'une installation sur serveur mutualisé ====
Le chemin entré pour DOKU_FARMDIR doit être basé sur le “vrai” chemin du répertoire sur le serveur (comme indiqué par la variable PHP variable $_SERVER['DOCUMENT_ROOT']).
Pour connaître le chemin racine, créer un fchier docroot.php contenant le code ci-dessous :
Transférer ensuite ce fichier à la racine du site (dans www sur ovh par exemple) et accéder à la page via le navigateur (ex: http://monste.fr/docroot.php ). Cela affiche le chemin du dossier racine, par exemple :
/home/user/www
===== Méthode 1 : Virtual Host =====
==== 3) Renommer _animal ====
Renommer le dossier _animal avec l'url qu'aura la ferme en question. Par exemple, renommer le dossier en ''ferme1.hungryworlds.fr'' pour qu'il soit accessible à l'adresse ''%%http://ferme1.hungryworlds.fr%%''.
Pour un wiki local sur la machine, choisir un nom de domaine sur lequel on ne compte pas aller, car l'url renverra ensuite vers le site local et non plus vers le site internet. \\
Par exemple : renommer le dossier ''_animal'' en ''ferme1.localweb.com''.
==== 4) Activer les fermes ====
Faire une copie du fichier ''\dokuwiki\inc\preload.php.dist'' et la renommer en ''preload.php''.
Éditer le fichier, enlever les commentaires devant les 2 lignes de code et remplacer ''/var/www/farm'' par le chemin du répertoire wikiw sur le serveur* :
* Par exemple :
* pour un wiki sur serveur mutualisé OVH : ''/home/username/www/wikis''
* pour un wiki local : ''D:\Websites\Fermes\wikis''
==== 5) Créer un sous-domaine chez l'hébegeur ====
=== Site hébergé ===
Dans le cas d'OVH, créer un nouveau sous-domaine du nom du site (par exemple ''ferme1.hungryworlds.fr'') qui pointe sur le répertoire du wiki principal, le "farmer" (ex : ''./dokuwiki'').
=== Site local (avec Easy PHP) ===
Arrêter le serveur EASY PHP.
Ouvrir le dossier de configuration d'Easy PHP (clic droit sur l’icône de la barre des tâches > ''Configuration > Apache'').
Ajouter des virtual hosts correspondant :
NameVirtualHost *
ServerName ferme1.wiki.example.com
DocumentRoot "${path}/data/localweb/dokuwiki"
ServerName ferme1.localweb.com
DocumentRoot "D:\Websites\Fermes\Dokuwiki"
Redémarrer le serveur Apache.
**Modification du fichier Host**
Éditer le fichier Host (''C:\Windows\System32\drivers\etc\Hosts'') pour ajouter la ligne :
127.0.0.1 ferme1.localweb.com
Maintenant la nouvelle ferme doit être accessible à l'adresse http://ferme1.localweb.com.
==== 7) Administration ====
=== 7a) Modifier le mot de passe admin ===
Par défaut, un compte "admin" est créé avec comme mot de passe "admin". Se connecter avec ce compte et modifier le mot de passe et l'adresse internet.
=== 7b) Modifier l'ACL ===
Par défaut, l'ACL est en modification pour "@All", ce qui fait qui n'importe qui peu faire des modifications sans être connecté. Modifier l'ACL comme souhaité.
=== 7b) Modifier la configuration ===
Modifier les éléments de configuration souhaités.
==== 8) Ajouter d'autres wikis à la ferme ====
Ajouter un nouvel animal à la ferme en ajoutant un répertoire _animal puis en le renommant, par exemple, en ferme2.wiki.example.com.
Créer les sous-domaines correspondant dans m'interface OVH, en pointant toujours sur le répertoire Dokuwiki
Se loguer sur le nouveau wiki et modifier le mot de passe d'admin et l'ACL.
===== Méthode 2 : .htaccess =====
(Testé seulement sur serveur - à compléter pour que ça marche en local)
==== 3) Renommer _animal ====
Renommer le dossier _animal avec le nom voulu. Par exemple, renommer le dossier "''ferme1''" pour qu'il soit accessible à l'adresse ''%%http://hungryworlds.com\wikis\ferme1%%''.
==== 4) Modifier local.protected.php ====
Dans le cas de l'installation avec htaccess, il faut enlever les commentaires pour la variable ''$conf['basedir']'' dans le fichier ''conf/local.protected.php'' et la modifier avec le chemin url par lequel l'animal peut être accédé.
==== 5) Activer les fermes ====
Faire une copie du fichier ''\dokuwiki\inc\preload.php.dist'' et la renommer en ''preload.php''.
Éditer le fichier et enlever les commentaires devant les 2 lignes suivantes et remplacer ''/var/www/farm'' par le chemin du répertoire farm sur le serveur :
==== 6) Configurer le serveur ====
Créer un fichier .htaccess dans le dossier farm contenant :
RewriteEngine On
RewriteRule ^/?([^/]+)/(.*) /dokuwiki/$2?animal=$1 [QSA]
RewriteRule ^/?([^/]+)$ /dokuwiki/?animal=$1 [QSA]
Options +FollowSymLinks
Note : modifier le chemin (”/dokuwiki/”) si le dokuwiki principal (farmer) n'est pas placé à la racine du serveur ou s'il a un autre nom.
==== 7) Administration ====
=== Modifier le mot de passe admin ===
Par défaut, un compte “admin” est créé avec comme mot de passe “admin”. Se connecter avec ce compte et modifier le mot de passe et l'adresse internet.
=== Modifier l'ACL ===
Par défaut, l'ACL est en modification pour “@All”, ce qui fait qui n'importe qui peu faire des modifications sans être connecté. Modifier l'ACL comme souhaité.
=== Modifier la configuration ===
Modifier les éléments de configuration souhaités.