본문 바로가기

Server Story..../Linux

버그 관리툴 Mantis 2/2

지난글에 이어서 계속 Mantis 설치에 대해서 디벼보자.


Mantis에 새 이슈를 등록하면 관련자에게 메일을 보낼 수 있는데

Gmail 계정을 이용해서 mantis의 메일설정을 할 수 있다.


mantis 설치 디렉토리의 config_inc.php 파일을 다음과 같이 편집한다(파일이 없으면 생성한다).

<?php
 $g_hostname = 'localhost';
 $g_db_type = 'mysql';
 $g_database_name = 'DB 이름';
 $g_db_username = 'DB 아이디';
 $g_db_password = 'DB 비밀번호';
 
 $g_administrator_email = 'mantis 관리자 이메일';
 $g_webmaster_email  = 'mantis 관리자 이메일';
 
 # the sender email, part of 'From: ' header in emails
 $g_from_email   = '메일 보낼때 보내는 사람 이메일';
 
 # the sender name, part of 'From: ' header in emails
 $g_from_name   = '메일 보낼때 보내는 사람 이름';
 
 # the return address for bounced mail
 $g_return_path_email = '메일이 리턴될 때 받는 사람 이메일';
 
 # select the method to mail by:
 # 0 - mail()
 # 1 - sendmail
 # 2 - SMTP
 $g_phpMailer_method  = 2;
 
 
 # This option allows you to use a remote SMTP host.  Must use the phpMailer script
 # One or more hosts, separated by a semicolon, can be listed.
 # You can also specify a different port for each host by using this
 # format: [hostname:port] (e.g. "smtp1.example.com:25;smtp2.example.com").
 # Hosts will be tried in order.
 $g_smtp_host   = 'ssl://smtp.gmail.com';
 
 
 # These options allow you to use SMTP Authentication when you use a remote
 # SMTP host with phpMailer.  If smtp_username is not '' then the username
 # and password will be used when logging in to the SMTP server.
 $g_smtp_username = 'G메일 계정';
 $g_smtp_password = 'G메일 비밀번호';
?>

주석에 보면 smtp host 주소를 '주소:포트번호' 이런식으로 적으라고 되어있는데

mantis에서 사용하는 phpmailer는 gmail에 대해선 이런식으로 설정하면

메일을 보낼 수 없다. 버그인지 G메일만의 문제인지는 잘 모르겠지만

어쨌든 구글에서 "phpmailer gmail"로 검색하면 무수히 많은 검색결과가 뜰테니 관심있으신 분은 검색을..

config_inc.php 파일을 다 수정했으면

mantis설치디렉토리/core/phpmailer/class.phpmailer.php 파일도 수정해야한다.

PHPMailer 클래스를 조금 손봐야 하는데 다음구문을 찾아 변경하면 된다.

var $CharSet           = "UTF-8"; // 사용자 계정 설정에 따라서 euc-kr로 설정해야 될 수도 있다.
var $Port        = 465;

// function SmtpConnect() 안에서
// while($index < count($hosts) && $connection == false) <- 이 구문을 찾은후
/*
if(strstr($hosts[$index], ":"))   // 이 부분을 전부 삭제하거나 주석처리한다.
    list($host, $port) = explode(":", $hosts[$index]);
else
{
    $host = $hosts[$index];
    $port = $this->Port;
}
*/
$host = $hosts[$index];  // <- 이 두줄을 추가한다.
$port = $this->Port;

제대로 설정이 되었는지 확인해보는 과정은 간단하다.

mantis 로그인 페이지로 돌아가서 새 계정을 추가한 다음 메일이 오나 확인해보면 된다.

사용자 삽입 이미지
사용자 삽입 이미지

제대로 설정이 되었다면 다음과 같은 메시지가 나오고 지정한 메일주소로 메일이 날아올 것이다.

사용자 삽입 이미지
사용자 삽입 이미지

여기서 한가지, 지금은 아무나 사용자 등록을 할 수 있는데 이걸 관리자만 계정을 생성할 수 있게 바꿀수도 있다.

mantis설치 디렉토리의 config_inc.php 파일에 다음 한줄을 추가하면 된다.

$g_allow_signup   = OFF;

이렇게 하면 새로운 사용자 등록은 관리자만 추가할 수 있다.


여기까지만 해도 충분히 Mantis를 사용할 수 있다.

Mantis 설치는 이것으로 끝내고 다음엔 여기서 한발 더 나아가 Mantis와 SVN의 연동에 대해서 디벼보자.