如何在 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 Wood 於 8 年多前 更新 · 30 個版本