Issue Tracking Fedora7에 Mantis 설치하기

황제낙엽 2007.10.16 03:06 조회 수 : 549 추천:95

sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  
버그 추적을 위한 Mantis를 설치해보았다.
인터넷에서 검색해보면 윈도우 환경에서 설치하는 방법도 있지만 개인적인 프로젝트가 아닌 이상 실제 업무에서는 윈도우 보다는 유닉스 환경이 더 많을 듯 하여 서버를 리눅스로 선택하였다.
기본적으로 Mantis는 PHP3 이상, MySQL4 이상의 버전에서 돌아간다. (다국어 지원때문에)

Fedora7에서의 Mantis 설치는 맨바닥 해딩식 셋팅에 비해서 많은 수작업을 줄여준다.
일단 Fedora7 및 Mantis의 설치시 다음과 같은 항목들을 유의하며 설치하도록 한다.

1. 설치 및 운영에 관련된 내용은 다음의 링크를 참조하도록 한다.
    - http://www.delmadang.com/community/bbs_view.asp?bbsNo=18&bbsCat=0&st=&keyword=&indx=398286&keyword1=&keyword2=&page=2 -> 내용 보기
개발환경 구축하기 7 - Mantis 설치.

 Mantis 는 버그 트래킹 시스템 ( 또는 이슈 트래킹) 으로 대표적인 것으로는 Bugzilla 등이 있으며, Trac 도 한참 인기상승중입니다.. 저마다 장단점이 존재하겟지만은 Mantis 를 선택하게 된 동기는...없습니다....-.ㅡ;;;;
언제인지는 정확히 기억나질 않지만 버그 트래킹 시스템이 필요했을때 이것저것 찾아서 설치해보고 사용해보고 했을때 비교적 설치도 간편하고 사용법도 쉬워서 선택했었을것입니다. 뭐 몇개 설치해보지 않았습니다. Mantis 를 찾아서 설치하고 사용했을때 아 이정도면 지금 현재 상황에서 간단하게 사용할수 있을것 같다 라고 생각이 들어서 더 이상 찾아보지 않았으니까요.
>http://www.mantisbt.org

