Trac – systém pro správu projektů 2. – instalace
Každý projekt, nejenom softwarový, musí být nějak řízen.
Instalace
Instalace obecně je dobře popsaná na stránkách projektu http://trac.edgewall.org/wiki/TracInstall, zde se budu zabývat konkrétní instalací na systém Gentoo Linux a databázi Postgresql. Jak databáze, tak samotný Trac je součástí distribuce, budeme tak ušetřeni ruční práce.
Nastavení před instalací
- nastavení use příznaků v souboru /etc/portage/packages.use kvůli instalaci podpory pro Postgres. Detaily o možných hodnotách příznaků je možné nalézt např. na stránkách gentoo-portage
- www-apps/trac postgres -mysql vhosts
- aktuální verze (t. č. 0.10.4) se ukazuje jako dostatečně stabilní, odmaskujeme tedy její použití v souboru /etc/portage/packages.keywords
- www-apps/trac ~x86
Samotná instalace
- díky použití distribučních mechanismů je instalace prostá:
- #emerge trac
- předchozí příkaz zároveň nainstaluje potřebné závislosti, pokud již v systému nejsou (např. Subversion)
Vytvoření databáze
Každý projekt potřebuje vlastní databázi. Pokud není založen uživatel, kterým bude trac přistupovat k databázi, založíme jej, nejlépe pod systémovým uživatelem postgres:
- # createuser -U postgres -E -P tracuser
- parametr -U postgres je možné vynechat, pokud příkaz spouštíme pod unixovým uživatelem postgres
- parametr -E přikazuje vytvoření uživatele se šifrovaným heslem
- parametr -P zajistí dotaz na heslo pro vytvářeného uživatele
- tracuser je jméno databázového uživatele pro trac
Samotnou databázi vytvoří příkaz, opět nejlépe spouštěný pod unixovým uživatelem postgres:
- createdb -O tracuser -E UTF8 trac
- -O tracuser určuje vlastníka vytvářené databáze
- parametr -E UTF8 zařídí vytvoření databáze v kódování UTF-8
- trac je jméno vytvářené databáze
Vytvoření projektu
Prvním krokem je vytvoření adresáře, ve kterém budou umístěny všechny projekty spravované Tracem. Adresář by měl vlastnit uživatel,pod kterým Trac poběží (v našem případě apache):
- # mkdir /var/trac
- # chown apache /var/trac
Nyní k samotnému vytvoření projektu – předpokládám, že již existuje Subversion repositář projektu /var/svn/repository/project a vytvářený projekt se jmenuje project. O vše podstatné se postará příkaz trac-admin:
- # trac-admin /var/trac/project initenv
- Jako první údaj je třeba vyplnit jméno projektu:
- Project Name [My Project]> Sample project
- Dalším údajem je URL databáze vytvořené v předchozím kroku. URL se skládá ze jména databázového uživatele, jeho hesla, adresy DB serveru a jména vytvořené databáze
- Database connection string [sqlite:db/trac.db]> postgres://tracuser:heslo@adresa_db_serveru/trac
- Poté následuje volba typu SCM systém, v tomto případě Subversion, stačí tedy ponechat předvolenou hodnotu svn
- Konkrétní umístění repositáře Subversion přijde na řadu teď
- Path to repository [/path/to/repos]> /var/svn/repository/project
- Cestu k šablonám lze nyní ponechat na globální z instalace
- Templates directory [/usr/share/trac/templates]> /usr/share/trac/templates
Vytvořenou instalaci je možné vyzkoušet pomocí vestavěného http serveru:
- # tracd –port 8000 /var/trac/project
Po přístupu na adresu http://adresa_trac_serveru:8000/project z webového prohlížeče, by se měl zjevit Trac v celé své kráse. V nejhorším se zobrazí stránka s popisem chyby (špatně zkonfigurovaná cesta k Subverion repositáři apod.).
Nasazení do provozu
Trac umožňuje několik způsobů běhu. Výše uvedený vestavěný http server tracd je spíše nouzovým řešením pro ladění. Daleko více možností přizpůsobení skýtá spuštění Tracu pod plnohodnotným http serverem, nejlépe tedy Apachem. Lze pak využívat vestavěných schopností – SSL, autentizace a podobně.
I s Apachem v zádech existuje několik možností jak Trac spustit. Nejstarší a nejméně vhodnou technologií je CGI, další použitelné jsou FastCGI, mod_wsgi a mod_python. Právě poslední uvedenou metodou se budu zabývat.
Prvním krokem je instalace samotného mod_python:
- # emerge mod_python
Dále je nutno povolit mod_python v konfiguraci Apache. V souboru /etc/conf.d/apache2 je třeba přidat do proměnné APACHE2_OPTS nastavení „-D PYTHON“ a restartovat Apache.
Umístění hlavní konfigurace závisí na tom, zda hodláte Trac provozovat v rámci virtuálního serveru. V každém případě pro konfiguraci stačí následující.
#trac poběží na adrese http://adresa_serveru/projects
<Location /projects>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/trac
PythonOption TracUriRoot /projects
</Location>
#konfigurace přihlašování, zde je příklad autentizace pomocí PAM mechanismu
<LocationMatch "/[^/]+/login">
AuthPAM_Enabled on
AuthType Basic
AuthName "Trac authorization"
AuthBasicAuthoritative Off
Require valid-user
</LocationMatch>
Trac přebírá informaci o přihlášeném uživateli z nadřízeného http serveru, minimálně v případě Apache je tedy zabezpečena velká volnost při volbě autentizačních mechanismů.


Napište komentář