Analýza požadavků na PDF výstupy s modifikací mudulů

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání

Mým cílem byla analýza potřebného programového vybavení pro zprovoznění a instalaci vlastní MediaWiki a zjištění dalších potřebných konfigurací pro implementování rozšiřujících modulů sloužících ke generování PDF výstupů. To znamená, že v této kapitole bude přesně popsáno, jaké programové vybavení jsem zvolil pro řešení mé práce a co přesně mě k tomu vedlo. Dále co bylo potřeba nakonfigurovat, aby mohla být MediaWiki nainstalována a rozšiřující moduly byly funkční a připraveny ke generování PDF wikiknih.

Pro zavedení a spuštění systému MediaWiki, do kterého nahraji všechny moduly potřebné k tomu, abych mohl generovat výstupy v PDF formátu, jsem si vybral možnost instalace na svůj web server, který poběží na operačním systému GNU/Linux. Jako linuxovou distribuci jsem si vybral Ubuntu Precise Pangolin 12.04. GNU/Linux mi totiž vyhovoval asi nejvíce svojí správou aplikací, kdy nemusíte přes webový prohlížeč hledat potřebné programy jako například u Windows, ale stačí pomocí Synapticu zadat název hledaného programu nebo do konzole zadat příkaz. Navíc GNU/Linux je zcela zdarma, nejvíce variabilní a přizpůsobitelný a tyto faktory byly důležité pro řešení mé práce.

Potřebné softwarové vybavení

GNU/Linux distribuce Ubuntu Precise Pangolin 12.04

Ubuntu lze stáhnout zdarma z webových stránek, kde je vždy ve verzi 32Bit nebo 64Bit a bývá distribuováno jako soubor ISO. Jeho minimální systémové požadavky jsou:

  • 512 MB RAM,
  • 5 GB místa na disku. [28]

Instalace softwarového vybavení na GNU/Linux

MediaWiki na linuxu vyžaduje instalaci specifického softwaru:

  • Webový server - Apache2 HTTP server.
  • PHP – PHP 5.0 nebo vyšší.
  • A databázový server – MySQL-server 4.0 a vyšší. [3, s. 18]

K instalaci tohoto softwaru můžeme využít více metod:

1. Přes Správce balíků Synaptic, ten musí být však stažen skrze Centrum softwaru.

2. Přes terminál, do kterého vložíme následující příkaz:

sudo apt-get install apache2 mysql-server php5 php5-mysql

Instalace proběhne po zadání hesla správce. Při instalaci Mysql se musí zadat heslo pro vstup do databáze. Heslo bude potřebné i u instalace MediaWiki.

3. Nebo nainstalováním programu tasksel pomocí vložení příkazu do terminálu:

sudo apt-get install tasksel

Následně se tento program musí spustit pomocí příkazu:

sudo tasksel


Mediawiki pdf 8.png

Schéma č. 8: Ukázka stažení potřebného softwaru přes aplikaci Synaptic. Zdroj: [46], vlastní zpracování

Po spuštění se musíme v jeho nabídce vybrat LAMP server, který se následně začne instalovat.

Spuštění web serveru Apache2 k instalaci MediaWiki

Po instalaci Apache2 a PHP5 zadáme do terminálu příkaz:

/etc/init.d/apache2 start

Tento příkaz spustí Apache2. Po spuštění webového prohlížeče a zapsání do adresního řádku http://localhost by se po stisknutí enteru měla zobrazit v prohlížeči tato stránka.

Mediawiki pdf 9.png

Schéma č. 9: Ukázka funkčního web serveru Apache2. Zdroj: [47], vlastní zpracování

Když je web server funkční, tak se ještě musí pro naše potřeby nakonfigurovat. Jelikož chceme pracovat na našem webovém serveru, tak je jednodušší všechno dělat ve svém domovském adresáři, protože tím odpadá potřeba se starat o různá oprávnění složek, které vlastní například root. Proto, abychom mohli přistupovat k webové stránce, která se nachází v domovském adresáři a zároveň mohli použít URL ve http://localhost/~jméno_uživatele, musíme nejprve vytvořit tzv. fingovanou doménu.

Vytvoření složky public_html a konfigurace souborů Apache2

Nejprve si vytvoříme složku public_html v domovském adresáři /home/uživatel příkazem:

mkdir public_html

Před tímto příkazem nesmí být použito sudo, jinak bude složka patřit správci a ne uživateli. Použijeme dva příkazy, které vloží symbolické odkazy k aktivaci uživatelské složky. Tyto příkazy zapíšeme do konzole. Poslední příkaz obsahuje absolutní cestu, takže je jedno, ve kterém adresáři se zrovna nacházíte. První z příkazů vás přesměruje do adresáře.

