Mantis kasutamine PostgreSQL andmebaasiga Debian Lenny keskkonnas

Allikas: Kuutõrvaja
Redaktsioon seisuga 23. august 2009, kell 13:36 kasutajalt Imre (arutelu | kaastöö) (Kasutajate tekitamine)

Sissejuhatus

Mantis http://www.mantisbt.org/ on veebipõhine veahalduse tarkvara (ingl. k. bugtracking system). Mantis on vaba tarkvara ning kirjutatud PHP keeles.

Mantise kasutamiseks on vajalikud üldiselt sellised komponendid

  • sql andmebaas - nt PostgreSQL, MySQL
  • veebiserver - nt Apache
  • postimasina kasutamise võimalus teadete väljasaatmiseks

Mantise saab paigaldada Linux, Solaris, BSD jt operatsioonisüsteemidele, põhimõtteliselt on eeltingimuseks, et keskkonnas töötaksid Mantise kasutamiseks vajalikud komponendid. Mantise veebiliidesega peaks saama hakkama kõik levinud brauserid.

Ettevalmistused

Käesolevas tekstis kirjeldatakse 2009 aasta augusti Mantis 1.2.0rc1 versiooni kasutamist operatsioonisüsteemiga Debian Lenny koos selliste komponentidega

  • andmebaas - PostgreSQL 8.3.7
  • veebiserver - Apache 2.2 veebiserver
  • postismasin - Postfix 2.5

Komponentide paigaldamiseks sobib öelda

 # apt-get install apache2 php5 php5-pgsql postgresql postfix

Andmebaas

Eeldame, et andmebaasis on ettevalmistatud UTF-8 kodeeringus andmebaas ja skeem

  • kasutajanimi - mantis
  • parool - parool
  • andmebaasi nimi - portaal
  • skeem - mantis

Kusjuures selleks, et Mantise PHP rakendus kasutaks skeemi public asemel skeemi mantis, tuleb vastav kasutaja tekitada nt selliselt (vaikimisi on search_path esimene element public st skeem public)

 CREATE ROLE mantis LOGIN PASSWORD 'parool' NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
 ALTER ROLE mantis SET search_path=mantis;

ning skeem mantis tekitada selliselt

 CREATE SCHEMA mantis AUTHORIZATION mantis;

Veebiserver

Veebiserveri seadistamisel tuleb pöörata tähelepanu lisaks tekstis Operatsioonisüsteemi Debian GNU/Linux kasutamine#PHP5 kasutamine kirjeldatud PHP seadistus-parameetritele ning lisaks sellistele PHP parameetritele, ja kohendada neid nt failist /etc/php5/apache2/php.ini

 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 20M
 ..
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 20M

Asugu Mantise veebiliides aadressil http://www.loomaaed.tartu.ee/veahaldus/, veebiserveri virtuaalhosti sektsioon võiks olla sellisel juhul nt selline

 <VirtualHost 192.168.1.151:80>
   ServerName www.loomaaed.tartu.ee
   ServerAdmin webmaster@www.loomaaed.tartu.ee
   DocumentRoot /srv/www
   ErrorLog     /var/log/apache2/www.loomaaed.tartu.ee-error.log
   LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
   CustomLog /var/log/apache2/www.loomaaed.tartu.ee-access.log combined
   
   <Directory /srv/www/veahaldus>
     Options +FollowSymLinks
     AllowOverride None
     Order Allow,Deny
     Allow from All
 
     php_flag magic_quotes_gpc Off
     php_flag track_vars On
     php_admin_value open_basedir "/tmp:/srv/www/veahaldus"
     php_admin_value error_log "/var/log/apache2/www.loomaaed.tartu.ee-veahaldus-php-error.log"
   </Directory>
 
 </VirtualHost>

kus ideed php_flag kasutamiseks on võetud Debian Lenny paketihalduses sisalduva Mantis v. 1.1.6 seadistusfailide näidiseid uurides, eriti fail /etc/mantis/apache.conf.

Mantis tarkvara paigaldamine

Aadressil http://www.mantisbt.org/ jagatakse Mantis tarkvara, nt sobib kopeerida fail mantisbt-1.2.0rc1.tar.gz ning pakkida lahti kataloogi /srv/www/veahaldus

 # cd /srv/www
 # tar zxf mantisbt-1.2.0rc1.tar.gz
 # mv mantisbt-1.2.0rc1 veahaldus
 # chown -R www-data:www-data

