[Server] MantisBT 2.9 架設 with Postfix (Apache2 + php7 + PostgreSQL on Ubuntu 16.04)
- 此文適合的對象: 對Ubuntu稍微熟悉的新手
- 關於Apache2 + php7 + PostgreSQL環境的建立,之後會再發文章說明
網路上已有許多架設MantisBT的教學,但目前為止自己所看過的文章,裡面提到mail service的幾乎都是透過gmail處理。可是對於一個公司/團隊來說,儘量還是用一個公用的服務來處理比較好(自己的觀點啦),所以這篇談到的mail service就選擇使用Postfix來處理囉!
Mail server — Postfix
網路上已經有蠻多關於”如何在Ubuntu上建立Postfix郵件伺服器”的文章了,這裡是參考 Shunze學園 — 《分享》Ubuntu架設mail server 設定的喔!
(後續有空再補充我的設定)
Mantis Bug Tracker
雖然官方的文件很齊全,但是對於一個新手來說,還是會有很多不了解的地方…這也是我決定要把這次架設的過程紀錄下來的原因,希望能讓其他跟我一樣的新手少碰些壁囉!
- 先到官網下載MantisBT ,完成後應該會儲存在
/home/[your_name]/Downloads/
這個資料夾底下
2. 到該資料夾底下,將檔案解壓縮
$ cd /home/your_name/Downloads
$ tar -zxvf mantisbt-x.x.x.tar.gz
3. 把該資料夾移動到/var/www/html/
底下並重新命名為mantis
$ mv mantisbt-x.x.x /var/www/html/mantis
4. 開啟網頁瀏覽器,到[your_ip]/mantis
。這時就可以看到MantisBT的安裝頁面囉!
5. 接著,就填好下方Installation Options
的內容,再按最下方的Install/Upgrade Database
按鈕即可。Type of Database
: 選擇`pgsql`Hostname
: 填localhost即可Username
: 給MantisBT使用的資料庫帳號,建議另外新建立一個Password
: 上述帳戶的密碼Admin Username
: 當初建立PostgresSQL時第一個建立的帳號Admin password
: 上述帳號的密碼Default Time Zone
: 就依據自己的時區選擇囉
不過,在這個步驟理最常見的問題有以下兩個:
(請參考官方安裝文件2.4. New Installation的說明)
- 解決方法:登入資料庫新增user或修改user的權限即可
* 可先在terminal用psql
進入PostgresSQL,再用指令\du
查看目前所有使用者
* 新增user:CREATE USER name [ [ WITH ] option [ ... ] ]
* 修改user權限:ALTER USER name [ [ WITH ] option [ … ] ]
6. 上述的問題解決後,應該都可以正常安裝完成,然後進入下一個頁面。
在這個頁面中的Write Configuration File(s)
的部份,可以看到系統會自動產生一段需要你自己去寫入config_inc.php的內容。
如果你的建置步驟中也如下圖出現了POSSIBLE PROBLEM: Cannot write /var/www/html/mantis/config/config_inc.php
,不用擔心,就自己到那的資料夾底下新增一個config_inc.php
並將下方的內容貼上就好。
7. 接著請到[your_ip]/mantis/admin/check/index.php
,在這個頁面可以看到有哪些東西還需要修正的。
在下圖中Email
的部份,可以看到測試結果都是FAIL
,這是因為在上一步驟中新增的config_inc.php
還沒有設定到email service
的參數,所以系統是先以MantisBT預設的參數進行測試而產生這樣的結果。
但由於我們已經先建立好Postfix郵件伺服器了,所以我們只要再多設定幾個參數就ok囉!需要增加的參數如下(一樣是寫進config_inc.php
,各參數的用途細節可以到官方文件5.8 Email查看):
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;$g_smtp_host = 'localhost';
$g_smtp_port = 25; # depend on your setting of postfix, default: 25
$g_webmaster_email = 'hostname@your_domain';
$g_from_name = 'Bug Tracker'; # sender name of an email
$g_from_email = 'hostname@your_domain';
$g_return_path_email = 'hostname@your_domain';$g_allow_signup = ON;
$g_send_reset_password = ON; # this should be `ON` if user sign up is enabled
$g_enable_email_notification = ON;$g_upload_max_filesize = 2097152; # unit: byte
$g_max_file_size = 2097152; # unit: byte
其中比較值得注意的是g_webmaster_email
這幾項email address的設定。
因為團隊/公司可能還沒有申請到一個可用的domain,所以會不曉得這些email address到底要怎麼設定。
其實,如果架設的Postfix是要當作一個只發不收的郵件伺服器的話,這幾項email address是可以隨意(?)設定的,因為寄發email是可以不需要domain的!
所以即使你的團隊/公司沒有去申請domain,你都還是可以先將其設定成像是no-reply@mycompany.com
這樣的型式,只是收件者就沒辦法回信給你囉!
8. 以上,基本的設定都已經完成了。接著就可以到[yout_ip]/mantis/login_page.php
試著用email註冊一個帳號,並到該email信箱中看有沒有收到來自MantisBT的信囉!
—
補充
- Port forwarding (virtual server)
如果你的伺服器ip不是直接的對外ip,而是透過router分配的(如192.xxx.xxx.xxx),那麼你可能還需要做這個設定… - 查詢電腦的對外ip
常見的方式是直接在google打myip,到第三方網站去看自己電腦的對外ip是什麼。不過,你也可以直接在terminal打curl icanhazip.com
來查詢喔!