작업중 - 버그질라 구축 및 메일 연동
- -
Debian wheezy(7.3)에 버그질라를 구축하고 이메일 연동을 시도하고 있는데 잘 되지 않네요.
데비안 서버(내부 망) <=> 외부 메일 서비스 제공자 하고 연동을 시켜보려고 하는데 쉽지가 않습니다. 작업 진행 진도가 나가는 데로 내용 채워서 완료할 예정
mail_delivery_method 에 TEST를 지정했는데도 mailer.testfile 파일에 내용이 작성되지 않으면 뭘 봐야될지 모르겠음..
- 되는 경우도 있어서 권한 문제이지 않을까 추정.
@TODO
- mod_expires, mod_headers 사용에 대한 과정 및 문제 설명 필요.
참고 사이트
http://emailrelay.sourceforge.net/
http://www.bugzilla.org/docs/tip/en/html/parameters.html
메일 설정은 포기하고 혹시나 제목 때문에 한번쯤 들어오셨을 분들을 위해 버그질라 구축기를 간단히 정리하겠습니다.
버그질라 설치는 기본적으로 askubuntu 의 글을 보면서 진행했습니다.
버그질라는 여러가지 라이브러리 또는 도구를 사용합니다.
Perl, MySQL, Apache2, Perl 모듈 등이 필요합니다. 여기서 특히 Apache2, Perl, MySQL 을 합쳐서 APM이라고 부릅니다. 윈도우에도 설치할 수 있기 때문에 리눅스에 설치된 것을 특별히 LAMP(Linux AMP(APM))라고도 부르고 필요에 따라 Perl 대신에 php를 설치하기도 합니다. 다만, 버그질라는 Perl에 의존하기 때문에 Perl을 설치해줘야 합니다.
버그질라를 내려받아서 원하는 디렉토리에 저장하고 이를 웹서버인 apache에서 인식하도록 지정해줍니다.
위 내용에서 /var/www/bugzilla는 실제로 bugzilla가 설치된 경로명을 적어주면 됩니다.
Mint
Linux 17 (Ubuntu 14.04)에 포함되어 있는 apache2에서는 이 파일의 경로명이 변경되었습니다. *_enabled,
*_available 규칙을 따라서 conf.d/ 대신 conf_enabled, conf_available를 사용합니다. 일단 conf.d 대신 conf_available 에 파일을 작성하시고 파일 이름도 bugzilla가 아닌 bugzilla.conf로 해주시면 됩니다.
sudo vim /etc/apache2/conf_enabled/bugzilla.conf
그 다음에 conf_enabled 디렉토리로 이동해서 이 파일에 대한 링크를 작성해줍니다.
sudo ln -s ../conf-available/bugzilla.conf bugzilla.conf
그리고 모든 옵션에 +나 -를 붙여서 사용 여부를 표시하도록 변경되었습니다. FollowSymLinks 옵션 앞에 +를 붙여줍시다.
ServerName 도 지정해줘야 합니다. 잘 모르시는 경우 localhost라 해 주시면 됩니다. /etc/apache2/apache2.conf 파일 맨 끝 부분에 추가해줍니다. /etc/apache2/conf-available/servername.conf 파일을 하나 만드시고 그 안에 다음 내용을 넣으면 됩니다.
ServerName localhost
다음 명령으로 한방에 해결할 수도 있습니다.
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf[각주:2]
apache를 다시 시작해주면 http://서버주소/bugzilla 주소로 접근 가능한 것을 확인할 수 있습니다.
sudo apt-get install phpmyadmin
sudo php5enmod mcrypt
sudo apache2ctl restart
버그질라는 필요한 perl 모듈이 많이 있습니다. 보통은 설치가 안되어 있는 것들이 많아서 설치 안되어 있는 모듈을 확인하고 설치해주는 작업이 필요합니다. 버그 질라 디렉토리에 가서 아래 두 명령 중 편한 방식으로 하나를 실행합니다.
실행한 결과입니다.각 모듈 오른쪽에 보면 'ok: found v1.23' 같은 메시지를 볼 수 있습니다. 이런 메시지는 해당 모듈이 설치되어 있다는 뜻이니 신경쓰지 않아도 되지만 저 결과는 이미 어느 정도 설치한 결과이기 때문에 이보다 훨씬 더 많은 'not found'라는 메시지를 확인할 수 있습니다.
어떻게 설치해야지 하고 고민할 필요가 없습니다. 몇가지 예외..를 제외하고는 위 결과 아래부분에 'COMMANDS TO INSTALL OPTIONAL MODULES:' 같은 메시지로 어떻게 설치하면 되는지 알려주기 때문이죠. 대부분 여기서 알려주는 방법대로 따라하면 설치됩니다. mod_headers, mod_expires, mod_env 같은 경우나 배포판에서 패키지 형태로 제공하는 경우에는 각각의 방식대로 설치를 해야하기 때문에 검색을 통해서 설치하시는게 스트레스 덜 받습니다. 설치해본지도 오래되었고 각각 환경에 따라 다르기 때문에 질문 형태로 제게 물어보시는 경우 외엔 언급하지 않겠습니다.
Linux Mint 17에서는 a2enmod가 지원되서 편하게 사용할 수 있습니다.
# mod_headers 사용하기
a2enmod headers
# mod_expires 사용하기
a2enmod expires
참고로 말씀드리면 저는 'Linux Mint 15 Olivia' 라는 배포판에 설치했습니다. 데비안 계열 리눅스입니다.
Linux Mint 17 Qiana에서 다시 설치하게 되어 과정을 정리합니다.
./install-module.pl DateTime
./install-module.pl DBI
./install-module.pl Email::Send
./install-module.pl GD::Graph // 설치 안 된 것으로 나옴
sudo apt-get install libgd-perl // 설치 안 된 것으로 나옴
sudo apt-get install libgd-graph-perl // 설치 안 된 것으로 나옴
sudo apt-get install libchart-perl // 설치 안 된 것으로 나옴
sudo apt-get install libgdchart-gd2-xpm // 설치 안 된 것으로 나옴
sudo apt-get install libxml-twig-perl
./install-module.pl Daemon::Generic // 설치 안 된 것으로 나옴
sudo apt-get install libdaemon-generic-perl // 설치 안 된 것으로 나옴
sudo apt-get install libencode-detect-perl // 설치 안 된 것으로 나옴.
sudo apt-get install libapache2-mod-authn-sasl // 설치 안 된 것으로 나옴, libapache2-mod-authn-sasl 패키지를 설치한 뒤에도 증상이 개선되지 않았었는데 sasld도 enable 시키고 다음날 다시 와서 보니 ok라고 뜨네요..
sudo apt-get install libapache2-mod-perl21
sudo ./checksetup.pl
위 명령을 강행하면 다음 오류가 발생합니다.
Precompiling templates...Template creation failed: failed to create constants namespace: failed to load Template/Stash/XS.pm: Couldn't load Template::Stash::XS 2.24:
Perl API version v5.14.0 of 1 does not match v5.18.0 at /usr/lib/perl/5.18/DynaLoader.pm line 207.
BEGIN failed--compilation aborted at lib/x86_64-linux-gnu-thread-multi/Template/Stash/XS.pm line 31.
Compilation failed in require at lib/x86_64-linux-gnu-thread-multi/Template/Config.pm line 82.
다음 명령으로 Template 라이브러리를 설치하고 나니 정상적으로 진행되는 것 같습니다.(여러 가지 시도를 해서 되었기 때문에 확실하지 않지만 가장 유력합니다...) 현재 not found가 뜨는 모듈은 다음과 같습니다.
DBD-Pg DBD-Oracle Chart Template-GD GDTextUtil GDGraph Encode-Detect Daemon-Generic
이 중 DBD-Pg, DBD-Oracle은 MySQL을 설치했으므로 필요 없습니다. 나머지 모듈은 필요해 보이는데.. 해결책을 찾으면 업데이트하겠습니다.
./install-module.pl Template
bugzilla 디렉토리의 index.cgi 파일 내용이 그대로 보인다면 cgi 모듈이 활성화되었는지 의심해봐야 합니다.
sudo a2enmod cgi
sudo apache2 restart
저는 위 두 명령으로 cgi가 정상적으로 동작하는 것을 확인했습니다.
다사다난 한(?) perl 모듈 설치가 끝나고 나면 버그질라 페이지를 접속하고 필요한 내용대로 설정하면 됩니다.
저는 이전에 버그질라를 백업한 관계로 이것을 복구했습니다.
먼저 백업은 다음 명령을 사용했습니다.
mysqldump -u root -p bugzilla > bugzilla-20140909.sql
복원하기 위해서 일단 데이터베이스를 다시 생성해줘야 합니다.
mysql -u root -p
CREATE DATABASE bugzilla DEFAULT CHARACTER SET utf8;
quit
이제 백업한 파일을 복원합니다. 원래는 phpmyadmin의 가져오기 기능을 사용해서 편하게 복원하려고 했으나 파일 크기가 너무 커서 터미널에서 직접 복원했습니다.
mysql -u root -p bugzilla < ~/Desktop/bugzilla-20140909.sql
한참의 시간이 지난 다음 정상적으로 복구 되어 사용할 수 있었습니다.
혹시나 사용한 지 오래되어 사용자 비밀번호를 잊으셨다면 터미널 창에서 다음 명령으로 암호를 새로 지정할 수 있습니다. passwd root 한 거와 비슷하게 암호를 두 번 물어봅니다.
./checksetup.pl --reset-password=admin@kkk.co.kr
참고: https://wiki.mozilla.org/Bugzilla:Move_Installation
- 혹시나 패키지 파일을 미리 받아놓으려 할 경우를 위한 실제 다운 받은 패키지 목록입니다. libdbd-mysql-perl libdbi-perl libmysqlclient18 libterm-readkey-perl mysql-client mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5 apache2 apache2-bin apache2-data libaprutil1-dbd-sqlite3 libaprutil1-ldap perl은 이미 설치가 되어 있어서.. [본문으로]
- http://askubuntu.com/questions/256013/could-not-reliably-determine-the-servers-fully-qualified-domain-name 참고 바람 [본문으로]
'작성중' 카테고리의 다른 글
Voyager 리눅스 설치 (0) | 2015.04.06 |
---|---|
fcitx problem (0) | 2015.03.10 |
수정 필요 - IPv6 주소 (0) | 2014.02.06 |
L4 프로토콜 헤더 포맷 (0) | 2014.02.04 |
기업용 무료 윈도우 소프트웨어 목록 - 2022.04.11 갱신함 (0) | 2014.01.16 |
소중한 공감 감사합니다