Mantis

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

오픈소스 버그 트래킹 도구인 Mantis를 정리 한다.


설치 가이드

설치전 사전 준비 사항

Mantis용 DB 설정

  • MySQL에 Mantis에서 사용할 Schmea를 등록한다.
  • MySQL Administrator에 root 관리자로 로그인 한다.
  • 좌측 상단 창에서 "Catalogs"를 선택한다.
  • 좌측 하단의 "Schemata" 창에서 우측 마우스를 누른다.
  • "Create New Schema" 메뉴를 선택하여 Schema를 생성한다.
  • Schema 생성화면에서 "Schema name"으로 "mantisdb"를 입력한다.
DB Schema 등록


  • MySQL에 Mantis에서 사용할 사용자를 등록한다.
  • 좌측 상단 창에서 "User Administration"을 선택한다.
  • 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
  • "Add new user" 메뉴를 선택하여 사용자를 생성한다.
  • "User Information" 탭에서 "MySQL User"("mantis"), "Password", "Confirm Password" 등을 등록한다.
DB 사용자 등록


  • MySQL에 Mantis에서 사용할 사용자의 권한을 설정한다.
  • "Schema Privileges" 탭에서 사용자가 사용할 Schema("mantisdb")를 선택한다.
  • "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
  • "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
권한 부여


  • MySQL Query Browser에 접속한다.
  • 상단의 "Tools" 메뉴에서 "MySQL Query Browser" 메뉴를 선택한다.
Query Browser 접속


  • 사용자의 MySQL 데이터베이스 접속 정보를 추가한다.
  • 우측의 "Schemata" 탭에서 "mysql"을 더블 클릭하여 선택한다.
  • grant all privileges on mantisdb.* to mantis@localhost identified by '암호'; (사용자에게 Schmea에 대한 권한을 추가)
  • flush privileges; (위 명령을 통해 설정한 권한을 데이터베이스에 반영)
  • select host, user, password from user order by user, host; (사용자의 접속 정보 확인)
접속 정보 추가
  • MySQL Query Browser가 아니라 DOS 창에서 접속 정보를 추가하는 방법
mysql -uroot -pxxx mysql
    grant all privileges on mantisdb.* 
        to mantis@localhost identified by '암호';
    flush privileges;
    select host, user, password from user order by user, host;
    exit


Mantis 설치

  • %APACHE_HOME%/conf/httpd.conf 파일에 matis 관련 정보를 추가하고 Apache를 재기동 한다.
  • Windows Vista의 경우 관리자로 실행하여 수정한다.
<Directory />
    Options FollowSymLinks
    AllowOverride None
#    Order deny,allow     (이 라인을 주석으로 막는다)
#    Deny from all        (이 라인을 주석으로 막는다)
</Directory>

###-----------------------------------------------
### matis 설정, Document Root가 d:/www 일 경우
Alias   /matis    d:/www/matis
<Directory "/matis">
    Order allow,deny
    Allow from all
</Directory>


  • 압축을 풀어 Apache HTTP Server의 docroot의 mantis 폴더(저는d:/www/mantis)로 복사한다.


  • Type of Database : "MySql (default)" 선택
  • Hostname (for Database Server) : localhost
  • Username (for Database) : mantis
  • Password (for Database) : 암호
  • Database name (for Database) : mantisdb
  • Admin Username (to create Database) : root
  • Admin Password (to create Database) : DBMS의 root 사용자 암호
  • Print SQL Queries instead of Writing to the Database : 선택하지 않음
  • "Attempt Installation" 버튼을 선택하여 설치를 시작 한다.


  • 설치가 완료되면 $MANTIS_HOME/admin 폴더를 삭제한다.


  • administrator / root 사용자로 로그인 한다.


Mantis 설치 후 환경 설정

  • 한글 설정
  • $MANTIS_HOME/config_inc.php를 수정한다.
$g_default_language = 'korean_utf8';
$g_back_language = 'korean_utf8';
  • "My Account" 메뉴에서 "Preferences" 탭을 선택 한다.
  • 한단의 Language를 "Korean"로 선택한 후 "Update Prefs" 버튼을 선택 한다.
  • 로그아웃 후 다시 로그인을 하면 한글이 적용된다.


  • 신규 사용자 생성을 위한 메일 계정 설정
  • Mantis에서는 신규 사용자 생성시 암호를 등록하기 위해서는 메일에서 "비밀번호 변경 확인" 메일을 받아 처리 한다. 해당 메일을 받기 위해서는 다음과 같이 작업 한다.
