X

將 Redmine 安裝於 Debian、Ubuntu Linux

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 安裝

  1. apt-get install redmine redmine-sqlite git-core subversion libapache2-mod-fcgid libapache2-mod-passenger # redmine-mysql, redmine-pgsql 隨個人選擇
  2. 安裝詢問, 挑選 sqlite # 若 MySQL 或 PostgreSQL 會需要另外設定帳號、密碼
  3. cp /usr/share/doc/redmine/examples/apache2-host.conf /etc/apache2/sites-enabled/redmine.conf # 其他設定檔範例: /usr/share/doc/redmine/examples/, ex: lighttpd, nginx 範例皆於此處
  4. vim /etc/apache2/sites-enabled/redmine.conf # 在 VirtualHost 內, 修改 8080 => 80

    <VirtualHost *:8080>
    改成
    <VirtualHost *:80>

  5. 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

  6. /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>

  7. sudo a2enmod fcgid # 啟用 FastCGI
  8. sudo a2enmod rewrite
  9. sudo /etc/init.d/apache2 restart
  10. 在此就完成系統設定, 再來除了 Email 外, 都於 Web 介面設定即可. (到此已經可以連線 http://redmine.example.com)

Web 介面 - 設定帳號

  1. 點選頁面右上角的 "登入" (帳號: admin, 密碼: admin)
  2. 點選右上角 "我的帳戶" (挑選語系: Traditional Chinese 繁體中文, 並設定 Email 等資料, 此區塊 右上角 "變更密碼" 去 修改密碼)
  3. 點選右上角 "admin", 點選 此區塊 右上角 的 "編輯" (可以修改 帳號 admin -> tsung)

Web 介面 - 新增專案

  1. 點選左上角 "專案清單"
  2. 點選 此區塊 右上角 "建立新專案" -> 內容填寫完 "儲存" 即可完成.

Web 介面 - 設定專案 與 Git 整合

  1. 點選左上角 "專案清單", 點選進入專案
  2. 於 Tab 點選 "設定"
  3. 於 設定的 Tab 點選 "版本控管" -> 挑選 Git, 路徑設定 /var/cache/git/project.git # 請依照自己的 Git 路徑設定
  4. 於 Tab 點選 "認證"

Web 介面 - 開啟帳號

  1. 若 Redmine 只允許內部使用, 作法如下:
  2. 點選左上角 "專案清單", 點選進入專案
    • 於 Tab 點選 "認證" -> 註冊選項 選擇: 手動啟用帳戶
  3. 請要使用此系統的人去註冊帳號
  4. 點選左上角 "網站管理", 點選進入專案
    • Menu 點選 "用戶清單" -> 左邊 "篩選條件" 下拉挑選 "註冊完成", 在分別點選 "啟用" 即可.

Web 介面 - 角色與權限

  1. 點選左上角 "專案清單", 點選進入專案
    • Menu 點選 "角色與權限" -> 可由此去 新增 / 修改設定 角色的權限
  2. 註: 每個人在每個專案都可以分派不同得 "角色", 所以, 每個專案都要記得去新增加入此專案的"人員" 與 "角色"

Web 介面 - 指派專案人員

  1. 點選左上角 "專案清單", 點選進入專案
    • 於 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 權限不足
問題5:出現 500 error
  1. apt-get install bundler libapache2-mod-passenger
  2. cd /usr/share/redmine
  3. bundle update;
  4. 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;
  5. vi /etc/apache2/mods-available/passenger.conf # 加入
    PassengerDefaultUser www-data

Redmine 外掛

Redmine DB 備份

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post