Trac – systém pro správu projektů 2. – instalace

Petr Stahl | 6. 1. 2008 | Software | | Přečteno: 1,892

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ů.

Sdílení:
  • Facebook
  • Google Bookmarks
  • Linkuj.cz

Napište komentář