Mantise paigaldamine sh andmebaasi sisu tekitamine toimub üle veebi. Selleks tuleb avada brauseris aadress http://www.loomaaed.tartu.ee/veahaldus/ ja näidata, muud lahtrid jätta täitmata ning valida Install/Upgrade Database

  • Type of Database - PostgreSQL
  • Hostname (for Database Server) - localhost
  • Username (for Database) - mantis
  • Password (for Database) - parool
  • Database name (for Database) - parool

Mantis-4.gif

Tulemusena võiks brauserisse tekkida vastuseks mida sellist

Mantis-2.gif

Rakenduse tööd juhib seadistusfail /srv/www/veahaldus/config_inc.php. Mantise sobivust keskkonda saab kontrollida aadressilt http://post-lenny.auul/veahaldus/admin/check.php

Mantise seadistamine

Peale Mantise paigaldamist tuleb veahaldussüsteem seadistada konkreetseks kasutuseks

  • uue privilegeeritud kasutaja moodustamine
  • kataloogi /srv/www/veahaldus/admin kustutamine
  • Mantise poolt saadetavate eposti seadistamine

Mantise tööd juhib failisüsteemist seadistusfail /srv/www/veahaldus/config_inc.php kuhu on kasutajal soovitav teha muudatusi, vaikeväärtused on failis /srv/www/veahaldus/config_defaults_inc.php.

Uue privilegeeritud kasutaja moodustamine

  • logida sisse vaikimisi kasutaja administrator parooliga root kustutada, moodustada uus privilegeeritud õigustega kasutaja ning vaikimisi administrator kasutaja kustutada
 Manage -> Manage Users -> Create Account

Mantis-3.gif

Create Account ütlemise tulemusena saadetakse privilegeeritud kasutajale sellise sisuga kiri

 The user administrator has created an account for you with username "mart". In
 order to complete your registration, visit the following URL (make sure it is
 entered as the single line) and set your own access password:
 
 http://www.loomaaed.tartu.ee/veahaldus/verify.php?id=2&confirm_hash=36327c1a26cfb857f30b481acc8d3048
 
 If you did not request any registration, ignore this message and nothing will
 happen.
 
 Do not reply to this message

Uue kasutaja registreerimine viiakse lõpule minnes aadressile http://www.loomaaed.tartu.ee/veahaldus/verify.php?id=2&confirm_hash=36327c1a26cfb857f30b481acc8d3048 kus saab kasutaja omale määrata sobiva parooli.

admin kataloogi kustutamine

Peale tarkvara paigaldamist ja veendumist, et ta üldiselt töötab tuleks kustutada kataloog /srv/www/veahaldus/admin kuna seal olevatel skriptidel on süsteemi ressurssidele ligipääs ilma kasutajat autentimata.

 # rm -rf /srv/www/veahaldus/admin

Mantise poolt saadetava eposti seadistamine

Eposti puudutavad sellised seadistusfaili config_inc.php parameetrid, nt selliste väärtustega

 $g_administrator_email  = 'admin@loomaaed.tartu.ee';
 $g_webmaster_email      = 'toimetaja@loomaaed.tartu.ee';
 $g_from_email           = 'kasutajatugi@loomaaed.tartu.ee';
 $g_return_path_email    = 'kasutajatugi@loomaaed.tartu.ee';

Mantise haldamine

Mantise haldamine sisaldab selliseid tegevusi

  • projektistruktuuri moodustamine
  • kasutajate lisamine ja eemaldamine

Projektide struktuuri tekitamine

Mantisse teevad sissekanded erinevate privileegidega kasutajad projektide kaupa. Mantise haldus moodustab projektide struktuuri valides

 Manage -> Manage Projects -> Create New Project

Kasutajate tekitamine

Privilegeeritud kasutaja saab tekitada süsteemi juurde kasutajaid valides

 Manage -> Manage Users -> Create New Account

ning näidates kasutajale sobivad väärtused, kus

  • Enabled - kasutaja saab sisse logida
  • Protected - kasutaja ei saa ise oma konto omadusi muuta (sobib nt guest kasutajatele vms)

Mantise kasutamine

TODO

Märkused

  • Debian Lenny paketihaldus sisaldab paketti mantis, kuid see on versioon 1.1.6 ja töötab väidetavalt PostgreSQLiga suhteliselt vaevaliselt.
  • Käesoleval juhul ei kasutata ADOdb süsteemi, pakett php5-adodb ei ole paigaldatud, aga tundub, et Mantis oskab teatud määral ADOdb süsteemi kasutada.
  • Kui mingil seletamatul põhjusel installer ei suuda etteantud kasutaja ja parooliga baasi kasutada, siis maksab teha kuskil mujal arvutis nö puhas paigaldus ning pg_dump ja psql abil kopeerida andmebaasi sisu ringi.

Kasulikud lisamaterjalid