專案

一般

個人檔案

動作

如何在 Ubuntu 上逐步安裝 Redmine

先決條件:根據預期的 Redmine 版本檢查您的 Ubuntu 版本

在使用或研究本指南之前,您應該檢查您要使用的 Redmine 版本。請注意,只有最新的穩定版本才能與目前發布的外掛完全相容。
要檢查 Redmine 版本與您的 Ubuntu 版本,請參閱 http://www.ubuntuupdates.org/pm/redmine

一般來說,您也可以考慮僅從 Ubuntu 儲存庫安裝 Ruby,然後從 Redmine 的下載頁面下載 Redmine 版本:https://redmine.dev.org.tw/projects/redmine/wiki/Download(這是 Ubuntu 上安裝 Redmine 更常見的方式)。在這種情況下,**本指南不適合**您,您應該查看其他指南。Google 為此替代安裝程序提供了大量資源。

如果您確定要從 Ubuntu 儲存庫安裝,請继续阅读

簡介

本教學將逐步引導您在全新/乾淨的 Ubuntu 12.04 安裝上安裝 Redmine。這是一個完整的安裝和執行 Redmine 的方法。它不假設已安裝或設定了其他項目。由於我在使用圖形套件管理器時遇到了一些問題,因此我們將從命令列提示字元執行此操作,以保持事情盡可能清晰和乾淨。

我建議您在開始此過程之前安裝任何 Ubuntu 更新。在 Ubuntu 首次設定後,幾乎總會有一些更新在等待套用。

先決條件:Apache、mod-passenger 和 MySQL

我們將首先安裝幾個支援套件。如果您只需按照提示操作並接受預設值,則 Apache 安裝非常簡單。

$ sudo apt-get install apache2 libapache2-mod-passenger

安裝 MySQL 只需多花一點時間,因此詳細說明如下。

$ sudo apt-get install mysql-server mysql-client 

MySQL 的安裝過程會提示您輸入資料庫伺服器的「root」存取密碼,然後要求您在後續螢幕中確認密碼。這將設定資料庫管理密碼。

Package configuration                                                           

  ┌────────────────────┤ Configuring mysql-server-5.5 ├─────────────────────┐   
  │ While not mandatory, it is highly recommended that you set a password   │   
  │ for the MySQL administrative "root" user.                               │   
  │                                                                         │   
  │ If this field is left blank, the password will not be changed.          │   
  │                                                                         │   
  │ New password for the MySQL "root" user:                                 │   
  │                                                                         │   
  │ _______________________________________________________________________ │   
  │                                                                         │   
  │                                 <Ok>                                    │   
  │                                                                         │   
  └─────────────────────────────────────────────────────────────────────────┘   

  ┌────┤ Configuring mysql-server-5.5 ├──────────┐
  │                                              │
  │ Repeat password for the MySQL "root" user.   │
  │                                              │
  │                                              │
  │ ____________________________________________ │
  │                                              │
  │                   <Ok>                       │
  │                                              │
  └──────────────────────────────────────────────┘

安裝和設定 Ubuntu Redmine 套件

現在是時候安裝 Redmine 了。

$ sudo apt-get install redmine redmine-mysql

當出現提示時,您需要允許 dbconfig-common 配置資料庫,所以請從下方面板的提示中選擇「**是**」。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │                                                                           │  
 │ The redmine/instances/default package must have a database installed and  │  
 │ configured before it can be used.  This can be optionally handled with    │  
 │ dbconfig-common.                                                          │  
 │                                                                           │  
 │ If you are an advanced database administrator and know that you want to   │  
 │ perform this configuration manually, or if your database has already      │  
 │ been installed and configured, you should refuse this option.  Details    │  
 │ on what needs to be done should most likely be provided in                │  
 │ /usr/share/doc/redmine/instances/default.                                 │  
 │                                                                           │  
 │ Otherwise, you should probably choose this option.                        │  
 │                                                                           │  
 │ Configure database for redmine/instances/default with dbconfig-common?    │  
 │                                                                           │  
 │                    <Yes>                       <No>                       │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

然後,您需要提供資料庫的「root」密碼,以便安裝程式可以建立 Redmine 資料庫。這是您安裝 MySQL 時設定的密碼。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ Please provide the password for hte administrative account with which     │  
 │ this package should create its MySQL database and user.                   │  
 │                                                                           │  
 │ Password of the database's administrative user:                           │  
 │                                                                           │  
 │ ******__________________________________________________________________  │  
 │                                                                           │  
 │                   <Ok>                       <Cancel>                     │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

透過從資料庫選項清單中選取「MySQL」,告訴 Redmine 安裝程式我們正在使用 MySQL 進行安裝。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ The redmine/instances/default package can be configured to use one of     │  
 │ several database types. Below, you will be presented with the available   │  
 │ choices.                                                                  │  
 │                                                                           │  
 │ Database type to be used by redmine/instances/default:                    │  
 │                                                                           │  
 │                                  sqlite3                                  │  
 │                                  pgsql                                    │  
 │                                  mysql                                    │  
 │                                                                           │  
 │                                                                           │  
 │                    <Ok>                        <Cancel>                   │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