$MANTIS_HOME/config_inc.php를 수정한다.
$g_smtp_host = "메일 서버";
$g_smtp_username = "메일 사용자 아이디";
$g_smtp_password = "메일 사용자 암호";
$g_phpMailer_method = 2; // SMTP로 메일보내기

$g_administrator_email = 'temp@jopenbusiness.com'; // 관리자 이메일 계정
$g_webmaster_email = 'temp@jopenbusiness.com'; // 웹 마스터 이메일 계정
$g_from_email = 'temp@jopenbusiness.com'; // 메일 송신시 표시 계정
$g_return_path_email = 'temp@jopenbusiness.com'; // 리턴 메일 받을 계정


사용자 가이드

Mantis 기능

Mantis function.png

기능 설명
프로젝트
  • BTS(Bug Tracking System)인 Mantis는 프로젝트 단위로 이슈를 관리 한다.
  • 프로젝트는 상태와 버전 정보를 가진다.
  • 각각의 프로젝트는 이슈에 대한 분류를 별도로 관리 한다.
이슈/RSS
  • 이슈는 분류, 중요도, 우선순위, 첨부 파일 등의 정보를 가진다.
  • 각각의 이슈는 상태를 가지는데 접근레벨에 따라 상태의 워크플로우를 설정할 수 있어 권한에 따라 단계적으로 작업을 진행할 수 있다.
  • 이슈와 관련된 각종 통계와 보고서를 제공하고 파일로 다운로드가 가능 하다. (엑셀, 워드, CSV)
  • 이슈는 RSS Feed로 받아 볼 수 있다.
뉴스/RSS
  • 사용자에게 공지할 사항을 뉴스로 등록하여 공지 한다.
  • 뉴스는 RSS Feed로 받아 볼 수 있다.
사용자 관리
  • 사용자를 등록, 수정, 삭제 등 사용자 정보를 관리 한다.
  • 사용자의 설정, 권한 등을 관리 한다.
관리
  • 사용자의 접근 레벨로 이슈의 상태에 따른 워크플로우를 설정 한다.
  • 사용자의 성격과 접근 레벨에 따라 이메일 알림을 설정 한다.
  • 접근 레벨 : 볼수만 있음, 보고가능, 갱신가능, 개발자, 매니저, 관리자
  • 사용자 성격 : 이슈를 보고한 사용자, 이슈를 다루고 있는 사용자, 이 이슈를 감시하는 사용자 들, 버그 노트를 추가할 사용자
외부 연동
  • Mantis를 Wiki(Mediawiki, xWiki 등)와 연동할 수 있다.
  • Mantis를 이슈 번호로 CVS/Subversion과 연동할 수 있다. 이를 통해 변경이 발생할 때 그 정보가 Matis의 이슈에도 저장 된다.
  • FTP Server 정보를 등록하여 첨부파일을 FTP로 관리할 수 있다.

Mantis Workflow

  • 프로젝트에 등록된 이슈는 다양한 상태 정보를 가지는데 이를 권한(접근레벨)에 따라 Workflow를 설정하여 관리할 수 있다.
  • 이슈 상태에 대한 Workflow는 프로젝트별로 다르게 설정이 가능하므로 프로젝트의 특성에 맞는 관리가 가능하다.
  • 아래 그림은 오픈소스 비즈니스 컨설팅에서 권장하는 디폴트 상태 Workflow 이다. 이를 참조하여 접근 레벨에 따라 불필요한 연결을 제거하는 방식으로 Workflow를 설정할 수 있다.

Mantis workflow.png

관리자 가이드

JOSSO 적용

SSO (Single-Sign-On) 솔루션인 JOSSO를 적용 한다.
- 로그인 (login_page.php)

   return : 전환하는 페이지
   -   /core/authenticatin_api.php
       auth_ensure_user_authenticated() : 로그인 확인
   -   login.php
       

- 로그아웃 (logout_page.php)

   -   /core/authenticatin_api.php
       config_get( 'logout_redirect_page' )

Subversion 연계

참고 문헌