MediaWiki – Instalace je kapitolou pojednání o MediaWiki, týkající se instalace systému

Podstránky editovat

Verze editovat

Viz http://www.mediawiki.org/wiki/News Uvolněné verze nazývané quarterly release:

2006-04-05 1.6.0 new stable branch poslední verse na PHP 4
2006-07-07 1.7.0 new stable branch přechod na PHP 5
2006-10-10 1.8.0 new stable branch
2007-01-10 1.9.0 new stable branch
2007-05-09 1.10.0 new stable branch
2007-09-10 1.11.0 new stable branch
2008-03-20 1.12.0 quarterly release
2008-08-14 1.13.0 quarterly release

Pokud je za nulou označení rc, znamená to release candidate. Pokud je na třetím místě jiná číslice než nula, jsou to bugfixy:

2008-09-06 1.13.1 released

Instalace od zdroje editovat

Předpokládáme, že máme někde nainstalovaný webserver (např. apache2) s modulem pro PHP 5.

Velmi stručně a v kostce: Podle popisu na Manual:Installation guide a posléze Manual:Installing MediaWiki stáhneme ze stránky Download běžnou verzi (zač. října 2008 je to http://download.wikimedia.org/mediawiki/1.13/mediawiki-1.13.1.tar.gz mediawiki-1.13.1.tar.gz) a balík rozbalíme někam do svého webového prostoru. Zpřístupníme podadresář config, vejdeme do něj nějakým webovým prohlížečem, nakonfigurujeme MediaWiki; po skončení konfigurace se v tomto adresáři vytvoří konfigurační soubor LocalSettings.php, který přemístíme do nadřazeného adresáře a zajistíme, aby jej nemohl číst ledaskdo, neboť obsahuje v otevřené podobě heslo uživatele (defaultně wikiuser), který má přístup k MySQL databázi MediaWiki.

Operační systémy editovat

Vzhledem k tomu, že MediaWiki je souborem PHP skriptů, je platformě nezávislý. Přesto jeho instalace na různých operačních systémech může mít některá svá specifika.

Linuxové distribuce editovat

Instalace s přístupem roota editovat

Máme-li na systému administrátorká práva (tj. přístup roota), je asi nejjednodušší postup nainstalovat příslušný balíček. Různé distribuce mohou mít různou prodlevu v tom, jak rychle je k disposici oficiální balík s nejnovější verzí. Např. k 1. říjnu 2008:

  • Ubuntu: mediawiki 1:1.11.2-2
  • Debian GNU/Linux
    • etch (stable): mediawiki 1:1.7
    • lenny (testing): mediawiki 1:1.12.0-2
    • sid (unstable): mediawiki 1:1.13.0-2

Ubuntu (a zřejmě i Debian) editovat

Politika těchto systémů instaluje ale adresáře PHP jinam, než do hlavního webového prostoru. Většina PHP souborů je namísto toho nainstalována v adresáři /usr/share/mediawiki. Webový prostor je vytvořen v adresáři /var/lib/mediawiki, ze kterého vedou symlinky do jednotlivých podadresářů /usr/share/mediawiki:

  • includes -> /usr/share/mediawiki/includes
  • languages -> /usr/share/mediawiki/languages
  • maintenance -> /usr/share/mediawiki/maintenance
  • skins -> /usr/share/mediawiki/skins

a dále k souborům:

  • api.php -> /usr/share/mediawiki/api.php
  • img_auth.php -> /usr/share/mediawiki/img_auth.php
  • index.php -> /usr/share/mediawiki/index.php
  • install-utils.inc -> /usr/share/mediawiki/install-utils.inc
  • opensearch_desc.php -> /usr/share/mediawiki/opensearch_desc.php
  • profileinfo.php -> /usr/share/mediawiki/profileinfo.php
  • redirect.php -> /usr/share/mediawiki/redirect.php
  • redirect.phtml -> /usr/share/mediawiki/redirect.phtml
  • StartProfiler.php -> /usr/share/mediawiki/StartProfiler.php
  • Test.php -> /usr/share/mediawiki/Test.php
  • thumb.php -> /usr/share/mediawiki/thumb.php
  • trackback.php -> /usr/share/mediawiki/trackback.php
  • wiki.phtml -> /usr/share/mediawiki/wiki.phtml

Konfigurační soubor je, jak bývá obvyklé, v adresáři /etc

  • LocalSettings.php -> /etc/mediawiki/LocalSettings.php

Jméno adresáře /var/lib/mediawiki je takto nastaveno defaultně, ale jeho skutečné jméno může být prakticky libovolné a může vystihovat název webového sídla. Tento adresář je zařazen do webového prostoru inkluzí konfiguračního souboru apache /etc/mediawiki/apache.conf, na který je odkazováno symlinkem /etc/apache2/conf.d/mediawiki.conf a který defaultně vypadá:

# Uncomment this to add an alias.
# This does not work properly with virtual hosts..
Alias /mediawiki /var/lib/mediawiki

<Directory /var/lib/mediawiki/>
        Options +FollowSymLinks
        AllowOverride All
        order allow,deny
        allow from all
</Directory>

# some directories must be protected
<Directory /var/lib/mediawiki/config>
        Options -FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/lib/mediawiki/upload>
        Options -FollowSymLinks
        AllowOverride None
</Directory>

Tato politika, kdy jsou soubory a adresáře rozděleny do dvou adresářů, umožňuje mj. snadnou instalaci více wikisídel na jednom serveru. Soubory, které jsou v adresáři /usr/share/mediawiki, budou pro všechna wikisídla společné, zatímco pro různá sídla můžeme v adresáři /var/lib vytvářet různé podadresáře, ve kterých nastavíme vlastní konfigurací, vlastní vzhled atd.

Windows editovat

No a aby to nebylo tak složité můžete si do Windows nainstalovat MediaWiki včetně servru a databáze, třemi klicky myši přes MoWeS Portable II. Stačí si vybrat jaké chcete verze, dojde ke stažení, následně rozbalíte do adresáře a spustíte instalaci. Aplikace Vám nastaví server a na to hodí MediaWiki. Poměrně jednoduchá operace, kterou zvládne kdokoliv ze znalostí angličtiny. Zdroj této fičury je na: http://www.chsoftware.net/en.

Instalace do domácího adresáře editovat

Podobnou politiku můžeme použít i v případě, že si instalujeme MediaWiki do vlastního domácího adresáře (označíme si ho vlnovkou). Dejme tomu, že v něm máme podadresář ~/www, který je naším webovým prostorem.

Zdrojový balík, např. mediawiki-1.13.1.tar.gz, si stáhneme do našeho domácího adresáře a tam si jej rozbalíme:

cd
tar xzf mediawiki-1.13.1.tar.gz

Nyní si v adresáři ~/www vytvoříme podadresář, jehož název může vytvářet URL naší wiki (pokud např. nemáme právo zasahovat do konfiguračního souboru webového serveru), dejme tomu:

cd www
mkdir mojewiki

Do tohoto podadresáře nemusíme kopírovat všechny adresáře zdrojového balíku, ty ponecháme na místě. Namísto toho do adresáře ~/www/mojewiki umístíme pouze symlinky, konfigurační soubory atd. Můžeme k tomu použít např. následující jednoduchý skript (určitě je možné jej zdokonalit):

#! /bin/bash

# Nastavení wiki sídla, dejme tomu 'mojewiki':
# Předpokládám, že už mám založenou vlastní databázi,
# může být jedna pro všechna moje wikisídla, dejme tomu 'allwikiesdb',
# ke které má přístup uživatel 'allwikiesuser' s právy:
# SELECT/INSERT/DELETE/UPDATE/ a  CREATE/DROP/ALTER
# Tato práva nastaví root v databázi mysql v tabulce wikidb:
#     user: wikiuser
# Po zkonfigurování (vytvoření tabulek) se opět odeberou práva CREATE/DROP/ALTER
# Dále předpokládám, že v domácím adresáři ~ mám:
# ~/www         svůj WWW prostor
# ~/mediawiki-1.13.1

# cd ~
# ln -s mediawiki-1.13.1 mediawiki
# cd www
# mkdir mojewiki
# cd mojewiki

# Tento skript zkopírujeme sem do tohodle adresáře, kde budeme mít sídlo své wiki,
# spustíme ho tady a pak ho vymažeme

mkdir config
chmod a+w config
cp -p ../../mediawiki/config/index.php config/

mkdir images

ln -s ../../mediawiki/extensions extensions

ln -s ../../mediawiki/includes includes
ln -s ../../mediawiki/languages languages
ln -s ../../mediawiki/maintenance maintenance
ln -s ../../mediawiki/skins skins

ln -s ../../mediawiki/StartProfiler.php StartProfiler.php
ln -s ../../mediawiki/t/Test.php Test.php
ln -s ../../mediawiki/api.php api.php
ln -s ../../mediawiki/img_auth.php img_auth.php
ln -s ../../mediawiki/index.php index.php
ln -s ../../mediawiki/install-utils.inc install-utils.inc
ln -s ../../mediawiki/opensearch_desc.php opensearch_desc.php
ln -s ../../mediawiki/profileinfo.php profileinfo.php
ln -s ../../mediawiki/redirect.php redirect.php
ln -s ../../mediawiki/redirect.phtml redirect.phtml
ln -s ../../mediawiki/thumb.php thumb.php
ln -s ../../mediawiki/trackback.php trackback.php
ln -s ../../mediawiki/wiki.phtml wiki.phtml

# zkonfigurujeme přes http://našeURL/config/
# Až po zkonfigurování:
# cp config/LocalSettings.php .
# rm config/LocalSettings.php
# chmod go-rw LocalSettings.php

# v README.Debian je popsána taková fíčura:
# priviledge separation:
#       Once installed, you can improve security by separating sql priviledges. Thus having your standard
# sql account be granted only SELECT/INSERT/DELETE/UPDATE on your mediawiki database, and an additional
# account used for maintenance with additional CREATE/DROP/ALTER rights.
#       To use this feature, you only need to setup an additional account in the database and provide
# the new credentials into /etc/mediawiki/AdminSettings.php (/usr/share/doc/mediawiki/examples contains
# an example). Then don't forget to lower rights of the primary account.
# Když ji chvi využít, tak:
# cp -p ../../mediawiki/AdminSettings.sample AdminSettings.php
# editujeme AdminSettings.php

V komentářích je vysvětleno, jak skript použít (po nainstalování jej můžeme zase smazat).

Tento postup má tu výhodu, že na stejnou úroveň jako je adresář ~/www/mojewiki si můžeme posadit třeba adresáře ~/www/tvojewiki a ~/www/jehowiki, postup zopakovat a každou wiki si nakonfigurovat po svém. Pokud nemáme možnost mít pro každou takovou wiki vlastní databázi, nevadí, použijeme jednu společnou a tabulky pro jednotlivá wikisídla rozlišíme prefixy (např. moje_, tvoje_, jeho_.

Instalace balíčku MoWeS Portable II editovat

Velmi jednoduché. Pokud máte spuštěno a rozbaleno, poklikém spustíte jediný exe soubor a řídíte se instrukcemi. V průběhu několika sekund je pak wiki dostupná a můžete si hrát. A to včetně Apache a MySQL.

Instalace na webhostingu editovat

Pokud máme ke svému webhostingu přístup např. pomosí ssh, uplatníme výše uvedený postup. Mnohé webhostingy ale nedovolují uživatelům provádět pomocí ssh nějaké příkazy, ale omezují přístup k adresáři pouze na ftp nebo scp. V tom případě si vytvoříme a nakonfigurujeme obraz budoucího wikisídla na našem vlastním počítači a výsledné adresáře překopírujeme do našeho pronajatého WWW prostoru. Pokud nám není dovoleno vytvářet symlinky, asi nám nezbyde než nakopírovat tam adresáře celé.

Testovací servery editovat

Odkazy editovat