⋮ Obsah

DokuWiki Farmy

https://www.dokuwiki.org/farms

Wiki farma je kolekce wiki běžících na stejném webovém serveru a sdílejících jeden hlavní wiki engine. Tím, že provozujete pouze jednu hlavní wiki, můžete spravovat stovky nezávislých wiki (tzv. „zvířat“). Všechna zvířata sdílejí jednu sadu pluginů a šablon, ale každé z nich může mít jinou aktivní sadu pluginů, jinou šablonu a jiné nastavení. Koncept farem se v jiných CMS označuje také jako „multi-site“, „multi-domain“ nebo „sub-sites“.

Nastavení pomocí pluginu Farmer

Existuje více způsobů, jak wiki farmu provozovat. Pravděpodobně nejjednodušší je použití Pluginu Farmer, který farmu nastaví za vás a poskytne nástroje pro vytváření a správu zvířat.

Ruční nastavení

Tato stránka popisuje, jak ručně nastavit farmu tím nejjednodušším a nejpřímějším způsobem pro provoz wiki farmy s DokuWiki. Pokročilá nastavení a tipy jsou popsány na samostatné stránce.

Pojmy

Struktura adresářů

Následující příklad je nejběžnější struktura adresářů a používá se v celém tomto dokumentu. Můžete však mít i jinou strukturu.

Ve vašem adresáři farmy můžete mít libovolný počet zvířat, např.:

Dva různé typy nastavení

Existují dva typy nastavení: založené na virtuálním hostiteli a založené na .htaccess.

Metoda virtuálních hostitelů (nebo „virtuálního webového serveru“) závisí na vaší schopnosti přiřadit více názvů jednomu serveru. Vyžaduje konfiguraci vašeho webového serveru a možnost přidávat názvy do vašeho DNS serveru. Například s tímto nastavením může název „wiki.mydomain.net“ poskytovat přístup k farmářské wiki, zatímco „programming.mydomain.net“ poskytne přístup k wiki s programovacími tutoriály. Oba názvy se připojují ke stejnému fyzickému stroji.

Metoda .htaccess (neboli „serverový skript“) vyžaduje pouze funkce webového serveru, které umožní, aby různé cesty odkazovaly na různé wiki. Malý skript řekne serveru, jak má s každým wiki adresářem zacházet. V tomto případě může být „www.mydomain.net/dokuwiki/“ úvodní stránkou farmářské wiki a „www.mydomain.net/programming“ přístupem k wiki s programovacími tutoriály.

Obě metody vyžadují určitou konfiguraci serveru.

Nastavení založené na virtuálním hostiteli

Pro každé zvíře musíte publikovat nový odpovídající název pro hostitele webového serveru. Standardní způsob publikování názvů je přes DNS. Existují i jiné způsoby, zejména pro soukromé použití (zeptejte se svého správce systému, pokud nějakého máte), ale standardní způsob je DNS. Takže musíte mít možnost publikovat názvy v DNS. Kontaktujte svého správce systému nebo poskytovatele služeb pro konkrétní pokyny.

Nastavení založené na .htaccess

Jak vytvořit farmu

0. Předpoklady

V následujících krocích předpokládáme, že jste již nainstalovali standardní DokuWiki. Ujistěte se, že je správně nainstalována, aby fungovala jako běžná wiki, nebo odstraňte install.php kvůli bezpečnosti.

1. Vytvořte adresář farmy

Vytvořte prázdný adresář s názvem /var/www/farm. To bude váš adresář farmy a musí být zapisovatelný webovým serverem. Měl by být chráněn stejně jako běžná instalace DokuWiki.

2. Aktivujte farmu

V adresáři farmáře zkopírujte ./inc/preload.php.dist do ./inc/preload.php, otevřete ho a odkomentujte dva relevantní řádky a nastavte cestu k farmě, aby to vypadalo takto:

inc/preload.php
// set this to your farm directory
if (!defined('DOKU_FARMDIR')) define('DOKU_FARMDIR', '/var/www/farm');
 
// include this after DOKU_FARMDIR if you want to use farms
include(fullpath(dirname(__FILE__)) . '/farm.php');

Poznámka: Cesta, kterou zadáte pro DOKU_FARMDIR, může být založena na „skutečné“ cestě k adresáři serveru (jak ji odhalí PHP proměnná $_SERVER['DOCUMENT_ROOT']). Někdy nefunguje použití symbolického odkazu. Například i když běžně přistupujete k adresáři farmy jako "/public_html/farm", možná budete muset zadat něco jako "/home/<htmlusername>/public_html/farm".

