Mantis

오픈소스 비즈니스 컨설팅 사이트는 모든 사람이 동참하는 개방된 사이트 입니다.
오픈 소스와 오픈 API와 관계된 사항은 자유로이 추가, 수정 하셔도 됩니다. 모두의 동참을 바랍니다.
오픈소스 비즈니스 컨설팅에 대한 문의는 으로 메일 주세요.

오픈소스 비즈니스 컨설팅

오픈소스 버그 트래킹 도구인 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 기능

기능 설명
프로젝트
  • 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를 설정할 수 있다.

관리자 가이드

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 연계

참고 문헌