(현재 >http://www.futureware.biz/mantisdemo 여기서 데모를 보실수 있습니다.)
위 사이트에서 원하는 버전을 내려받습니다. 저는 1.1.0 rc3 을 선택했습니다. 현재 안정버전은 1.0.8 입니다. 내려받은 파일을 /mantis 에 압축을 해제 합니다.
 
본격적으로 설치에 들어가기 전에 몇가지 할일이 있습니다. 이 문제는 저의 환경에 문제가 있는것인지 아니면 1.1.0 rc3 에 문제가 있는지는 확인하지 못했습니다. (어렴풋한 기억으로는 예전 버전 (1.0.1) 에서도 같은 문제가 있었던 것같네요)
 
설치과정에서 데이터베이스를 생성하지 못하거나 안합니다. -.ㅡ; 그래서 직접 데이터베이스를 생성해줘야 합니다.
 
MySQL  서버에 접속해서 사용할 데이터베이스를 하나 생성합니다. 기본적으로 사용되는 데이터베이스명은 bugtracker 입니다.
 
create database bugtracker;
 
하시면 되겟죠....
 
그리고 데이블을 생성하는 스크립트에도 문제가 있습니다. 현재 배포본에는 MySQL 4.1 이전의 버전에 맞추어져서 이전버전을 사용하시는 분들은 그냥 넘어가셔도 됩니다. 4.1 이상을 사용하길 원하신다면 수정하셔야 합니다.
 
/mantis/admin/schema.php
 
위 파일의 내용중에서 TYPE=MyISAM 을 ENGINE=MyISAM 또는 ENGINE=InnoDB 등으로 변경해주거나 삭제 하시면 되겟습니다. 삭제할경우 MySQL 서버에 설정된 기본 저장엔진 타입에 맞추어서 테이블들이 생성됩니다. (여러 군데 이니 잘 바꿔주세용....참고로 ENGINE=MyISAM 으로 변경해놓은 파일을 첨부하도록 하겟습니다. 역시 일반 텍스트 파일이니 내려받아서 이름만 바꿔주세요)
 
웹브라우저에서 다음주소로 접속합니다.
 
 
PHP등을 확인하고 설치에 필요한 데이터베이스 설정을 하게됩니다.
데이터베이스
  현재 Mantis 는 기본적으로 MySQL 을 지원하며, 추가적으로 MS-SQL, PGSQL, Oracle, DB2 에 대해서도 사용가능하다고 합니다.
 
Hostname
 데이터베이스 서버의 IP 를 기입합니다. 기본포트가 아닐경우 localhost:3312 와 같이 적어주시면 됩니다.
 
Username
 테이터베이스 서버에 접속, 각종 SQL문을 실행할수 있는 사용자명을 적습니다.
 
Password
  위 사용자의 비밀번호
 
Database name
  사용할 데이터베이스명 기본적으로 bugtracker 이며 위에서 생성한 데이터베이스명을 적습니다.
 
Admin username
  설치시 데이터베이스를 생성하는데 있어 권한이 있는 사용자 (흠 원래 설치시 알아서 데이터베이스를 생성해야 하는데 왜 못하는지 모르겟군요..)
 
Admin password
  Admin user 의 비밀번호
 
Print SQL Queries instead of Writing to the Database
  선택하면 설치시 테이블 생성이나 기본적인 데이터들의 인서트 쿼리가 화면에 출력됩니다.
 
적절히 작성을 하셨으면 Install/Upgrade Database 버튼을 선택해 설치를 시작합니다.
 
각종 설정을 확인하고 결과를 출력해줍니다. 문제가 생기면 경고 메세지나 에러메세지를 출력해줍니다. 정상적으로 설치가 되었다면 대부분의 항목에서 GOOD 로 표실될것입니다. (경고메세지는 메세지에 따라서 무시할수는 있지만 붉은색 에러는 반드시 확인하고 적절한 처리를 해주시고 설치를 다시 진행해야 합니다.)
 
화면 하단에 링크된 Continue 를 선택해 로그인 화면으로 접속합니다

로그인 화면에는 두개의 경고 메세지가 나올텐데요...

하나는 관리자 계정 administrator 의 비밀번호를 바꾸거나 삭제하라는것이고 두번째는 /admin 디렉토리를 삭제하라는것입니다. /admin 디렉토리는 삭제해주시거나 다른데로 이동 또는 이름을 바꿔주시면 되겟습니다.
 
administrator 로 로그인 해봅니다. 초기 비밀번호는 root 입니다.
 
 
참고로 Mantis 의 신규계정처리는 이메일인증으로 계정추가가 완료됩니다.. 따라서 신규로 아이디를 신청해도 이메일로 발송된 인증주소를 사용하지 않는한 로그인이 불허됩니다.. 이메일인증을 없애는 것은 없는것고...흠 참 고달픈 문제인데.. -.ㅡ;;; 인증메일을 보내지 않는것은 가능하지만 여전히 신규신청을 하면 해당 아이디의 비밀번호를 임시로 생성해놔서...
 
아래는 설정파일의 값중 대충 눈여겨 볼만한것들을 추려서 정리한것들입니다. 메일서버 설정이나 뭐 대충 참고하셔요...한글아이디가 처리 안돼는데 대충 생성이 되게끔도 할수 있습니다. (충분히 테스트 되지 않아서..어떤 결과가 나올지는 모르겟습니다.)
 
1.1.0 rc2 가 나왔을때 정리해둔 문서에서 발췌 했습니다만...쩝..
 
 

각종설정값 수정.

Mantis 는 두개의 설정파일을 가지고 있는데 config_defaults_inc.php config_inc.php 가 그것이다. 이는 Mantis 가 동작하는데 있어 여러가지 환경변수를 가지고 있다. 기본적으로 설치를 하게 되면 config_inc.php 에는 데이터베이스에 연결하기 위한 기본적인 정보(호스트,유저정보,데이터베이스,서버타입)만 기록이 되어 있다.

기본적으로 config_inc.php 에 설정된 값이 적용이 되며 여기에 없는 변수들은 config_defaults_inc.php 에 있는값들로 사용되어 진다. 따라서 그냥 config_default_inc.php 를 직접 수정해서 사용해도 되고 해당 변수들을 config_inc.php 로 이동시켜서 사용해도 무방하다.

친절하게도 confgi_default_inc.php 에는 주석이 달려있다단지 영어라서 그렇지만. 하지만 뭐 대충 보면 그 뜻을 짐작하기란 어렵지 않을것이다.

         # $Id: config_defaults_inc.php,v 1.364.2.5 2007/10/24 05:35:39 vboctor Exp $

1.1.0 rc2 에 있는 config_defaults_inc.php 의 문서 번호 이다..대체로 변수는 바뀌지는 않겟지만은 이 파일을 토대로 대충 중요하거나 유용하게 쓰일수 있는 몇가지만 알아보기로 한다. 또한 php 를 다룰수 있는 사람이라면 각종 php 스크립트 파일을 해킹하여 좀더 자유롭게 사용할 수는 있을것이다. 물론 이에 따르는 모든 결과는 각자가 지어야 하겟지만은

40행부터 데이터베이스 설정에 대한 섹션이 이루어져 있다. 관련변수는 6개 이지만 데이터베이스 서버에 따라 달리 쓰이기도 한다.

$g_hostname                     = 'localhost';

         $g_db_username                 = 'root';

         $g_db_password                 = '';

         $g_database_name              = 'bugtracker';

         $g_db_schema                   = ''; // used in the case of db2

         $g_db_type                      = 'mysql';

이내용은 config_inc.php 에 설치되면서 설정값이 저장되어 있다. 변경하고자 할때는 config_inc.php 의 값을 변경한다.

122행에 선언된 변수의 값은 문서-사용자문서 에 링크된 주소이다. 현재는 공식사이트의 온라인 매뉴얼이 걸려 있는데 필요없거나 다른주소로 바꾸고 싶으면 이 값을 수정하면 된다.

         # Used to link to manual for User Documentation.

         $g_manual_url = ';http://manual.mantisbt.org/';

149행부터는 사용자등록과 비밀번호에 관한내용이 시작되는데, 사용자등록을 웹상에서 받지 않거나 비밀번호 찾기를 로그인 화면에서 제외하고자 할 때 관련값을 OFF 하면 된다.

         $g_allow_signup                 = ON;

         $g_lost_password_feature       = ON;

이 두개의 값은 로그인화면에 신규등록 과 비밀번호찾기 링크를 ON/OFF 한다.

$g_send_reset_password        = OFF;

메일인증이 힘들경우 이 값을 OFF 하면 관리자가 직접 사용자의 비번을 바꿀수 있다.

200행 부터는 이메일에 대한 정보 시작된다. 이메일을 보낼 때 사용되는 관리자,웹마스터,From 헤더, 회신받을 이메일주소등을 적절히 수정한다.

         $g_administrator_email           = 'administrator@example.com';

         $g_webmaster_email             = 'webmaster@example.com';

이들 값은 굳이 이메일을 사용하지 않는다고 해도 페이지내에 링크가 걸린다. 필요에 따라 적절한 값으로 수정토록 하자.

         $g_enable_email_notification    = ON;

이값은 신규등록 이나 비밀번호 찾기시 인증메일을 사용하는 설정값이다. OFF 면 당연 보내지 않는단다.

304행부터는 메일서버에 대한 설정이 있다.

Mantis mail() , sendmail, SMTP 를 사용하는데 mail()은 더 이상 지원하지 않는다고 본것 같은 어떤지 모르겟다

         $g_phpMailer_method            = 0;

         $g_smtp_host                    = 'localhost';

         $g_smtp_username = '';

         $g_smtp_password = '';

메일서버타입은 0 mail(), 1 sendmail, 2 SMTP 다 외부 smtp 서버를 사용한다면 smtp 정보를 설정해주자.

348행 부터는 언어에 관한 섹션인데 auto 는 웹브라우저에서 인식하는 언어로 자동으로 맞추어 준다. 1.1.0 버전인가 1.0.8 인가에는 언어 배열에 utf-8 도 포함되어 있던데 개발버전이라 그런지 안보인다.

$g_default_language             = 'english';

당연 Korean 으로 해놓으면 자동으로 한국어로 설정된다.

         $g_fallback_language   = 'english';

auto 로 설정했을경우 자동으로 언어를 찾는데 실패 했을경우 사용할 언어를 지정한다.

442행 부터는 웹브라우저 타이틀이나 로고등 특정메뉴를 감추거나 보이는 설정값들이 시작된다.

         $g_window_title                 = 'Mantis';

         $g_page_title                    = '';

웹브라우저 타이틀 과 페이지의 중앙에 표시될 문자등을 쓴다.

         $g_enable_project_documentation        = ON;

메뉴중 문서 메뉴 링크를 활성화 시킨다.

         $g_show_footer_menu          = OFF;

상단의 메인메뉴들을 하단에도 출력여부를 설정한다.

         $g_show_project_menu_bar = ON;

상단 메인메뉴 위에 프로젝트 링크를 출력한다.

         $g_show_extended_project_browser = OFF;

상단 오른쪽에 위치한 프로젝트 이동에 서브 프로젝트를 선택할수 있는 콤보박스를 출력한다.

         $g_show_priority_text  = OFF;

이슈들을 보여줄 때 우선순위를 아이콘으로 보여줄지 텍스트로 보여줄지 결정한다.

$g_view_issues_page_columns = array ( 'selection', 'edit', 'priority', 'id', 'sponsorship_total', 'bugnotes_count', 'attachment', 'category', 'severity', 'status', 'last_updated', 'summary' );

$g_print_issues_page_columns = array ( 'selection', 'priority', 'id', 'sponsorship_total', 'bugnotes_count', 'attachment', 'category', 'severity', 'status', 'last_updated', 'summary' );

$g_csv_columns = array ( 'id', 'project_id', 'reporter_id', 'handler_id', 'priority', 'severity', 'reproducibility', 'version', 'projection', 'category', 'date_submitted', 'eta', 'os', 'os_build', 'platform', 'view_state', 'last_updated', 'summary', 'status', 'resolution', 'fixed_in_version', 'duplicate_id' );

각각 이슈보기시 이슈목록을 화면에 출력하거나 프린트, cvs 로 내보낼 때 컬럼을 정의할수 있다. 위치변경은 물론 더하거나 뺄수도 있다.

자세한 것은 주석문을 참고하도록 한다.

쿠키에대한 설정이 필요다면 587 행을날자 형식을 변경하고자 한다면 603행을 참고하도록

758행을 보면 후원 를 지원하는 옵션이 있다. 이옵션을 켜면 해당 이슈에 대해서 후원자를 받을수 있다. 뭐 직접 후원긍을 처리되는 것 같아 보이지는 않지만, 뭐 여튼 그런것이다. -.-;

788행 부터는 파일 업로드에 대한 부분인데 파일을 업로드는 DISK, Database, FTP 를 지원한다. 기본값으로는 데이터베이스 이고 다른 곳으로 변경하고자 할때는 적절히 수정한다.

838행 부터는 HTML 출력에 대한 옵션을 설정할수 있다. 이슈노트등을 작성할 때 웹주소등을 자동으로 링크걸고 허용하는 싱글 html 태그를 설정한다. 파라미터 는 지원하지 않는다.

875행 부터는 LDAP 와 연동을 위한 섹션이다.

939행부터는 첨부파일에 대한 섹션인데, 미리보기를 할수 있는 텍스트 파일이나 이미지 파일의 설정등을 할수 있다.

그외 여러가지 가 있으며 대충 보면 알수 있을 것 같은것도 있고 Mantis 의 관리화면에서 설정할수 있는것들도 있다.

환경변수를 수정할때는 필요한것들만 config_inc.php 로 옮겨서 적용토록 하고 반드시 백업본을 만들어두도록 하자.

페이지 상단과 하단에 출력되는 로고이미지나 링크를 바꿀려면은 다음 파일을 수정하면 된다.

/core/html_api.php

html_top_banner, html_footer 함수에서 적절하게 수정하면 된다.

1241 행에 보면 다음과 같은 변수가 있다.

$g_user_login_valid_regex = '/^[w -]+$/';

사용자명의 유효성을 체크하는 정규표현식이다. /core/user_api.php 에서 user_is_name_valid 함수에서 사용자명을 확인하는데 길이는 32자 그리고 저 표현식으로 유효성을 검사한다. 현재 한글사용자명은 안된다. 정규표현식을 잘 아시는분은 적당히 수정해서 사용하거나 아니면 다음과 같은 표현식으로 처리해보자.

'/^[w W -]+$/';

중간에 W 하나가 더 들어갔다..솔직히 정규표현식은 걍 구경만 했을뿐 잘 모른다. -.-; 뭐 일단 저렇게 값을 변경해주면 한글사용자명을 사용할 수가 있다


    - http://cafe.naver.com/autoset.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2042 -> 내용 보기
 
 
버그 트래커인 멘티스(Mantis)를 설치해보고, 간단히 살펴보겠습니다.
 
설치파일 다운로드를 위해 http://www.mantisbt.org 로 접속합니다.

 
 
좌측 메뉴에서 Download 를 클릭합니다.

 
 
1.1.0a3 버전은 개발이 진행되고 있는 버전이기에, 안정화되어 있는 1.0.7 버전을 다운로드합니다.

 
 
압축 파일을 클릭하여, 홈디렉토리에 다운로드합니다.

 
 
 
다운로드 받은 파일의 압축을 현재 폴더에 풉니다.

 
 
mantis-1.0.7 이라는 폴더가 생성되었고, 이름을 mantis 로 변경합니다.

 
 
 
그리고 mantis 폴더 안에 upload 폴더를 만들어둡니다.
 
기본적으로 업로드되는 파일들이 저장될 폴더가 됩니다. (mantis 폴더 안에 위치하지 않아도 됩니다.)

 
 
 
그리고 오토셋 - [파일] - phpMyAdmin 접속하기를 통해 PHP MyAdmin 으로 접속하신 후, 새 데이터베이스를 만듭니다.
 
데이터베이스 생성을 위해 root 계정으로 접속합니다.
 
그리고 멘티스가 사용할 DB 를 생성하시고, 콜레이션은 utf8_general_ci 를 선택합니다.

 
 
압축을 풀었던, mantis 폴더에 보시면 config_defaults_inc.php 파일이 있습니다.
 
(참고: 스크린샷에는 config_inc.php 로 되어 있는데 config_defaults_inc.php 파일을 여시면 됩니다)
 
이 파일을 열어줍니다.
 
그리고 DB 정보를 맞춰줍니다.
 

 
 
그리고 관리자 메일주소를 알맞게 수정합니다.

 

fallback 기본 언어를 한국어(korean)으로 변경합니다.
 
 
그리고 파일업로드 설정을 반드시 변경합니다.
 
기본 값은 DB 에 업로드되는 파일을 저장하는 것인데, 이것보다는 파일로 저장하는 것이 낫기 때문에
 
$g_file_upload_method 의 값을 DISK 로 변경합니다.
 
그리고 $g_absolute_path_default_upload_folder 는 앞서 생성한 upload 의 절대경로를 입력해줍니다.

 
 
 
http://localhost/mantis/admin 으로 접속한 뒤, Chek your installation 을 눌러 설정이 올바른지 확인합니다.

 
 
만일 위와 같은 경고 메시지가 나온다면, 오토셋에서 [도구] - [PHP 기본 설정] 에서 전역 변수화 설정 부분을 사용않음으로 변경 후,
 
[변경사항 적용] 을 하시고, 웹서버를 재시작하시면 됩니다.
 
다른 프로그램들에 영향을 미칠 수 있으므로 잘 판단하시고 필요한 경우에만 설정을 변경해주시기 바랍니다.

 
 
 
Send Mail 버튼을 눌러 메일 발송이 잘 되는지 확인합니다.
 
앞서 설정 파일에 보면, 메일 발송 방식을 설정하는 부분이 있는데 PHP 의 mail() 함수, SMTP 서버 직접 연결 방식, 센드메일 이용방법이 있습니다.
 
기본값인 mail() 함수 이용방법으로 놔두었기때문에 반드시 오토셋 [도구] - Sendmail 설정에 SMTP 서버 정보를 기록해주셔야 합니다.
 
SMTP 설정 방법은 카페에서 SMTP 나 메일로 검색하면 다수 소개된 글과 질문과 답변을 확인 할 수 있으니 이곳에서는 별도로 소개하진 않겠습니다.
 
 
 
메일이 발송되면 우측 예시와 같이 successful 메시지가 표시되게 됩니다.

 
 
실제로 메일로 위와 같은 메일이 왔다면 정상적인 것입니다.

 
 
설정 사항 이상 유무를 확인했으니, 이제 설정 파일을 생성해봅니다.
 
 
Admin Username 과 Admin Password 는 위쪽 부분에 미리 입력되어 있는 Username 과 password 와 동일하게 입력합니다.
 
그리고 Install/Upgrade Database 버튼을 누릅니다.

 
 
그러면 mantis 폴더에 config_inc.php 파일이 생성됩니다.
 
설정이 완료되었다면, admin 폴더를 삭제합니다.
 

 
 
http://localhost/mantis 로 접속합니다.
 
Username 에는 administrator 를 Password 에는 root 를 입력하고 로그인합니다.
 
root 는 기본 password 이므로, 접속후 변경이 필요합니다.

 
 
접속하시면 위와 같은 초기화면을 확인 할 수 있습니다.

 
 
먼저, 한글로 된 메뉴를 사용하기 위해 My Account - Preferences 를 누릅니다.
 
그리고 Language 를 korean_utf8 로 선택합니다.
 
그런다음 Update Prefs 버튼을 눌러 설정을 적용해줍니다.

 
 
 
한가지 작업을 더 해줘야 DB에 저장되는 데이터에서 한글이 올바르게 표시되게 됩니다.
 
mantis 폴더 안에 보시면 core 라는 폴더가 있고, 그 안에 database_api.php 파일이 있습니다.
 
EditPlus 나 메모장을 열어 51 번째 줄에 위의 그림과 같이 추가합니다.
 
추가한 내용은 $g_db->Execute("set names utf8"); 입니다.
 

 

상기와 설정한 후, [설정상태 변경] 을 눌러 비밀번호를 변경하고, 실명, 이메일 필드를 각각 채웁니다.
 
그리고 정보 갱신을 합니다.
 
 
다음으로 프로젝트 생성을 알아보겠습니다.
 
 
관리 - 프로젝트 관리를 눌러 [새로운 프로젝트 생성] 을 누릅니다.

 

 
프로젝트 정보를 입력합니다.
 
단, 여기서 주의 할 점은 업로드 파일 경로는 mantis 경로를 기준으로 입력합니다.
 
그리고 업로드되는 폴더는 반드시 미리 생성되어 있어야 합니다.
 
프로젝트 추가를 하기 전에, 아래와 같이 폴더를 미리 생성해두시기 바랍니다.
 
다음과 같이 프로젝트 목록이 추가된것을 확인 할 수 있습니다.
 

 
생성된 프로젝트명을 클릭하면 프로젝트에 관련해서 설정과 프로젝트 참여 인원등을 추가, 삭제 할 수 있습니다.
 
 
상기 그림과 같이 프로젝트에 보고 항목을 만들 수도 있습니다.

 
 
 
멘티스를 이용하는 계정을 관리자가 추가하고자 한다면, 관리 - 사용자 관리(관리만 눌러도 됩니다) 에서 할 수 있습니다.
 
 
 
 
계정 생성 버튼을 누르면, 아래와 같은 등록 폼이 나타납니다.

 
 
사용자 생성 버튼을 누르면 해당 이메일로 다음과 같은 메시지가 발송됩니다.

 
 
해당 사용자가 링크를 눌러 비밀번호를 설정 할 수 있도록 하고 있습니다.
 
상기 그림을 보시면 알겠지만 주소가 localhost 로 시작하는 주소로 발송되고 있습니다.
 
멘티스 설정 파일에 도메인을 설정하지 않는다면 멘티스에 접속하는 도메인이 기본 주소로 사용되어 메일 주소에 포함되게 됩니다.
 
즉, http://자기도메인/mantis 로 접속해야 메일에 작성되는 주소도 http://자기도메인/mantis 로 표시되게 됩니다.

 

 
 
 
이슈 보고하기 기능을 통해 버그를 등록 할 수 있습니다.

 

 
앞서 추가한 caoy 계정으로 로그인하면, 상태별로 이슈들을 확인 할 수 있습니다.
 
이슈번호를 눌러 상세 내용을 확인 할 있고, 내용을 추가하거나 이슈 상태를 변경 할 수 있습니다.
 
 
 
보다 자세한 내용은 관련 문서를 인터넷 검색을 통해 참조하시길 바라며,
 
한국어 메뉴를 설정해두시면 쉽게 어떤 내용인지 파악이 가능하리라 생각합니다.
 


    - http://blog.daum.net/sunnle/1513831 -> 내용 보기

mantis라고 Bug Tracking 시스템이 있다. 사내에서 필요할 것 같아서 설치하였다.
사실 여기에 해당하는 프로그램은 사실 엄청나게 많은데 (참조)

여러 가지로 고민(?)하다가 Mantis가 채택이 되었다.
Mantis를 몇 일 테스트 본 느낌은 디자인이 매우 투박한 것, 문서화 수준이 별로라는 것 빼놓고는 그럭저럭 쓸만한 것 같다.
아래는 혹시 내가 다음에 설치할 상황을 위해서 혹은 Mantis를 설치할 다른 사람을 위해서 설정한 Configuration file을 공유한다.
내가 사용하는 환경은 PHP/Apache/MySQL이며
아래와 같은 Feature들을 사용한다.
  • SVN/TortoiseSVN/WebSVN 연동
  • Issue의 상황이 변동될 때, E-Mail 발송
  • jpGraph 사용으로 통해 Graphical한 통계 사용

<?php
    # set these values to match your setup
    $g_hostname = "localhost";
    $g_db_username = "root";
    $g_db_password = "";
    $g_database_name = "bugtracker";
    $g_db_type = "mysql";
    # your e-mail
    $g_administrator_email = 'administrator@.com';
    $g_webmaster_email = 'webmaster@.com';
    $g_from_email = 'bugtracker@.com';
    $g_return_path_email = 'admin@example.com';

    # --- file upload settings --------
    $g_allow_file_upload    = ON;  
    #$g_login_method = MD5;
    $g_validate_email = OFF;
    $g_default_language = 'korean_utf8';
    $g_back_language = 'korean_utf8';
    $g_smtp_host = "exchange.com";
    $g_smtp_username = "";
    $g_smtp_password = "";
    $g_phpMailer_method = 2; // Using STMP

    $g_window_title = "My Bug Tracker";   
    $g_use_jpgraph = ON;
    $g_jpgraph_path ='./jpgraph-1.21b/src/';
    
    $g_default_advanced_report    = ON;
    $g_default_advanced_view        = ON;
    $g_default_advanced_update    = ON;

    $g_source_control_account = 'administrator';
    $g_source_control_notes_view_status = VS_PUBLIC;
    $g_source_control_set_status_to = RESOLVED;
    $g_source_control_regexp = "/b(?:issue|bug)s? #?(d+)b/i";
    $g_source_control_fixed_regexp = "/bfixed (?:issue|bug)s? #?(d+)b/i";
    $g_bottom_include_page        = '%absolute_path%/my/bottom.php';
    $g_top_include_page        = '%absolute_path%/my/top.php';
    
?>


SVN과 연동하게 되면 아래와 같이 변경사항을 Commit할 때, Issue#를 적어주면 해당 Issue의 Memo에 Log글이 추가된다.


 


 
SVN 쪽에서도 설정이 필요한데, Repository의 hooks 디렉토리 밑에 post-commit.bat를 만들고 아래 내용을 넣어 주어야 한다. SVN에서 Commit할 때, 실행되는 스크립트로 Matis의 Memo에 포스팅하는 역할을 담당한다. 여기에 Posting 하게될 컨텐츠의 모양은 자신에 맞게 잘 Customizing하면 된다.
REM #################################
REM Post-commit hook for MantisBT integration
REM #################################

SET REPOS=%1
SET REV=%2
SET DETAILS_FILE=C:tmpsvnfile_%REV%
SET LOG_FILE=C:tmpsvnfile_%REV%_Log
SET DIFF_FILE=C:tmpsvnfile_%REV%_DIFF

echo ****** Source code change ******>>%DETAILS_FILE%
svnlook log -r %REV% %REPOS%>>%DETAILS_FILE%
echo -------------------------------->>%DETAILS_FILE%
echo SVN Revision:%REV%>>%DETAILS_FILE%
svnlook changed -r %REV% %REPOS%>>%DIFF_FILE%

C:PHP5php.exe "C:iconv.php" %DETAILS_FILE% euc-kr utf-8
C:PHP5php.exe "C:link_websvn.php" %REPOS% %REV% %DIFF_FILE% >> %DETAILS_FILE%
C:PHP5php.exe "C:bugtrackercorecheckin.php" <%DETAILS_FILE% >%LOG_FILE%
DEL %DETAILS_FILE%
DEL %LOG_FILE%
DEL %DIFF_FILE%


끝으로, TortoiseSVN에도 자체적으로 BugTracker와 연동하는 기능이 있는데 아래 그림과 같이 설정하면 된다.
설정을 하면 SVN Log보기에서 관련된 Mantis의 Issue 페이지로 바로 이동하게 할 수 있다.


Posted by airlover


    - http://woohaha.egloos.com/1006717  -> 내용 보기

2년 전인가...

사내 버그 추적 시스템을 개발하라는 명쾌한 지령을 하달받으면서 X-Box 를 꿀꺽 먹어삼켰는데, 먹은 X-Box 는 커녕 버그 추적 시스템(코드명 : DDR)도 내뱉지 못하고 있음에 나름대로 가시방석에 앉은 느낌으로 지내왔다.

그동안 새로운 프로젝트 개발에 치중하다보니 이미 개발되어 동작중인 모듈 및 프로젝트에 대한 버그 보고는 개인대 개인으로 받아서 처리하게 되고 사내에서 유지되는 아웃룩을 이용한 버그 추적 시스템(?)은 그 활용도가 점점 떨어져가고 있는 상황이었다.

오늘 그동안 맡고 있던 프로젝트의 릴리즈가 대충 끝나서 그동안 쌓아놓은 버그를 잡으려고 게시판을 보는 순간
정리되기 힘든 상황까지 치달은 모습에 언젠가 왕멀님의 포스트에서 봤던 mantis를 다운로드 받고 바로 설치작업에 들어가게 되었다.

[설치과정]

1. 우선 mantis는 php 기반으로 되어 있기 때문에 윈도우즈 웹서버인 IIS에서 PHP를 돌릴 수가 있어야 했다.
다행히도 이미 사용해본 경험이 있는 PHP Setup for IIS 를 사용하였다.

이번에는 mantis를 다운로드 받았다.
[2007년 10월 2일 수정]
현재 안정적인 최신 버전은 1.0.8이다.

설치작업은 다운로드받은 압축파일을 풀어서 통째로 디렉토리에 밀어넣는 방법을 사용하였다.
물론 IIS에서 mantis를 위한 가상디렉토리를 만들어 주어야 한다.

2. 그리고나서 바로 돌려보니(가상디렉토리로 접근해보니) 동작 안하는건 당연지사...
DB설치가 필요했다.
설치에 필요한 내용은 mantis 홈페이지의 매뉴얼 페이지를 적극 활용하였다.
DB를 하나 만들고나서(IIS의 phpMyAdmin 가상디렉토리로 접근하여 mantis라는 이름의 DB를 생성하였다.) 해당 DB에 대고 mantis 의 sql 폴더에 있
번호 제목 글쓴이 날짜 조회 수
18 [리뷰] 프로파일러 비교 file 황제낙엽 2010.01.26 50
17 Tool Report: JProfiler (Getting Started) 황제낙엽 2010.01.26 107
16 Trac 에 관리자 계정 등록 황제낙엽 2009.09.01 15
15 Trac 새 프로젝트 생성 황제낙엽 2009.09.01 17
14 이슈 관리 시스템의 종류 및 설명 황제낙엽 2009.08.08 423
13 Mantis 자세히 둘러보기 (시리즈 강좌 4 - 커스텀 필드) file 황제낙엽 2008.06.04 187
12 Mantis 자세히 둘러보기 (시리즈 강좌 3 - 필터, 로드맵, 요약, 문서, 뉴스편집, 관리) 황제낙엽 2008.06.04 637
11 Mantis 자세히 둘러보기 (시리즈 강좌 2 - 이슈관리) 황제낙엽 2008.06.04 54
10 Mantis 자세히 둘러보기 (시리즈 강좌 1 - 계정생성, 프로젝트 생성, 이슈등록) 황제낙엽 2008.06.04 356
9 Mantis 운영팁 황제낙엽 2008.06.04 151
8 Mantis 메뉴얼 황제낙엽 2008.06.04 330
7 Mantis + Eclipse Mylyn 황제낙엽 2008.06.04 275
6 Mantis 1.0.6과 jpgraph 1.20.5와 연동 (jpgraph에 한글 나오게 하기) 황제낙엽 2008.06.04 64
5 버그 트레킹 시스템 멘티스( Mantis ) 개요 및 UML 이미지 file 황제낙엽 2008.03.30 415
4 이슈관리를 위한 Eclipse 플러그인 Mylyn 황제낙엽 2007.10.17 49
3 이슈 트랙킹 툴(Issue Tracking Tool)의 종류 황제낙엽 2007.10.17 614
2 이슈 트랙킹 툴(Issue Tracking Tool)의 역할 황제낙엽 2007.10.17 36
» Fedora7에 Mantis 설치하기 황제낙엽 2007.10.16 549