3. Přidejte zvíře

Rozbalte tuto šablonu zvířete do adresáře farmy. Jedná se o adresář (nazvaný _animal), který obsahuje (prakticky) prázdný adresář data a předvyplněný adresář conf.

Poté musíte tento rozbalený adresář přejmenovat. Pravidla pro pojmenování adresáře, ve kterém zvíře ukládá své soubory, závisí na typu nastavení:

Pokud používáte nastavení přes .htaccess, je třeba odkomentovat a upravit hodnotu $conf['basedir'] v souboru conf/local.protected.php tak, aby odpovídala cestě v URL, pod kterou je zvíře dostupné (např. '/animal/' pokud je dostupné na http://example.com/animal - ale může být fyzicky uloženo v /var/www/farm/animal).

4. Přidejte potřebná nastavení serveru

Pokud nejste zvyklí na konfiguraci serveru, toto je ta složitější část. FIXME Tato část a následující potřebují dopracovat.

Alternativy jsou zpracovány v pořadí v souboru inc/farm.php. Pokud je rozpoznáno nastavení přes .htaccess, nastavení přes virtuální server je ignorováno.

a. Nastavení přes .htaccess

Tento soubor .htaccess musí být umístěn do adresáře farmy. Nezapomeňte povolit .htaccess v konfiguraci Apache (AllowOverride All)

.htaccess
RewriteEngine On
 
RewriteRule ^/?([^/]+)/(.*)  /dokuwiki/$2?animal=$1 [QSA]
RewriteRule ^/?([^/]+)$      /dokuwiki/?animal=$1 [QSA]
Options +FollowSymLinks

Změňte část /dokuwiki/ na cestu k adresáři farmáře.

b. Nastavení přes virtuálního hostitele

Pro toto nastavení musíte nakonfigurovat virtuálního hostitele pro každé nové zvíře ve vašem ovládacím panelu hostingu nebo v souboru httpd.conf. Zde je příklad pro subdomain.example.com:

NameVirtualHost *
 
<VirtualHost *>
    ServerName subdomain.example.com    # this is the URL of your wiki animal
    DocumentRoot /var/www/dokuwiki/     # the document root always needs to be the DokuWiki *farmer* directory
</VirtualHost>

Ve většině sdílených hostingových prostředí stačí přidat server name (požadovanou doménu se subdoménou nebo bez ní) a document root (vždy směřující na adresář farmáře) přes jejich GUI 2).

V některých případech lze použít i generický přístup (generic approach). V tomto případě není nutné upravovat konfiguraci Apache při přidávání zvířete. Generická konfigurace Apache:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/%-2/%-3
    RewriteEngine On
</VirtualHost>

Každá subdoména je automaticky mapována na /var/www/example.com/<subdomain>. Toto uspořádání má smysl, pokud několik domén směřuje na stejný server. V každém z těchto adresářů subdomén musí být vytvořen symbolický odkaz na adresář s kódem DokuWiki.

Každé jednotlivé zvíře se nachází v DOKU_FARMDIR/<subdomain>.example.com (odpovídá původnímu URL).
Tuto cestu je třeba vytvořit a do ní zkopírovat šablonu zvířete (viz výše).

5. Změna hesla administrátora

Hotovo! Nyní můžete jednoduše přejít na URL vašeho zvířete (buď subdomain.example.com nebo example.com/farm/animal/, v závislosti na vašem nastavení).

:!: Šablona zvířete obsahuje výchozí účet uživatele "admin" s heslem "admin". Prosím, změňte heslo administrátora co nejdříve. Přihlaste se pomocí admin/admin, přejděte na "Admin" > "Správce uživatelů", klikněte na uživatele admin a změňte jeho heslo níže. Doporučuje se také změnit e-mailovou adresu administrátora.

Jak přidat další zvířata

Po počátečním nastavení stačí pro každé nové zvíře zopakovat kroky Přidejte zvíře, Přidejte potřebná nastavení serveru (pouze v případě nastavení přes virtuální hosty) a Změna hesla administrátora.

Diskuze

Pro dotazy ohledně nastavení farmy využijte Fórum. Nezapomeňte uvést, zda jste použili ruční nastavení nebo plugin Farmer.

Příklady

Jeden příklad nastavení farmy je podrobně popsán zde.

1)
Ale fungovat bude i s názvy jako example nebo example.com
2)
Grafického rozhraní