일러두기
아래의 내용은 아파치와 MySQL에 대한 약간의 지식이 있는 분이 버그질라에서 제공하는 "The Bugzilla Guide - 3.0.2 Release" 문서를 차근차근이 읽어보면 누구나 알수 있는 내용입니다. 영어를 읽기 귀찮아 하시고 기타 설치에 필요한 잡기술에 대해서 관심이 없는 분을 기준을 작성했습니다.
===================================================================================================
버그질라는 모질라에서 버그 또는 이슈관리를 위해서 개발한 웹기반의 프로그램이다. 이클립스 유로파(3.3이후)버전부터는 MyLyn 플러그-인을 이용하여 버그질라를 효율적으로 사용할 수 있는 시스템이 구축되었으니 그 유용성이 점점 증가할 것으로 보인다.
기본적으로 UNIX나 Linux 시스템에서 손쉽게 사용할 수 있도록 개발 되었으나, 윈도우에서도 사용할 수 있다. 윈도우에서 버그질라를 사용하기 위한 험난한 여정을 찾아 떠나보자.
1. 버그질라 설치준비하기
버그질라를 설치하기 위해서는 다음과 같은 프로그램들이 있어야 한다.
- 버그질라 3.0.2 (http://www.bugzilla.org/releases/3.0/) : 버그질라 프로그램
- MySQL 5.0 (http://dev.mysql.com/downloads/mysql/) : 이슈/버그 데이터 저장을 위한 DB
- MySQL GUL Tools 5.0 : MySQL관리를 용이하게 도와주는 GUI 도구 (선택사항)
- 아파치 2.0 (http://httpd.apache.org/download.cgi) : 버그질라를 동작하기 위한 환경 (2.0이상 윈도우버전)
- Active State Perl 5.8.8 (http://activestate.com/store/activeperl/download/) : 윈도우용 Perl, 필수다.
2. 프로그램 설치하기
위에서 준비한 프로그램들을 독립적으로 아래의 순서에 따라 독립적으로 우선 설치를 한다.
가. Active State Perl 설치
윈도우용 설치 프로그램으로 제공되므로 별 생각없이 설치하면 된다. 취향에 따라서 설치하는 곳의 경로정도만 변경해 주면된다. 여기서는 "c:/perl"에 설치를 하였다.
나. MySQL 5 설치
MySQL역시 윈도우용 설치 프로그램을 지원해 주므로, 위자드에서 묻는 상황을 적절하게 선택하여 설치를 하면 된다. 역시 취향에 따라서 설치하는 경로를 변경하면 된다. 여기서는 "c:/MySQL5"에 설치를 하였다.
다. MySQL 5 GUI Tool 설치 (선택사항)
텍스트 기반으로 MySQL을 운용하는데 익숙하다면 필요가 없다. 윈도우에 익숙한 사용자들을 위해서 또는명령어 입력에 귀차님즘을 느끼는 분들을 위해서 설치하면 원격으로 MySQL을 접속하여 관리하기 용이하다.
라. 아파치 2.2.6 설치
아파치 2.0이상 버전의 윈도우용 바이너리 파일을 이용하여 설치를 하자. 역시 설치 마법사가 존재하기 때문에 설치하는데는 전혀 문제가 없다. 역기서는 아파치 2.2.6 버전을 사용했으며, "c:/apache2.2.6"에 설치를 하였다.
마. 버그질라 3.0.2 설치
버그질라는 특별히 설치할 것이 없다. 버그질라가 압축을 풀어서 버그질라가 운영될 적당한 디렉토리에 옮겨놓으면 된다. 아파치기반으로 동작을 해야하기 때문에, 여기서는 "c:/apache2.2.6/htdocs/bugzilla"에 압축을 풀었다.
3. 환경설정
본격적인 환경설정을 해야할 차례이다. 설치까지는 누구나 손쉽게 할 수 있지만 환경설정부터는 본격적인 여정이 시작된다.
3.1 Perl 설정
버그질라는 웹기반으로 시스템으로 웹페이지가 Perl을 이용해서 제작된 CGI로 구성되어 있다. 그래서 버그질라가 요구하는 최소한의 Perl 패키지 또는 전체 패키지를 설정해 줘야한다. Active State Perl을 설치할때 실행 패스를 설정하였다면, 윈도우 명령창 어디에라도 손쉽게 패키지 관리자 및 Perl 명령을 실행할 수 있을 것이다.
가. 패키지 저장소(Repository) 위치의 설정
Perl은 필요한 패키지를 저장소로부터 다운로드하여 설치하는 방식을 가지고 있다. Active State Perl을 설치한 상태라면 UNIX와 Linux에서 사용되는 패키지를 다운로드 받기위한 저장소가 기본적으로 설정이 되어 있다. 하지만 윈도우의 경우 아래의 저장소 위치를 추가해 줘야 한다. 우선 윈도우 명령창을 실행시키자.
c:/perl/bin/ppm
위와 같은 명령을 실행하면 아래와 같은 "Perl Package Manager"가 실행된다. PPM에는 현재 컴퓨터에 설치되어 있는 Perl 패키지와 업데이트가 가능한 패키지등의 정보를 확인할 수 있다.
"메뉴>Edit>Preference"를 클릭하면 "Areas"와 "Repository" 탭을 볼 수 있다. "Areas" 탭은 현재 컴퓨터에 저장된 패키지의 위치를 의미하는 것이다. 이 부분은 볼 일이 없으므로 "Repository" 탭을 살펴보자. 기본적으로 1개의 저장소가 등록되어 있을 것이다. 이제 신규로 2개의 저장소를 추가로 등록해보자.
Name : landfill / Location : http://www.landfill.bugzilla.org/ppm
Name : theory5 / Location : http://theoryx5.uwinnipeg.ca/ppms/package.xml
"landfill"은 버그질라 테스트 서버로 버그질라를 위한 필수 패키지만을 포함하고 있는 곳이며, 두번째 "theory5"는 윈도우용에 필요로하는 Perl 패키지를 가지고 있는 곳이다.
나. 필요 패키지 및 버전 확인하기
저장소를 등록하였으니, 이제 버그질라에서 필요로하는 Perl 패키지를 확인해보자. 버그질라 압축을 해제해 놓은 디렉토리로 이동한 후 윈도우 명령창에 아래와 같은 명령을 쳐서 확인을 하자.
c:/apache2.2.6/htdocs/bugzilla/checksetup.pl --check-modules
그렇다면 아래와 같이 버그질라에서 필요로 하는 Perl 패키지가 설치가 되어 있는지 확인하는 메시지가 출력된다. 아래의 그림은 패키지가 전부 설치된 상태이기 때문에 모든 상태가 OK로 설정되어 있다.
설치가 되지 않은 패키지에 대해서는 "Not Found" 메시지와 함께 필요한 버전정보와 함께 인스톨을 해달라는 메시지가 출력된다. 일단 설치해 달라는 패키지의 이름을 전부 확인해 두자. 참고적으로 버그질라에서 필요로하는 패키지 정보는 다음과 같다.
필수패키지
- CGI 2.93 또는 CGI 3.11 (mod_perl을 사용하는 경우)
- Date::Format 2.21
- DBI 1.41
- DBD::mysql 2.9003
- File::Spec 0.84
- Template 2.12
- Email::Send 2.00
- Email::MIME::Modifier 버전상관없음
선택사항패키지
- GD 1.20
- Template::Plugin::GD::Image 1.20
- Chart::Base 1.0
- GD::Graph 버전상관없음
- GD::Text 버전상관없음
- XML::Twig 버전상관없음
- MIME::Parser 5.406
- LWP::UserAgent
- PatchReader 0.94
- Image::MagicK 버전상관없음
- Net::LDAP 버전상관없음
- SOAP::LIte 버전상관없음
- HTML::Parser 3.40
- HTML::Scrubber 버전상관없음
- Email::MIME::Attachment::Stripper 버전상관없음
- Email::Reply 버전상관없음
- mod_perl2 1.999022
- CGI 2.93
다. 패키지의 설치
윈도우 명령창에서 "install [패키지이름]" 명령을 사용하는 것도 좋지만, 그냥 PPM을 이용하도록 하겠다. 다시 PPM을 실행시켜보자. 툴바에서 왼쪽 첫번째 그림을 클릭하여 모든 패키지의 목록이 보이도록 한 후에 좀 전에 필요로 하는 패키지의 버전을 찾아서 설치확인을 모두 시켜두자. 그리고 모든 설치확인 표시를 끝났다면, 툴바 오른쪽 세번째 화살표버튼을 선택하여 설치를 진행하자.
설치가 완료되었다면, 다시한번 "checksetup.pl --check-moduels" 명령을 이용하여 빠진것이 있는지 확인을 하자.
라. Localconfig 작성하기
모든 패키지의 준비가 완료되었다면, 이제 Localconfig 파일을 작성해보자. 이 파일을 작성하는 방법은 간단하다. 윈도우 명령어창에서 아래와 같은 명령만 하면 된다. 그러면 텍스트 기반으로 몇가지 상황을 확인하고 설치가 진행된다.
c:/apache2.2.6/htdocs/bugzilla/checksetup.pl
설치과정이 끝나면 "localconfig"파일이 설정되어 있는 것을 확인 할 수 있다. 이제 이 파일을 편집할 차례이다. 솔직히 편집할 내용은 거의 없다. 편집기로 이 파일을 열어서 편집할 부분은 MySQL과 관계된 부분이 전부이다.
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = '';
위의 세가지 값을 취향에 맞게 수정하자. 데이터베이스 이름과 사용자는 그냥 기본설정으로 사용해도 무방하다. 마지막 패스워드는 꼭 추가를 하고 저장을 하자.
3.2 MySQL 설정
MySQL 설정을 위해서 MySQL5 GUI Tool을 사용하겠다. 텍스트로 작성해도 되지만 그냥 귀찮기 때문이다. MySQL Administrator 도구를 사용하여(아래 그림 참조) root로 접속을 하자.
사용자를 추가할때는 사용자의 패스워드와 권한을 설정을 해 줘야 하는데 bugs 사용자 등록후 "User Information" 탭에서 localconfig 파일에 설정한 패스워드를 입력하고, "schema Privileges" 탭에서 bugs 데이터베이스에 대한 권한을 설정하면 된다. 설정해야 하는 권한은 아래의 그림을 참조하거나 버그질라 가이드 문서 12페이지를 참조하기 바란다.
3.3 버그질라 설정 마무리
MySQL 설정이 완료되었다면 버그질라 설정을 마무리해야할 차례이다. 다시한번 checksetup.pl을 실행시켜주자. 조금전 설정한 데이터베이스로 필요한 테이블을 알아서 생성해 줄것이다.
3.4 아파치 웹 서버 설정
개인적으로 아파치 설정이 가장 문제가 많았던 부분이였다. 버그질라가 CGI를 기반으로 동작을 하기 때문에 그 만큼 설정해야 할 부분이 많았기 때문이다. 아래에 제시된 부분 가운데 중복되는 옵션이 있다. 아직 정확히 정리가 되지 않은 상태이며, 정리를 할 생각이다.
가. DirectoryIndex 설정
<IfModule dir_module>
DirectoryIndex index.html index.cgi
</IfModule>
나. CGI 스크립트 알리아스의 수정
ScriptAlias /cgi-bin/ "C:/Apache2.2.6/htdocs/bugzilla"
다. CGI 서비스 디렉토리 설정
<Directory "C:/Apache2.2.6/htdocs/bugzilla">
Options +Indexes +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi
AllowOverride All
Order allow,deny
Allow from all
</Directory>
라. Perl 설정
#!c:/Perl/bin/Perl
마. ScriptInterpreterSource 주석 해제 및 수정
ScriptInterpreterSource registry-strict
바. CGI 스크립트 핸들러 주석 해제
AddHandler cgi-script .cgi
3.5 윈도우 레지스트리 수정
윈도우 레지스트리에 CGI가 실행될때 어떤 프로그램이 동작하는지 명시적으로 알려주기 위해서 Perl의 경로를 설정해 줘야 한다. 아래의 키를 레지스트리에 등록하자.
HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command
그리고 키값으로 설치한 Perl의 절대 경로를 입력해 주자.
C:\Perl\bin\perl.exe -T
4. 버그질라의 실행
이제 모든 준비가 끝났다. 버그질라를 실행해 보자. 버그질라가 설치된 디렉토리까지 URL을 입력하면 아래와 같은 버그질라 메인페이지가 보인다면 성공이다.
버그질라 작성과정에 입력한 관리자 전자우편주소와 암호를 이용하여 로긴을 한 후 파라메터 등을 설정하자. 파라메터 설정 및 사용방법은 다른 글에서 다루도록 하겠다.
작성 : 양진석