Zde je potřeba vytvořit dva symbolické odkazy. Tento příkaz adresář otevře a připraví k vložení nových odkazů. Takže do konzole zapíšeme v tomto pořadí tyto příkazy:

cd /etc/apache2/mods-enabled
sudo ln –s ../mods-available/userdir.conf userdir.conf
sudo ln –s ../mods-available/userdir.load userdir.load
sudo /etc/init.d/apache2 restart

Poslední příkaz slouží k restartování web serveru apache2, aby mohly byt změny provedeny. Po restartování by apache měl vypsat varování typu: "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName". [29] Důvodem toho je, že pracujeme na lokálním web serveru a ten nemá přiřazený úplný název domény. Takže to je zatím v pořádku. Změnit to můžeme pomocí příkazu:

sudo nano /etc/apache2/httpd.conf

Tento příkaz otevře a povolí editaci http.conf, ten bývá obvykle prázdný, takže zde stačí zapsat ServerName localhost. Uložit a restartovat příkazem:

sudo /etc/init.d/apache2 restart

Zda nový adresář funguje, vyzkoušíme tak, že otevřeme náš webový prohlížeč a napíšeme do něj adresu http://localhost/~USER_NAME, kde user_name je náš aktuálně přihlášený uživatel. Znak ~ (tilda) je linuxem vyžadován k určení domovského adresáře /home/uzivatel. Po načtení adresy by se v okně prohlížeče měla zobrazit následující stránka.

Mediawiki pdf 10.png

Schéma č. 10: Spuštění http://localhost/~janovsky. Zdroj: [47], vlastní zpracování

Konfigurace Apache2 ke spouštění PHP skriptů

Po vytvoření složky public_html, která se nachází v domovském adesáři je potřeba ještě této složce povolit spuštění skriptů v jazyce PHP. Spuštění skriptů povolíme pomocí konfigurace Apache2, kdy musíme zavést PHP5 modul i pro tuto složku. Bez této konfigurace by nešlo spustit instalaci MediaWiki. Konfiguraci provedem zadáním tohoto příkazu:

sudo nano /etc/apache2/mods-available/php5.conf


# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
  <Directory /home/*/www>
    php_admin_value engine Off
  </Directory>
</IfModule>

Zdrojový kód č. 1: Úprava kódu pro zprovoznění PHP souborů. Zdroj: [10]

Zde je potřeba upravit zdrojový kód, kdy přidáním znaku “#“ na začátek každého řádku včetně <IfModule mod_userdir.c> až po </IfModule> povolíme spouštění skriptů i pro složku public_html. Restartujeme Apache2 a tyto změny zavedeme příkazem:

sudo /etc/init.d/apache2 restart

Nyní můžeme napsat http://localhost/~user_name/mediawiki a měla by se nám objevit obrazovka se znakem MediaWiki a tím může začít její instalace.

Postup přípravy MediaWiki k instalaci na web server

Pokud je vše z vyžadovaného softwaru nainstalované a web server i s uživatelskou složkou je funkční, pak můžeme začít s vlastní instalací MediaWiki.

Nejprve si stáhneme nejnovější verzi MediaWiki z oficiálních stránek. MediaWiki je zabalena v instalačním balíčku ve formátu *.gz, což je unixovský komprimovaný soubor. Pro rozbalení tohoto balíčku u nových verzí Ubuntu stačí použít standardní aplikaci, která je součástí základní instalace Ubuntu, takže MediaWiki jednoduše rozbalíme stlačením pravého tlačítka myši a zvolíme naši uživatelskou složku public_html. Druhý způsob je o něco složitější, ale mnou preferovanější, kdy rozbalování probíhá přes konzoli. Do konzole musíme zadat příkaz, který nás přesměruje do adresáře, kde se nachází komprimovaný soubor. Následně je potřeba tento soubor přejmenovat, protože by měl po rozbalení stejný název, jako když byl komprimovaný. Proto je dobré ho přejmenovat pomocí příkazu:

mv MediaWiki-x.y.z MediaWiki

Tímto se zbavíme údajů, které nás informovali o stažené verzi MediaWiki. Nyní stačí vložit příkaz k rozbalení komprimovaného souboru:

tar -xzf MediaWiki.tar.gz –C /home/janovsky/public_html/

Je dobré pro zadávání cesty používat tabulátor [30], protože vypíše, co je možné zadat. Druhý způsob je hlavně pro zkušenější uživatele, někdy je totiž tento způsob rozbalování pomocí konzole jediný možný.

Mediawiki pdf 11.png

Schéma č. 11: MediaWiki 1.19.2 kontrola prostředí. Zdroj: [48], vlastní zpracování

MediaWiki bude v následujících krocích vyžadovat vytvořenou databázi. Tuto databázi je možné spravovat přes administrátorský nástroj phpMyAdmin, který můžeme nainstalovat pro snadnější práci s databází. Tento nástroj nám může pomoci i s vytvořením nové databáze a s přidáváním nových uživatelů s přístupy do těchto databází. Pomocí phpMyAdmin můžeme snadno kontrolovat stav MySQL, kdy ve spodní části jeho kontrolního panelu je zobrazeno zda MySQL běží.

MySQL však můžeme upravit i přímo při instalaci MediaWiki jako vidíme na obrázku č. 12. Zde musíme nastavit druh databáze, která má být použita. Máme na výběr ze tří možností. MySQL, PostgreSQL nebo SQLite. Dále vyplníme database host, database name, database username a password. Tady pozor, zde vyplňujeme uživatelské jméno a heslo pro MySQL. Uživatelské jméno a heslo pro MediaWiki budem vyplňovat až v kroku administrace našeho účtu.

Mediawiki pdf 12.png

Schéma č. 12: Ukázka nastavení databáze. Zdroj: [48], vlastní zpracování

V dalším kroku musíme nastavit Storage engine (formát pro ukládání dat), kde máme na výběr ze dvou možností. InnoDB nebo MyISAM. Necháme však InnoDB. Dále nastavíme znakovou sadu na Binary, protože u MediaWiki je to vhodnější.


Mediawiki pdf 13.png

Schéma č. 13: Nastavení formátu pro ukládání dat a znakové sady. Zdroj: [48], vlastní zpracování

Další nastavení se týká vytvoření jména wiki a administrace našeho wiki účtu.

Mediawiki pdf 14.png

Schéma č. 14: Pojmenování MediaWiki. Zdroj: [48], vlastní zpracování

Pojmenujeme MediaWiki a vyplníme přihlašovací údaje. Jak vidíte, tak zde musíme znovu vyplnit uživatelské jméno a heslo, ale tady už se to týká přihlášení do naší MediaWiki, pokud chcete dostávat emaily s informacemi, tak můžete vyplnit i email.

Pokud bychom neinstalovali naši MediaWiki v uživatelské složce public_html, museli bychom změnit práva k zápisu do zvoleného adresáře, jinak by nebyl spuštěn instalační skript. Nejjednodušším způsobem pro změnu práv k zápisu je v Linuxu příkaz chmod -R a+w pro adresář, kde máme v úmyslu instalovat MediaWiki. Pokud by totiž nebylo právo k zápisu, tak by instalační skript zobrazil chybovou hlášku, že nemůže zapisovat do adresáře. Tento postup však nemusíme řešit, protože už máme MediaWiki nainstalovanou v uživatelském adresáři a není proto potřeba měnit práva. V tuto chvíli by měl být zapnutý i Apache2 a Mysql. Pokud jste postupovali podle instrukcí mělo by se vše provést automaticky.

Pokud vše půjde dobře, budete vyzváni k nastavení databáze a potom se na základě vyplněných údajů vytvoří skript soubor LocalSettings.php. Tento soubor nahrajte do hlavního adresáře MediaWiki, to je ta samá složka, kde je i index.php. Bez zkopírování tohoto souboru bude vaše MediaWiki stále vyžadovat LocalSettings.php a nedojde k jejímu spuštění.

Mediawiki pdf 15.png

Schéma č. 15: Stažení LocalSettings.php. Zdroj: [48], vlastní zpracování

Po zkopírování LocalSettings.php zadáme opět localhost/~user_name/MediaWiki a po chvilce načítání se dostaneme do naší MediaWiki. Pro řešení mé bakalářské práce je potřeba rozšíření Extension:Collection, které slouží k ukládání článků ze systému MediaWiki. Toto rozšíření musíme stáhnout z oficiálních webových stránek MediaWiki pomocí tzv. snapshotu. Ten umožňuje stažení rozšiřujících modulů i pro starší verze MediaWiki. Toto rozšíření je zase komprimováno v unixovském formátu *.gz, jako tomu bylo u instalačního balíčku MediaWiki. Takže máme na výběr z více možností, jak toto rozšíření nainstalovat.


Mediawiki pdf 16.png

Schéma č. 16: Hlavní strana vytvořené MediaWiki. Zdroj: [48], vlastní zpracování

Po prvním spuštění MediaWiki se zobrazí hlavní strana, na které můžeme využít uživatelské příručky nebo jinou z nabízených možností. Každá MediaWiki má potom na levé straně navigační sloupec, který slouží pro rychlou orientaci. Pod sloupcem navigace se dále nachází další důležitý sloupec s názvem nástroje, pomocí kterého můžeme spravovat obsah naší MediaWiki. V levém horním rohu si můžeme všimnout loga, které lze přidat nastavením cesty k obrázku. Tuto cestu zapíšeme v LocalSettings.php v řádku $wgLogo. Pravý horní roh potom slouží k přihlašování uživatelů nebo k vytváření nových účtů.