現在,系統會要求您提供一個密碼,用於保護 Redmine 資料庫。當 Redmine 需要存取 MySQL 時,它會使用這個密碼。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ Please provide a password for redmine/instances/default to register with  │  
 │ the database server.  If left blank, a random password will be            │  
 │ generated.                                                                │  
 │                                                                           │  
 │ MySQL application password for redmine/instances/default:                 │  
 │                                                                           │  
 │ *******__________________________________________________________________ │  
 │                                                                           │  
 │                    <Ok>                        <Cancel>                   │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘ 

現在請確認 Redmine 密碼。

Package configuration                                                           

   ┌────┤ Configuring redmine ├─────┐                       
   │                                │                       
   │                                │                       
   │ Password confirmation:         │                       
   │                                │                       
   │ *******_______________________ │                       
   │                                │                       
   │     <Ok>         <Cancel>      │                       
   │                                │                       
   └────────────────────────────────┘   

請確認已安裝 Bundler Gem。

$ sudo gem update
$ sudo gem install bundler

設定 Apache

您需要修改 Apache 的兩個檔案。第一個是 /etc/apache2/mods-available/passenger.conf,需要在其中加入文字「**PassengerDefaultUser www-data**」,如下所示。請勿嘗試替換整個檔案內容!

<IfModule mod_passenger.c>
  PassengerDefaultUser www-data
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby
</IfModule>

現在建立一個符號連結,將 Redmine 連接到網路文件空間。

$ sudo ln -s /usr/share/redmine/public /var/www/html/redmine

並修改 /etc/apache2/sites-available/000-default.conf(Apache 2.4 之前的版本為 /etc/apache2/sites-available/default),在其他「<Directory>」區段中插入以下內容,以便讓 Apache 知道要遵循符號連結進入 Rails。

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

建立 Gemfile.lock 檔案並設定其所有權,以便 Apache 的 www-data 使用者可以存取它。

$ sudo touch /usr/share/redmine/Gemfile.lock
$ sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock

現在重新啟動 Apache。

$ sudo service apache2 restart

您現在應該可以從本機主機存取 Redmine 了。

$ firefox http://127.0.0.1/redmine

在瀏覽器視窗的右上角,您應該會看到「登入」連結。點擊它,並在「**登入:**」和「**密碼:**」提示中輸入「admin」。注意:*這不是您在安裝過程中設定的密碼*。點擊「**登入**」按鈕。

我建議您接下來點擊右上角的「**我的帳戶**」,並更改該密碼。在顯示的頁面中,頁面白色的區域右上角應該有一個「**更改密碼**」連結。點擊以更改密碼。

備份 Redmine

您應該定期備份 Redmine 資料庫和使用者上傳/附加的檔案。可以使用以下命令將資料庫傾印到文字檔案中:

/usr/bin/mysqldump -u root -p<password> redmine_default | gzip > /path/to/backups/redmine_db_`date +%y_%m_%d`.gz
其中「<password>」是您在安裝 MySQL 時設定的密碼。

附件存放在 /var/lib/redmine/default/files 中,可以使用以下命令進行備份:

rsync -a /var/lib/redmine/default/files /path/to/backups/files

您可以建立一個名為 /etc/cron.daily/redmine 的腳本,並在其中包含以下內容,以便自動執行這些命令:

#!/bin/sh
/usr/bin/mysqldump -u root -p<password> redmine_default | gzip > /path/to/backups/redmine_db_`date +%y_%m_%d`.gz
rsync -a /var/lib/redmine/default/files /path/to/backups/files

同樣地,請務必在 mysqldump 命令列中將 MySQL 的 root 密碼替換為「<password>」。該檔案應該受到保護,只有 root 使用者擁有讀取權限,因為您將 MySQL 安裝的 root 密碼儲存在這個檔案中。第一行會在每次執行腳本時建立一個新的檔案。這最終可能會建立大量的資料庫備份檔案。您應該定期執行一個腳本來清除舊的備份檔案。

其他半選用套件

Redmine 可以使用一些並非絕對必要但很有用的服務。這些服務是電子郵件和軟體儲存庫/版本控制系統。

電子郵件設定

在某些時候,您可能希望 Redmine 能夠發送電子郵件。為此,您需要安裝和設定電子郵件。這可以透過安裝「**postfix**」套件來實現。我不建議使用「exim4」套件,因為 Redmine 和 exim4 之間在處理「sendmail」命令列的方式上存在一些不相容性。除非每個人都在 Redmine 伺服器上擁有一個電子郵件帳戶,否則您需要將外部電子郵件設定為完整的網際網路主機。安裝電子郵件服務後,您必須重新啟動 Apache,Redmine 才能知道它可以存取電子郵件服務。

$ sudo apt-get install postfix

現在您可以發送電子郵件了,您必須將其告知 Redmine。您需要建立/編輯 /etc/redmine/default/configuration.yml 檔案並新增以下幾行

production:
  email_delivery:
    delivery_method: :sendmail

然後重新啟動 Apache,以便 Redmine 重新載入設定檔

$ sudo service apache2 restart

版本控制儲存庫設定

為了讓您的軟體儲存庫位於系統上,Redmine 需要安裝對應的軟體。

$ sudo apt-get install git subversion cvs mercurial
$ sudo service apache2 restart

到目前為止,這涵蓋了我使用 Redmine 的所有內容。

Harry Wood8 年多前 更新 · 30 個版本