Linux,Unix,BSD

버그질라(BugZilla)-3.4.4 설치기

채윤아빠 2010. 2. 24. 15:29
728x90
반응형
소개
이슈 관리 시스템으로 유명한 모질라 그룹에서도 사용하고 있는 버그질라를 설치하여 사용해 보기로 했습니다. 모질라에서 사용한다고 선택한 것이 아니라, EurekaLog를 이용중인데, EurekaLog에서 BugZilla와 연동이 되기에 연동 처리를 테스트해보고자 설치해 보았습니다.


버그질라(BugZilla) 포트(port) 설치(Installation)
프비(FreeBSD) 포트를 이용하면 손쉽게 버그질라를 설치할 수 있습니다.
# cd /usr/ports/devel/bugzilla
# make install clean
필요한 여러 패키지들이 먼저 줄줄이 설치되고 최종적으로 버그질라(BugZilla)의 설치가 완료됩니다.


버그질라(BugZilla) 운영 준비(Configuration)
버그질라(BugZilla)의 설치가 끝나면 다음 명령으로 설치 환경을 분석합니다.
# cd /usr/local/www/data/bugzilla
# ./checksetup.pl
그러면 다음과 같이 정보들 환경설정이 필요하다고 메시지가 나타납니다.
Creating database bugs...
The 'bugs' database could not be created. The error returned was:

    Access denied for user ''@'localhost' to database 'bugs'

This might have several reasons:

* MySQL is not running.
* MySQL is running, but there is a problem either in the
  server configuration or the database access rights. Read the Bugzilla
  Guide in the doc directory. The section about database configuration
  should help.
* Your password for the 'bugs' user, specified in $db_pass, is 
  incorrect, in './localconfig'.
* There is a subtle problem with Perl, DBI, or MySQL. Make
  sure all settings in './localconfig' are correct. If all else fails, set
  '$db_check' to 0.
이제 MySQL 설정을 시작합니다.
우선 버그질라가 사용할 DB부터 생성합니다.
# mysqladmin -u root -p create BUGZILLA
그리고 버그질라에서 사용할 MySQL 로그인 계정을 추가합니다.
mysql> INSERT INTO user (Host, User, Password) VALUES ('localhost', 'bugzilla', passwd('bugzilla_password'));
mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv, Event_priv, Trigger_priv) VALUES ('%', 'BUGZILLA', 'bugzilla', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
mysql> FLUSH PRIVILEGES;
이후, localconfig 파일을 수정하여 줍니다.
$webservergroup = 'www';
$db_driver = 'mysql';
$db_name = 'BUGZILLA';
$db_user = 'bugzilla';
$db_pass = 'bugzilla_password'; 
다시 ./checksetup.pl을 실행하여 모든 환경설정에 이상이 없다면 버그질라(BugZilla)를 시작할 준비가 완료됩니다.

마지막으로 아파치 환경설정을 해줍니다. /usr/local/etc/apache22/httpd.conf 파일에 다음 부분을 추가해 줍니다.
# BugZilla
Alias /bugzilla /usr/local/www/data/bugzilla

        AddHandler cgi-script .cgi
        Options +ExecCGI
        DirectoryIndex index.cgi
        AllowOverride Limit
버그질라(BugZilla) 문서(Documentation)를 연결하기 위하여 다음 명령을 실행하여 줍니다.
ln -s /usr/local/share/doc/bugzilla /usr/local/www/data/bugzilla/docs
그리고 아파치를 재시작(/usr/local/etc/rc.d/apache22 restart)한 이후에, http://localhost/bugzilla 에 접속이 되면 됩니다.
관리자를 등록하고, 테트스 프로젝트에 버그를 등록할 때, "undef error - Cannot determine local time zone"와 같은 오류가 발생하면 "BugZilla에서 "undef error - Cannot determine local time zone" 오류의 처리" 글을 참고하면 됩니다. 


결론
간단하게 프비(FreeBSD)에서 버그질라(BugZilla)를 설치하는 과정을 살펴보았습니다. 오랫만에 프비를 다루다 보니, 시간이 좀 걸렸네요.
버그질라를 테스트로 새로 프로젝트도 등록하고 버그도 등록해 보았는데 몇 가지 단점이 보이네요... 일단 한글화가 지원이 안된다는 점. 그리고 버그 등록시 담당자에게 이메일이 발송되는건 좋은데, 한글 부분은 모두 깨져서 수신이 되네요. 뭔가 설정이 잘못되어 그렇겠지만, 설치와 동시에 이런 문제가 없었으면 좋았을 텐데 아쉽네요.(또 열심히 구글링을 해야 겠습니다. -_-;)
버그 관리만 될 뿐이고 마일스톤이랄지 프로젝트별로 손쉽게 현황을 파악할 수 있는 기능은 좀 부족한듯 보입니다. 마지막으로 설치한 서버의 사양이 좀 않좋기는 했습니다만, 생각보다 많이 느리군요.


참고자료