2012-04-27

Install Redmine with Apache on Debian 6

Redmine 是一套 GPL 授權的專案管理系統,其底層架構為 Ruby on Rails,老實說凍仁自己也不是很了解,只知道 COSCUP 團隊近幾年來開始使用它管理碎髓的事務。

原本以為 Debian 上 Redmine 的環境很難搞的凍仁,在 Zeroplex 心得分享後才得知 FreeBSD 的環境更麻煩,好險沒有跳 BSD 的坑啊

Redmine 介面截圖。

1. 安裝相關套件


[ jonny@squeeze ~ ]
$ sudo aptitude install redmine redmine-mysql mysql libapache2-mod-passenger [Enter]

2. 環境設定


2.1. 連結 Redmine 目錄至網頁目錄底下。
[ jonny@squeeze ~ ]
$ sudo ln -s /usr/share/redmine/public /var/www/redmine [Enter]

2.2. 修改權限。
[ jonny@squeeze ~ ]
$ sudo chown -R www-data:www-data /var/www/redmine [Enter]

2.3. 建立 Redmine 的 Apache 設定。
[ jonny@squeeze ~ ]
$ sudo vi /etc/apache2/sites-available/redmine [Enter]
RailsBaseURI /redmine
RailsEnv production
PassengerDefaultUser www-data

2.4. 啟用 Redmine 設定。
[ jonny@squeeze ~ ]
$ sudo a2ensite redmine [Enter]

2.5. 重開 Apache。
[ jonny@squeeze ~ ]
$ sudo /etc/init.d/apache2 reload && sudo /etc/init.d/apache2 restart [Enter]

2.6. 前往 http://localhost/redmine/ 進行測試,預設的管理者帳密均為 admin,上線前要記得換掉

3. 解決 Redmine 中文亂碼

最快的解法為先將 MySQL dump 出來,待手動將轉換成 utf8 再匯入回去 (感謝強者同事的心得分享)。

3.1. dump.
[ jonny@squeeze ~ ]
$ mysqldump --user=root -p redmine_default > redmine_default.sql [Enter]

3.2. 使用 sed 手動將 latin1_swedish_ci 取代成 utf8_general_ci。
[ jonny@squeeze ~ ]
$ sed -i 's/latin1_swedish_ci/utf8_general_ci/g' redmine_default.sql [Enter]

3.3. 使用 sed 手動將 latin1 取代成 utf8。
[ jonny@squeeze ~ ]
$ sed -i 's/latin1/utf8/g' redmine_default.sql [Enter]

3.4. 匯入 utf-8 的 redmine_default.sql。
[ jonny@squeeze ~ ]
$ mysql -uroot -p redmine_default < redmine_default.sql [Enter]

3.5. 亂碼解決完畢!

4. 設定 E-mail 的 smtp 伺服器


4.1. 從範列中複製乙份設定檔。
[ jonny@squeeze ~ ]
$ sudo cp /usr/share/doc/redmine/examples/email.yml.example /etc/redmine/default/email.yml [Enter]

4.2. 設定 smtp 伺服器位址、電子信箱及密碼。
[ jonny@squeeze ~ ]
$ vi /etc/redmine/default/email.yml [Enter]
68 
69 production:
70   delivery_method: :smtp
71   smtp_settings:
72     address: smtp.example.net
73     port: 25
74     domain: example.net
75     authentication: :login
76     user_name: "redmine@example.net"
77     password: "redmine"
78 
79 development:
80   delivery_method: :smtp
81   smtp_settings:
82     address: 127.0.0.1
83     port: 25
84     domain: example.net
85     authentication: :login
86     user_name: "redmine@example.net"
87     password: "redmine"

4.3. 接下來可以在 設定電子郵件提醒選項 裡使用 寄送測試郵件 來測試是否可以正常運作,其測試信的主旨為「Redmine test」內容如下:
This is a test email sent by Redmine.
Redmine URL: http://localhost/redmine/
---------------------------------------
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://hostname/my/account

延伸閱讀:
Zeroplex 生活隨筆: Redmine 簡介

資料來源:
HowTo Install Redmine using Debian package - Redmine
最簡化的 Ubuntu 10.04下 Redmine 部屬方法
Ubuntu 10.04 安裝 Redmine – ㄚ凱隨手紀