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 :
Installer un nouveau Dokuwiki qui sera le “farmer” (c'est lui qui aura le moteur Dokuwiki)
Créer un dossier ”wikis” à la racine de www
sur le serveur FTP d'OVH.
Télécharger le 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
.
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 :
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
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
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
.
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* :
<?php /** * This is an example for a farm setup. Simply copy this file to preload.php and * uncomment what you need. See http://www.dokuwiki.org/farms for more information. * You can also use preload.php for other things than farming, e.g. for moving * local configuration files out of the main ./conf directory. */ // set this to your farm directory if(!defined('DOKU_FARMDIR')) define('DOKU_FARMDIR', '/home/hungrywo/www/wikis'); // include this after DOKU_FARMDIR if you want to use farms include(fullpath(dirname(__FILE__)).'/farm.php'); // you can overwrite the $config_cascade to your liking //$config_cascade = array( //);
* Par exemple :
/home/username/www/wikis
D:\Websites\Fermes\wikis
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
).
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 * <VirtualHost *> ServerName ferme1.wiki.example.com DocumentRoot "${path}/data/localweb/dokuwiki" </VirtualHost> <VirtualHost *> ServerName ferme1.localweb.com DocumentRoot "D:\Websites\Fermes\Dokuwiki" </VirtualHost>
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.
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.
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 les éléments de configuration souhaités.
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.
(Testé seulement sur serveur - à compléter pour que ça marche en local)
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
.
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é.
<?php /** * These settings are "protected" and cannot be overwritten * by the configuration manager, but need to be edited manually. */ $conf['savedir'] = DOKU_CONF.'../data'; $conf['updatecheck'] = 0; // if you're using the .htaccess base setup, set this to your animal's base directory: $conf['basedir'] = '/wikis/ferme1/';
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 :
<?php /** * This is an example for a farm setup. Simply copy this file to preload.php and * uncomment what you need. See http://www.dokuwiki.org/farms for more information. * You can also use preload.php for other things than farming, e.g. for moving * local configuration files out of the main ./conf directory. */ // set this to your farm directory if(!defined('DOKU_FARMDIR')) define('DOKU_FARMDIR', '/home/hungrywo/www/wikis'); // include this after DOKU_FARMDIR if you want to use farms include(fullpath(dirname(__FILE__)).'/farm.php'); // you can overwrite the $config_cascade to your liking //$config_cascade = array( //);
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.
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.
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 les éléments de configuration souhaités.