jak vytvořit multiuživatelský wordpress – nainstalovat wordpress MU 3 – vč. změny stávající instalace WP
jak možná víte, někdejší oddělený projekt WPMU byl od verze 3.0 spojen s klasickou instalací WordPress. má to řadu výhod oproti předchozímu stavu. např. není tolik restriktivní nastavení pro html – ve WPMU nešly dávat do článků přímo embed videa, widgety ne vždy správně přijaly externí webová počítadla a jiné kódy, které si uživatel přál na svých stránkách mít. další podstatnou výhodou je fakt, že ze stávající (třeba i letité) instalace wordpressu můžete rázem „vykouzlit“ instalaci multiuživatelskou bez nutnosti konvertování celého systému z obyčejného WP na WPMU.
jak tedy zařídit, aby se z běžného WP stal víceuživatelský „síťový“ wordpress? jak nainstalovat WPMU ve verzi 3?
je to velmi jednoduché. předně musíte mít aktualizováno na nejnovější (přinejmenším verze 3.0) wordpress. zároveň je doporučeno zálohovat databázi a nahrané soubory.
do potřebného nastavení se dostanete tak, že za http://vasedomena.cz/wp-admin/ přidáte network.php > http://vasedomena.cz/wp-admin/network.php
pokud instalujete ze starší verze (a nejspíš i z nové), upozorní vás instalace touto hláškou:
You must define the WP_ALLOW_MULTISITE constant as true in your wp-config.php file to allow creation of a Network.
nevěšme hlavu a upravme dle požadavku soubor wp-config.php a přidejme (třeba za WPLANG) tento řádek
define('WP_ALLOW_MULTISITE', true);
již o poznání příjemněji vypadá upozornění, ať deaktivujeme všechny pluginy.
po deaktivaci pluginů vás další okno (znovu zadejte adresu ../network.php) vyzve zadat iniciály vašeho nově vznikajícího hromadného wordpressu. jakmile zadáte, klikněte na instalovat.
následující kroky, které musíte provést pro dokončení vašeho přechodu na víceuživatelský wordpress, jsou tyto:
1. vytvořte (zapisovatelný – chmod 777) adresář blogs.dir jako podadresář wp-content
2. opět zeditujte soubor wp-config.php a nad větu „/* That’s all, stop editing! Happy blogging. */“ přidejte tyto řádky:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'vasedomena.cz' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
pro zvýšení bezpečnosti svého wordpressu můžete přidat do wp-config rovněž další navrhované řádky (AUTH_SALT apod.). tyto by měly být přidány pod řádky AUTH_KEY .. NONCE_KEY.
3. dejte editovat soubor .htaccess (může být potřeba nechat zobrazovat skryté soubory; nemáte-li jej, tak jej vytvořte jako běžný textový soubor)
do souboru vložte tyto řádky:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule . index.php [L]
resp. řádky, které vám nabídla instalace pod krokem 3.
nyní vás systém vyzve, abyste se znovu přihlásili a je to!
váš multiuživatelský wordpress je nastaven!
snad jen poslední připomínka – v generálních nastaveních v wp-admin/ms-options.php musíte povolit registrace (buď pro již přihlášené uživatele nebo pro všechny).
registrace poté provádíte na adrese vasedomena.cz/wp-signup.php, případně přímo v administraci (wp-admin/ms-sites.php#form-add-site).
jako ochranu proti spamu pro komentáře i spamové tvoření nechtěných blogů doporučuji plugin WP-Hashcash, který doposavad velmi úspěšně likviduje spam na našem spřáteleném serveru sabayon.cz.



WPMU jsem dělal na verzi 3.0.1. Instalace proběhla v pohodě. Díky za návod. Nastavil jsem to tak aby se nové weby vytvářeli v adresářích a ne na subdoméně. Tedy http://www.example.com/web/. WP vygeneroval .htaccess, který dělá lomítko na konci URL. Toho lomítka se potřebuju zbavit. Zkoušel jsem to nastavit v administraci v permalinks, ale tam jsem pouze odstranil lomítka u postu přidáním /%postname%. Bohužel se mi zatím nepodařilo v .htaccess zorientovat. Toto mi WP nabídl při instalaci. Díky všem za každou reakci.
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
jsem rád, že byl návod ku potřebě.
osobně preferuji spíše subdomény, ale hodně lidí raději volí adresáře. proti gustu žádný dišputát.
.htaccess je pro mě taky španělská vesnice, nikdy jsem se ho nesnažil pochopit, ale od věci by to nebylo.
asi bych se zaměřil na tyto dva řádky a s nimi laboroval:
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
když ale odstraníš lomítko za domena.cz/blog, mohl by vzniknout problém s adresami, např. domena.cz/blog/prispevek by se zobrazovalo takto domena.cz/blogprispevek (nevím).
Díky za reakci. .htaccess jsem taky nepolíbenej. Ale nastavit by to jít mělo. Už jsem to někde viděl. Kdyby jste někdo věděl jak to nastavit dejte vědět.