example nebo example.comhttps://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“.
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.
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.
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.
/var/www/dokuwiki – engine DokuWiki, musí být dostupný z webu/var/www/farm – adresář farmy DokuWiki, který obsahuje všechna zvířataVe vašem adresáři farmy můžete mít libovolný počet zvířat, např.:
/var/www/farm/animal – jedna wiki/var/www/farm/example.com – další wikiExistují 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.
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.
example.com/farm/cat nebo example.com/farm/dog, ale s komplexnějším nastavením lze dosáhnout téměř stejné flexibility jako u druhého typu nastavení
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.
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.
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:
// 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".
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í:
subdomain.example.com funguje s adresářem pojmenovaným subdomain.example.com. 1)example.com/farm/cat bude potřebovat adresář zvířete pojmenovaný cat. Pokud používáte samostatný .htaccess soubor pro každé zvíře, můžete název zvířete specifikovat tam.
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).
Pokud nejste zvyklí na konfiguraci serveru, toto je ta složitější část. 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.
Tento soubor .htaccess musí být umístěn do adresáře farmy. Nezapomeňte povolit .htaccess v konfiguraci Apache (AllowOverride All)
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.
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).
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.
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.
Pro dotazy ohledně nastavení farmy využijte Fórum. Nezapomeňte uvést, zda jste použili ruční nastavení nebo plugin Farmer.
Jeden příklad nastavení farmy je podrobně popsán zde.