휴~ 4일 동안 삽질했다. 한국에는 Unix 환경에 버그질라를 설치하는 레퍼런스가 거의 없는 듯 하다. 레퍼런스를 찾지 못 해서 영어두 못 하는 내가 영문 사이트 뒤져 가며 설치 했다..ㅜㅜ;;;
모든 부분을 정확히 이해하고 설치한 부분이 아니라서 아마도 필요없는 부분도 있을 것이다.
이번 설치는 Fedora에서 설치를 한 것이지만 소스로 설치 하였기 때문에 다른 Unix OS에서도 될것이다. 아마도..*^^*;;
-
perl 설치
# rpm -qa | grep perl
perl이 설치 되어 있다면 제거
# rpm -e --nodeps [모듈명]
# ./Configure -de -Dcc=gcc -Dprefix=/usr/local/perl
# make
# make install
-
mysql 설치
# rpm -qa | grep mysql
mysql이 설치 되어 있다면 제거
# rpm -e --nodeps [모듈명]
#./configure --prefix=/usr/local/mysql--localstatedir=/usr/local/mysql/data --with-charset=uft8--with-mysql-usr=mysql --sysconfdir=/etc --enable-thread-safe-client --with-charset=euckr --with-innodb
innodb 설치 필수
# make
# make install
# /usr/local/mysql/bin/mysql_install_db
# ls /usr/local/mysql/data
결과 : mysql test
# cat >> /etc/ld.so.conf (엔터)
/usr/local/mysql/lib (엔터-이 줄은 프롬프트가 없습니다)
# ldconfig
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
my.cnf 수정
[mysqld]
max_allowed_packet = 4M
innodb_xx 부붙 주석 제거
/etc/passwd 파일 mysql 계정 존재 유무를 확인합니다.
# cat /etc/passwd | grep mysql
# groupadd mysql
# useradd -M -c Mysql_server -d /usr/local/mysql -g mysql -s /sbin/nologin mysql
그리고 아래와 같이 MySQL 디렉토리의 소유권을 변경합니다.
# chown root.mysql -R /usr/local/mysql
# chown mysql.mysql -R /usr/local/mysql/data
# /usr/local/mysql/bin/mysql_safe --user=mysql &
# ps ax | grep mysqld
데몬 부팅 시 자동 실행
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig --level 3 mysqld on
# chkconfig --level 5 mysqld on
# /usr/local/mysql/bin/mysql -p mysql
mysql> update user set password=password('[비밀번호]') where user='root';
mysql> create database [DB명];
mysql> insert into user(host, user, password) values ('localhost', '[아이디]', password('[비밀번호]')); (사용자 등록)
mysql> insert into db values ('localhost', '[DB명]', '[아이디]', 'y','y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y','y', 'y', 'y', 'y'); (권한 등록)
host : 접속 가능 호스트, 모든 호스트 접속 가능하도록 하려면 '%' 사용
mysql> flush privileges;
mysql> exit
환경변수 설정(perl modules DBD::mysql 설치시 mysql-conifg 찾기 위함)
MYSQL_HOME=/usr/local/mysql
export MYSQL_HOME
PATH=$PATH:$HOME/bin:$MYSQL_HOME:$MYSQL_HOME/bin
# source ~/.bash_profile
-
apache 설치
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --with-perl=/usr/local/perl
# make
# make install
-
bugzilla 설치
# tar vxzf bugzilla-xxx
# mv bugzilla-xxx /usr/local/bugzilla
-
perl modules 설치
# ./checksetup.pl --check-modules
설치할 모듈 체크
필수 모듈
# perl -MCPAN -e 'install "CGI"'
# perl -MCPAN -e 'install "Date::Format"'
# perl -MCPAN -e 'install "DBI"'
# perl -MCPAN -e 'install "Template"'
# perl -MCPAN -e 'install "Email::Send"'
# perl -MCPAN -e 'install "Email::MIME"'
# perl -MCPAN -e 'install "Email::MIME::Encodings"'
# perl -MCPAN -e 'install "Email::MIME::Modifier"'
# perl -MCPAN -e 'install "DBD::mysql"'
DBD::mysql 모듈 설치시 에러 발생시
* mysql path가 추가 되어 있어야 한다.
# cd ~/.cpan/build/DBD-mysql-4.012-yfeus0 (경로 다른 수 있음 에러 메시지 확인)
# perl Makefile.PL --testdb=[DB명] --testuser=[User ID] --testpassword=[User Password] --testhost=localhost
# make
# make test
# make install
옵션
# perl -MCPAN -e 'install "GD"'
# perl -MCPAN -e 'install "Chart::Base"'
# perl -MCPAN -e 'install "Template::Plugin::GD::Image"'
# perl -MCPAN -e 'install "GD::Text"'
# perl -MCPAN -e 'install "GD::Graph"'
# perl -MCPAN -e 'install "XML::Twig"'
# perl -MCPAN -e 'install "MIME::Parser"'
# perl -MCPAN -e 'install "LWP::UserAgent"'
# perl -MCPAN -e 'install "PatchReader"'
# perl -MCPAN -e 'install "Image::Magick"'
Image::Magick 설치시 에러시
ImageMagick 다운로드
http://www.imagemagick.org/script/download.php
# ./configure --prefix=/usr/local/ImageMagick --with-perl
# make
# make install
환경변수 설정
# vi ~/.bash_profile
IMAGE_MAGICK_HOME=/usr/local/ImageMagick/
export IMAGE_MAGICK_HOME
PATH=$PATH:$HOME/bin:$IMAGE_MAGICK_HOME:$IMAGE_MAGICK_HOME/bin:$IMAGE_MAGICK_HOME/lib
# source ~/.bash_profile
# perl -MCPAN -e 'install "Image::Magick"'
# perl -MCPAN -e 'install "Net::LDAP"'
# perl -MCPAN -e 'install "Authen::SASL"'
# perl -MCPAN -e 'install "Authen::Radius"'
# perl -MCPAN -e 'install "SOAP::Lite"'
# perl -MCPAN -e 'install "HTML::Parser"'
# perl -MCPAN -e 'install "HTML::Scrubber"'
# perl -MCPAN -e 'install "Email::MIME::Attachment::Stripper"'
# perl -MCPAN -e 'install "Email::Reply"'
# perl -MCPAN -e 'install "mod_perl2"'
mod_perl2 설치 실패시
# perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs MP_APR_CONFIG=/usr/local/apache2/bin/apr-1-config
# make
# make install
-
Bugzilla Configuration
# cd /usr/local/bugzilla (버그질라 디렉토리로 이동)
# ./checksetup.pl
./checksetup.pl 명령을 실행하면 bugzilla 환경 설정 파일이 생성된다.
# vi ./localconfig (bugzilla 환경 설정 파일 수정)
아래의 환경 변수를 찾아 수정한다.
$webservergroup = 'damon'; (apache 설정 파일 httpd.conf에 설정되어 있는 group 과 동일해야 한다.)
$db_user = '[DB User Id]';
$db_pass = '[DB User Password]';
$db_port = 3306;
$db_sock = '/tmp/mysql.sock'; (/etc/my.cnf 에 설정되어 있는 socket 값과 동일하게 설정한다.)
# ./checksetup.pl
./checksetup.pl 명령을 실행하면 Bugzilla에 필요한 Table들이 생성되며 Bugzilla 디렉토리(하위 포함)의 그룹이 위에서 설정한 $webservergroup 으로 변경된다.
# mysql -u [User ID] -p
mysql> use [DB 명]
mysql> ALTER TABLE attachments
AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
# vi /usr/local/apache2/conf/httpd.conf (아래의 설정을 추가 한다.)
LoadModule perl_module modules/mod_perl.so (Perl 모듈 추가)
PerlSwitches -I/usr/local/bugzilla -I/usr/local/bugzilla/lib -w -T
PerlConfigRequire /usr/local/bugzilla/mod_perl.pl
Alias /bugzilla /usr/local/bugzilla
<Directory /usr/local/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +FollowSymLinks +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
Allow from all
</Directory>
# /usr/local/apache2/apachectl start
접속 확인
http://<Server IP or Domain>/bugzilla