May, 2011 이주호 (Jooho, Lee) ljhiyh@gmail.com
Contents 1. 인스톨가이드... 4 1.1. 설치전사전준비사항... 4 1.2. MySQL Community Server 설치... 4 1.3. MySQL GUI Tools 5.0-r12 설치... 10 1.4. Apache HTTP Server 2.2.17 with OpenSSL 0.9.8 설치... 12 1.5. PHP 5.3.6 설치... 14 2. Mantis 설정... 16 2.1. DB 설정... 16 2.1.1. MySQL 에서사용할 DB Schema를등록한다... 16 2.2. Apache 설정... 22 2.3. Mantis 설치... 23 2.4. Mantis 설치후환경설정... 24 3. 사용자가이드... 26 3.1. Mantis 기본설정... 26 3.1.1 Time Zone, Language 설정방법... 26 3.2. Mantis 기능... 27 3.3. Mantis WorkFlow... 28 3.4. Mantis 기능... Error! Bookmark not defined. 4. 연계프로그램... 29 4.1. Eclipse + Mylyn 연동가이드... 29 4.1.1. Requisite... 29 4.1.2. Mantis용 Mylyn 설치하기... 29 4.1.3. Mylyn과 Mantis 연동하기... 30 4.1.4. Commit를할때사용방법... 32 5. 참고문헌... 33
History Version Date Description Writer Comment V0.9 2011-05-26 Create Lee Joo Ho
1. 인스톨가이드 Mantis 는 PHP scripting 언어와 MySQL 을이용하여만들어진 Web-based 버그트래킹툴이다. 홈페이지 : http://www.mantisbt.org/ 다운로드 : http http://sourceforge.net/projects/mantisbt/files/mantis-stable/ 라이센스 : GPL 1.1. 설치전사전준비사항 MySQL Community Server 5.5.11.7 설치파일 MySQL GUI Tools 5.0-r12 설치파일 Apache HTTP Server 2.2.17 with OpenSSL 0.9.8 설치파일 PHP 5.3.6 설치파일 Mantis User 등록확인용 E-mail ( 나는 Gmail을사용하였다.) 1.2. MySQL Community Server 설치 - MySQL Community Server 5.5.11.7.msi 파일실행
- 라이센스에동의한다. - 새로운버젼이있는지확인여부 ( 여기에서는그냥스킵한다. 더높은버젼을설치해도무방하나스크린샷이다를수있다는것을유념하자.)
- MySQL Server 의설치 path 를정해준다. (Mantis 를위한거라이름을 Mantis 를했을뿐 ^^; 상관없음 ) (Install path : C:\Mantis\MySQL\, Data Path : C:\Mantis\MySQL\MySQL Server 5.5) - 설치될목록이생각보다많지만크기는크지않기때문에그냥모두설치한다. (Default 를설치하는게다른문제를일으키지않는가장좋은방법이다!!!)
- 설치완료목록 (Default 설치를했는데도불구하고그래도에러가발생했다. 그러나 Mantis 를사용하는데문제가없으므로패스 ~~) - Server 의 Configuration 을찾아봅시다!
- 일단 Mantis 를노트북에설치할생각이없다는생각에 Server Machine 을선택 - 포트는 Default 3306, 서비스등록도 Default yes, Root password 는 root.
- Sample 들을설치해보자!!! - 앗!! Sample 들이설치가안된다!! Mantis 를사용을위한내용이아니므로패스!!
- 드디어 MySQL 설치완료!!! 1.3. MySQL GUI Tools 5.0-r12 설치 - MySQL 을쉽게사용하기위해 GUI Tools 를설치 ( 그림이너무많아서좀작게했슴다.)
- 설치될 Path 는 MySQL Server 와맞쳐서 Mantis 밑으로모두맞춘다. (C:\Mantis\MySQL\MySQL Tools for 5.0\) - 역시가장안전한 Default 를선택!
- MySQL Tools 설치완료 1.4. Apache HTTP Server 2.2.17 with OpenSSL 0.9.8 설치 - Apache 설치를해봅시다. ( 여기도마찬가지로그림을좀작게했습니다.)
- 아래에그림하나가빠졌네요.. Install Path 를정해주는화면이라그냥패스 ~~ - Apache 설치는너무나쉬워서글몇자없네요ㅋㅋ 여하튼 Apache 설치끝.
1.5. PHP 5.3.6 설치 -PHP 를설치해보자 (PHP 역시설치가매우간단함으로이미지가대부분이다.) - 설치할 PATH 는 Mantis 폴더밑으로 (C:\Mantis\PHP) - Apache 가설치되어있는곳의 PATH 를잘넣어야한다. conf 디렉토리까지넣어야한다. (C:\Mantis\Apache Software Foundation\Apache2.2\conf)
- 레지스터정보를수정하기위해 php535_init.reg 파일을만든후아래의내용을복사후실행. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] "IniFilePath"="C:\Mantis\PHP" - upload_temp, session 폴더를 %PHP_HOME% 아래생성한다. - %PHP_HOME% 아래 PHP.ini 설정정보를아래와같이수정한다. default_socket_timeout = 60 upload_tmp_dir="c:\mantis\php\upload_temp" session.save_path="c:\mantis\php\session" -%APACHE_HOME%/conf/httpd.conf 를수정 DirectoryIndex index.html index.jsp index.php - Document Root(%APACHE_HOME%/htdocs) 에 phpinfo.php 를만들어정상설치되었는지확인한다. <?php phpinfo();?> 뒤장에계속,
- Apache 를 Restart 후 internet explore 에 http://localhost/phpinfo.php 를이동하여아래의화면이보이면정상 -PHP 설치완료 2. Mantis 설정 2.1. DB 설정 2.1.1. MySQL 에서사용할 DB Schema 를등록한다. - MySQL Administrator 에 root 관리자로로그인한다.( 암호는 root 였다.!!)
- Administrator 의화면을보인다.!! 제대로설치됨에틀림없군. 이제 Mantis 용 DB Schema 를만들어보자 - 왼쪽메뉴에서 Catalogs 를클릭후아래그림과같이 Create New Schema 를클릭한다. ( 혹시모를분이있을까봐.. dialog 를보는방법은마우스오른쪽클릭이다.)
- DB Schema 이름은 mantisdb 로하였다.
- 이제사용할 User 를추가해보자. Mantis 용 DB 이기때문에사실 User 는한명만있으면된다.! User administration 을클릭후 Add new user 를클릭한다.
- 로그인정보를입력한다. (MySQL user : mantis, password: mantis) - Schema Privileges 를선택한후 mantisdb 를클릭한다. 그리고빨간박스안의화살표클릭.( 권한을주는부분 )
- User 설정이끝났다. 이제 apply changes 를클릭하자. - MySQL Query Browser 를열어서마지막으로 DB Schema 에권한을주면끝.
- 우측의 "Schemata" 탭에서 "mysql" 을더블클릭하여선택한다. grant all privileges on mantisdb.* to mantis@localhost identified by 'mantis'; ( 사용자에게 Schmea에대한권한을추가 ) flush privileges; ( 위명령을통해설정한권한을데이터베이스에반영 ) 반드시 mysql 폴더를 refresh한후아래의쿼리를실행하시오 select host, user, password from user order by user, host; ( 사용자의접속정보확인 ) DB 설정끝 ~ 2.2. Apache 설정 - %APACHE_HOME%/conf/httpd.conf 파일에 matis 관련정보를추가하고 Apache를재기동한다. DocumentRoot "C:\Mantis\DocumentRoot" #DocumentRoot를내가원하는곳으로변경 <Directory /> Options FollowSymLinks AllowOverride None # Order deny,allow ( 이라인을주석으로막는다 ) # Deny from all ( 이라인을주석으로막는다 ) </Directory> ###----------------------------------------------- ### mantis 설정, Document Root가 C:/Mantis/DocumentRoot/mantis 일경우 Alias /matis C:/Mantis/ DocumentRoot /mantis
<Directory /matis> Order allow,deny Allow from all </Directory> http://localhost/mantis 로이동하면드디어 Mantis 를설치하는화면으로들어간다.!! < 거의다왔다!!> 2.3. Mantis 설치 - Installation Option을넣어주고 Excute하면 Mantis 설치끝 Type of Database : "MySql (default)" 선택 Hostname (for Database Server) : localhost Username (for Database) : mantis Password (for Database) : mantis Database name (for Database) : mantisdb Admin Username (to create Database) : root Admin Password (to create Database) : root Print SQL Queries instead of Writing to the Database : 선택하지않음 "Attempt Installation" 버튼을선택하여설치를시작한다.
- 아래의화면이보이면설치가완료된것이다. 설치가완료되면 $MANTIS_HOME/admin 폴더를삭제한다. (Note. 혹시아래와같이다녹색표시가안나오고 DB 관련한빨간표시가나올땐컴터를껐다켜라. 그리고나서똑같이실행하면잘된다 ) 2.4. Mantis 설치후환경설정 - Mantis는환경설정은 %MANTIS_HOME%/config_inc.php 파일편집을통해할수있다. <?php # 기본설정 $g_hostname = 'localhost'; $g_db_type = 'mysql'; $g_database_name = 'mantisdb'; $g_db_username = 'mantis'; $g_db_password = 'mantis'; # 사용할언어지정 $g_default_language = 'korean_utf8'; $g_back_language = 'korean_utf8'; # user 생성관련이메일계정등록 $g_phpmailer_method = '2'; $g_smtp_host = 'smtp.gmail.com'; $g_smtp_port = '587'; $g_smtp_username = 'ljhiyh@gmail.com';
$g_smtp_password = '********'; # 실제암호써야되요.. $g_smtp_connection_mode = 'tls'; # Myln 연동이슈관리를손쉽게하기위해 $g_source_control_account = 'jooho'; $g_source_control_regexp = '/\bissue [#]{0,1}(\d+)\b/i'; $g_source_control_notes_view_status = VS_PUBLIC; $g_source_control_set_status_to = ON;?>
3. 사용자가이드 3.1. Mantis 기본설정 3.1.1 Time Zone, Language 설정방법 (user : administrator password : root)
* 위그림을보면빨간글씨로 time zone 이맞지않다고나와있는데이는 php.ini 편집을통해해결할수있다. date.timezone = Asia/Seoul //Default는 disable. 3.2. Mantis 기능 기능 설명 프로젝트이슈 /RSS 뉴스 /RSS 사용자관리 BTS(Bug Tracking System) 인 Mantis는프로젝트단위로이슈를관리한다. 프로젝트는상태와버전정보를가진다. 각각의프로젝트는이슈에대한분류를별도로관리한다. 이슈는분류, 중요도, 우선순위, 첨부파일등의정보를가진다. 각각의이슈는상태를가지는데접근레벨에따라상태의워크플로우를설정할수있어권한에따라단계적으로작업을진행할수있다. 이슈와관련된각종통계와보고서를제공하고파일로다운로드가가능하다. ( 엑셀, 워드, CSV) 이슈는 RSS Feed로받아볼수있다. 사용자에게공지할사항을뉴스로등록하여공지한다. 뉴스는 RSS Feed로받아볼수있다. 사용자를등록, 수정, 삭제등사용자정보를관리한다. 사용자의설정, 권한등을관리한다.
관리 외부연동 사용자의접근레벨로이슈의상태에따른워크플로우를설정한다. 사용자의성격과접근레벨에따라이메일알림을설정한다. 접근레벨 : 볼수만있음, 보고가능, 갱신가능, 개발자, 매니저, 관리자사용자성격 : 이슈를보고한사용자, 이슈를다루고있는사용자, 이이슈를감시하는사용자들, 버그노트를추가할사용자 Mantis를 Wiki(Mediawiki, xwiki 등 ) 와연동할수있다. Mantis를이슈번호로 CVS/Subversion과연동할수있다. 이를통해변경이발생할때그정보가 Matis의이슈에도저장된다. FTP Server 정보를등록하여첨부파일을 FTP로관리할수있다. 3.3. Mantis WorkFlow 프로젝트에등록된이슈는다양한상태정보를가지는데이를권한 ( 접근레벨 ) 에따라 Workflow를설정하여관리할수있다. 이슈상태에대한 Workflow는프로젝트별로다르게설정이가능하므로프로젝트의특성에맞는관리가가능하다. 아래그림은오픈소스비즈니스컨설팅에서권장하는디폴트상태 Workflow 이다. 이를참조하여접근레벨에따라불필요한연결을제거하는방식으로 Workflow를설정할수있다.
4. 연계프로그램 4.1. Eclipse + Mylyn 연동가이드 4.1.1. Requisite - SVN in eclipse - Mantis account, 관리자가 project 에포함시켜줘야함. EX) Mantis account : Jooho Project name : JStudy 4.1.2. Mantis 용 Mylyn 설치하기 4.1.2.1. eclipse 에서 help- Install New Software 클릭 4.1.2.2. http://mylyn-mantis.sourceforge.net/eclipse/update/ 을추가후 Connector 를설치
4.1.3. Mylyn 과 Mantis 연동하기 4.1.3.1. Show view other - Task repository view 선택 4.1.3.2. 오른쪽클릭 Add task repository Mantis 선택후아래와같이설정
그리고 Validate setting 을눌러서 success 가나오면성공. 4.1.3.3. Show view other - Task List view 선택 4.1.3.4. 일단맨티스웹페이지로그인후자신이사용할필터를생성한다.(ex) 자신에게할당된 Task 만보이게 끔하는방법 ) 4.1.3.5. 마우스오른쪽클릭 New query JStudy Update Repository configuration 선택 그리고 Select project Jstudy 를선택하고 Select filter 에서내가만든 filter 를선택.
그리고 query title 을넣고 finish. 4.1.4. Commit를할때사용방법자신에게할당된 issue 아이디를확인해서 commit할때특정한패턴으로 comment를달아야함. Comment issue #issue번호여기서부터는아무렇게나달아도되용 issue 번호는아래와같이일단확인한다.
5. 참고문헌 Mantis/MySQL/PHP 설치관련 http://www.jopenbusiness.com/mediawiki/index.php/mantis Mylyn 설정관련 http://blog.naver.com/postview.nhn?blogid=nulpulum&logno=80122136672&viewdate=¤tpage=1&listtype =0 http://jpkim56.blogspot.com/2008/10/mantis-eclipse-mylyn- %EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0.html Mantis 와 SVN 연동관련문서들 http://blog.naver.com/postview.nhn?blogid=eroskm&logno=61796353&redirect=dlog&widgettypecall=true http://steelheart.tistory.com/category/dev http://www.larosel.com/217