Redmine 的簡介可見此篇: Redmine 基本功能介紹
此篇寫得包含 Redmine 於 Debian / Ubuntu Linux 的安裝、設定, 與 Git / SVN 等整合的設定 等.
註: 下述 Redmine 儲存的資料庫是挑選 SQLite, 若要使用 MySQL 或 PostgreSQL 會於註解地方標示, 在自行安裝即可.
系統環境
- Debian wheezy / Ubuntu 10.10
- Apache2
- SQLite
下述路徑皆為 Debian / Ubuntu Linux 預設路徑
Redmine 常用設定檔 與 資料庫存放位置
- Web 路徑: /usr/share/redmine/public/
- DB 設定檔: /etc/redmine/default/database.yml
- SQLite DB 檔案位置: /var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default (資料庫存放位置)
- Redmine 自己本身的 Log (Redmine path: /usr/share/redmine/):/usr/share/redmine/log/production.log
Redmine 相關設定檔
- /etc/dbconfig-common/redmine/instances/default.conf
- /etc/redmine/default/database.yml
- /etc/redmine/default/session.yml
- /etc/javascript-common/javascript-common.conf
Redmine 相關檔案位置 (Debian / Ubuntu 環境)
- /etc/redmine
- /usr/share/doc/redmine/examples/
- /var/cache/redmine
- /var/log/redmine
- /var/lib/redmine
Redmine 安裝
- apt-get install redmine redmine-sqlite git-core subversion libapache2-mod-fcgid libapache2-mod-passenger # redmine-mysql, redmine-pgsql 隨個人選擇
- 安裝詢問, 挑選 sqlite # 若 MySQL 或 PostgreSQL 會需要另外設定帳號、密碼
- cp /usr/share/doc/redmine/examples/apache2-host.conf /etc/apache2/sites-enabled/redmine.conf # 其他設定檔範例: /usr/share/doc/redmine/examples/, ex: lighttpd, nginx 範例皆於此處
- vim /etc/apache2/sites-enabled/redmine.conf # 在 VirtualHost 內, 修改 8080 => 80
<VirtualHost *:8080>
改成
<VirtualHost *:80> - vim /etc/apache2/sites-enabled/redmine.conf # 在 VirtualHost 內, 增加下述
ServerName example.com # 你的 redmine hostname
CustomLog /var/log/apache2/redmine-access.log combined
ErrorLog /var/log/apache2/redmine-error.log - /etc/apache2/sites-enabled/redmine.conf # 完整檔案如下:
<VirtualHost *:80>
# FcgidInitialEnv for module mod_fcgid
FcgidInitialEnv RAILS_RELATIVE_URL_ROOT ""
FcgidInitialEnv X_DEBIAN_SITEID "default"ServerName redmine.example.com
CustomLog /var/log/apache2/redmine-access.log combined
ErrorLog /var/log/apache2/redmine-error.log# the mod_fcgid socket path # Ubuntu 會多此行, 註解掉即可
#SocketPath "/var/run/redmine/sockets/default" # Ubuntu 會多此行, 註解掉即可
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
Options +FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</Directory>
</VirtualHost> - sudo a2enmod fcgid # 啟用 FastCGI
- sudo a2enmod rewrite
- sudo /etc/init.d/apache2 restart
- 在此就完成系統設定, 再來除了 Email 外, 都於 Web 介面設定即可. (到此已經可以連線 http://redmine.example.com)
Web 介面 - 設定帳號
- 點選頁面右上角的 "登入" (帳號: admin, 密碼: admin)
- 點選右上角 "我的帳戶" (挑選語系: Traditional Chinese 繁體中文, 並設定 Email 等資料, 此區塊 右上角 "變更密碼" 去 修改密碼)
- 點選右上角 "admin", 點選 此區塊 右上角 的 "編輯" (可以修改 帳號 admin -> tsung)
Web 介面 - 新增專案
- 點選左上角 "專案清單"
- 點選 此區塊 右上角 "建立新專案" -> 內容填寫完 "儲存" 即可完成.
Web 介面 - 設定專案 與 Git 整合
- 點選左上角 "專案清單", 點選進入專案
- 於 Tab 點選 "設定"
- 於 設定的 Tab 點選 "版本控管" -> 挑選 Git, 路徑設定 /var/cache/git/project.git # 請依照自己的 Git 路徑設定
- 於 Tab 點選 "認證"
Web 介面 - 開啟帳號
- 若 Redmine 只允許內部使用, 作法如下:
- 點選左上角 "專案清單", 點選進入專案
- 於 Tab 點選 "認證" -> 註冊選項 選擇: 手動啟用帳戶
- 請要使用此系統的人去註冊帳號
- 點選左上角 "網站管理", 點選進入專案
- Menu 點選 "用戶清單" -> 左邊 "篩選條件" 下拉挑選 "註冊完成", 在分別點選 "啟用" 即可.
Web 介面 - 角色與權限
- 點選左上角 "專案清單", 點選進入專案
- Menu 點選 "角色與權限" -> 可由此去 新增 / 修改設定 角色的權限
- 註: 每個人在每個專案都可以分派不同得 "角色", 所以, 每個專案都要記得去新增加入此專案的"人員" 與 "角色"
Web 介面 - 指派專案人員
- 點選左上角 "專案清單", 點選進入專案
- 於 Tab 點選 "設定" -> 於此區塊 Menu 點選 "成員" -> 於右邊勾選 "人員 / 帳號" 與 "角色" 在新增即可.
Redmine 錯誤排除
問題1: 出現下述錯誤:
- [Thu Mar 03 12:57:14 2011] [warn] [client 192.168.0.10] (104)Connection reset by peer: mod_fcgid: error reading data from [[FastCGI]] server
- [Thu Mar 03 12:57:14 2011] [error] [client 192.168.0.10] Premature end of script headers: dispatch.fcgi
解法:
- apt-get install libapache2-mod-passenger
- sudo a2enmod passenger
問題2: 若 Ubuntu Linux 出現權限不足的錯誤
解法:
- chmod 777 /var/lib/dbconfig-common/sqlite3/redmine/instances/default/
- chmod 666 /var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default
- chmod 644 /etc/redmine/default/*
問題3: 若 Redmine 上傳檔案, 出現權限不足 (/var/log/apache2/error.log)
解法
- chmod 777 /var/lib/redmine/default/files/ # 請依照使用者權限設定, 不知道就先 777 試試看.
問題4: 出現 Permission denied – /etc/redmine/default/session.yml 權限不足
- vi /etc/apache2/mods-available/passenger.conf # 增加下述
<IfModule mod_passenger.c>
# PassengerRoot /usr
# PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data
</IfModule> - 可參考: HowTo Install Redmine using Debian package - Redmine
問題5:出現 500 error
- apt-get install bundler libapache2-mod-passenger
- cd /usr/share/redmine
- bundle update;
- bundle exec rake db:migrate RAILS_ENV=production; \
> bundle exec rake redmine:plugins:migrate RAILS_ENV=production; \
> bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production; - vi /etc/apache2/mods-available/passenger.conf # 加入
PassengerDefaultUser www-data
Redmine 外掛
- Redmine - ThirdPartyTools - 外掛 Plugin
- AdamLantos/redmine_http_auth - HTTP Auth
Redmine DB 備份
- Redmine DB 備份 (SQLite Dump backup)
- DB: sqlite3 /var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default .dump > ~/redmine.sql
- 附加檔案: /var/lib/redmine/default/files
- 設定檔: /etc/redmine/default/*
- Redmine - How to backup redmine?
- Redmine - Backing up Redmine