專案

一般

設定檔

動作

使用 Passenger 在 Ubuntu 12.04 或 Ubuntu 10.04 的逐步指南

逐步指南,說明如何在全新安裝的 Ubuntu 上執行 Redmine。

本文假設

這些說明假設您具備基本的 Ubuntu 伺服器安裝,並可使用命令列存取。假設您擁有安裝網頁伺服器 (Apache2) 和資料庫 (PostgreSQL 或 MySQL) 的權限。也假設您能夠執行 sudo 命令,並且至少對 Linux 作業系統和檔案系統有基本的了解。您應該輸入的指令會顯示在單獨的行上,並以垂直灰色條紋開頭。

成為 root 或準備好在每個指令前輸入 sudo

如果您要進行大型安裝/設定工作,也可以透過輸入以下任一指令,成為「真正的 root」,而不必在每個指令前都輸入 sudo,這樣可以節省很多時間;

sudo -s

- 或 -

sudo -i

這兩個指令都會要求您再次輸入密碼,然後您會看到 # 提示符號,表示您已是「root」,不再需要一直輸入 sudo。

開始之前,請務必執行更新

請務必檢查您的 /etc/apt/sources.list 您可能需要將「backports」註解掉,並取消註解「extras」和「partners」。

apt-get update

如果您收到任何儲存庫的金鑰錯誤,可以輕鬆修復。

金鑰錯誤看起來像這樣

W: GPG 錯誤:http://extras.ubuntu.com quantal Release: 無法驗證下列簽章,因為找不到公鑰:NO_PUBKEY 16126D3A3E5C1192

gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192
gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add -

請注意,錯誤訊息、金鑰擷取請求和金鑰匯入請求中的金鑰 (16126D3A3E5C1192) 是相同的。無論您遺失哪個金鑰,都可以透過此程序修復。

apt-get update && apt-get dist-upgrade

安裝您的網頁伺服器和資料庫

安裝 Ubuntu 的整個 LAMP 堆疊也會安裝 PHP 以及適用於 Apache、MySQL 等的 PHP 連接器。如果您使用的是 RoR,則可能不需要安裝所有這些元件。一般而言,最好不要安裝任何您實際上不需要的東西。未安裝的元件就不會成為潛在的安全漏洞。以下敘述將安裝 Apache2 和適當的資料庫。

針對 MySQL: >apt-get install apache2 software-properties-common librmagick-ruby ruby-rmagick mysql-server mysql-client mysql-common
針對 PostgreSQL: >apt-get install apache2 software-properties-common librmagick-ruby ruby-rmagick postgresql

如果您想使用其他網頁伺服器或資料庫,則不在本文檔的討論範圍內。

您必須為 Apache2 安裝 mod_passenger。

apt-get install libapache2-mod-passenger

等待安裝完成,然後您必須啟用模組並重新啟動 Apache2。

a2enmod passenger
service apache2 restart

- 或 -

/etc/init.d/apache2 restart

Mod_passenger 現在應該已啟用,並且對 Apache 可見。

先關閉 apparmor,這樣它在我們安裝所有東西時就不會抱怨

service apparmor stop

- 或 -

/etc/init.d/apparmor stop

您可以在配置好所有內容後重新啟動它。

或者,您可以將其設置為「抱怨」模式。

aa-complain /usr/sbin/mysqld

為您的 Redmine 安裝創建資料庫和使用者。

大多數資料庫都有很多圖形介面工具。強烈建議永遠不要以資料庫的「root」使用者身分執行應用程式(例如,MySQL 的 MySQL root 使用者或 PostgreSQL 的「postgres」使用者)。還有許多關於創建資料庫和授予資料庫權限的教學,因此這確實超出了本文檔的範圍。這些在 Google 上很容易找到,如果您要管理資料庫驅動的應用程式,建議您至少要熟悉 SQL 語法。

對於 MySQL

CREATE 'user'@'hostname' IDENTIFIED BY 'password';  CREATE DATABASE myredminedb; GRANT ALL ON myredminedb.* TO 'user'@'hostname'; FLUSH PRIVILEGES;

對於 PostgreSQL:CREATE USER 使用者 WITH PASSWORD '密碼'; CREATE DATABASE 我的redmine資料庫;GRANT ALL PRIVILEGES ON DATABASE 我的redmine資料庫 to 使用者;

PostgreSQL 使用者注意事項:您必須先設置 postgres 使用者密碼,才能進行遠端連線。MySQL 會在安裝過程中強制您設置,但 Postgres 不會。要這樣做

su - postgres
psql

這將帶您到 postgres 資料庫提示符號。

ALTER USER postgres with password '我的安全密碼';

這將設置密碼。您現在可以繼續編輯 postgres 配置檔,以便您可以進行遠端連線。

安裝 Redmine。

---如果您對套裝版本感到滿意,則可以使用 Ubuntu 儲存庫中的套件。Ubuntu 10.04 套件停留在 0.9.x 分支,而 Ubuntu 12.04 套件停留在 1.3.x 分支。

對於 MySQL:>apt-get install redmine redmine-mysql
對於 PostgreSQL:>apt-get install redmine redmine-pgsql
對於 SQLite

PostgreSQL 安裝程式會要求輸入 postgres 使用者密碼,以便它可以創建自己的使用者、密碼、資料庫等。

安裝過程應會提示您輸入所有重要細節。

Redmine 現在將安裝在 /usr/share/redmine 中,而配置檔將位於 /etc/redmine

安裝最新的 Redmine

--如果您對 Ubuntu 官方儲存庫中較舊版本的 Redmine 不滿意(10.04 停留在 0.9.x,12.04 停留在 1.3.x,而目前版本是 2.2),則本節適合您。您仍然需要按照其他部分中的步驟操作,但这将为您提供来自 PPA/Launchpad 的较新版本:https://launchpad.net/~ondrej/+archive/redmine

**注意:**如果您的伺服器位於防火牆後方,則需要先匯出防火牆設定,然後再執行 add-apt-repository。否則,命令將會掛起。

執行以下命令以匯出 http(埠 80)和 https(埠 443)的代理伺服器設定

export http_proxy="http://proxy.您的伺服器:埠"
export https_proxy="http:proxy.您的伺服器:埠"

否則,請繼續將 PPA 新增至您的機器儲存庫清單中

add-apt-repository ppa:ondrej/redmine
apt-get update

對於 MySQL:>apt-get install redmine redmine-mysql
適用於 PostgreSQL:apt-get install redmine redmine-pgsql

漫漫長路

現在有一個適用於 Quantal 的 PPA。由於我無法讓手動程序正常運作,因此我將把這個章節留給其他人撰寫。

Apache 設定

您有兩種選擇。您可以將 Redmine 安裝為專用伺服器,其中 www.example.com 預設會提供 Redmine 服務。您也可以安裝 Redmine 以用作另一台伺服器上的目錄(例如 www.example.com/redmine)。

常見的設定問題
根據預設,passenger 會以「nobody」身分執行,因此您需要修正這個問題。

cd /etc/apache2/mods-available

透過新增以下行來編輯 passenger.conf

PassengerDefaultUser www-data

cd /etc/apache2/conf.d

編輯安全性
將 ServerTokens OS 變更為 ServerTokens Prod
儲存檔案

專用伺服器設定

cd /etc/apache2/sites-available

使用您選擇的編輯器編輯預設值。
ServerAdministrator
ServerName www.mydomain.com
ServerAlias mydomain.com

這個指令正下方是

DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

將此變更為

DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                RailsBaseURI /
                PassengerResolveSymlinksinDocumentRoot on               
                AllowOverride None
        </Directory>

如果您想強制或不強制在網址開頭加上 www

a2enmod rewrite

然後將適當的規則新增至位於新根目錄中的預設檔案或 .htaccess 檔案。

cd /var
mv www ww2
ln -s /usr/share/redmine/public www
service apache2 restart

前往瀏覽您的伺服器。您應該可以使用預設使用者「admin」和預設密碼「admin」登入。
立即變更使用者名稱和密碼。

共用伺服器設定

cd /var/www

決定您要網路伺服器從中執行此項目的「資料夾」- redmine、projects、tickets 等。請務必將指示中的「myfoldername」變更為您決定使用的任何名稱。

ln -s /usr/share/redmine/public myfoldername

現在您必須編輯預設網站(或其他虛擬主機檔案)

cd /etc/apache2/sites-available

編輯預設值並新增以下內容

ServerAdministrator youremail@email.com
ServerName www.mydomain.com
ServerAlias mydomain.com
<Directory /var/www/myfoldername>
RailsBaseURI /myfoldername
PassengerAppRoot /usr/share/myfoldername
PassengerResolveSymlinksInDocumentRoot on
</Directory>

Apparmor

如果您將其關閉,現在是時候重新啟動它了。

service apparmor start

/etc/init.d/apparmor tart

如果您將其設定為抱怨,則應該再次啟用它。

aa-enforce /usr/sbin/mysqld

最後步驟

service apache2 restart

- 或 -

/etc/init.d/apache2 restart

您也可以考慮安裝 fail2ban 之類的軟體。

已知問題

如果在設定 Redmine 後收到「403:禁止」錯誤,則 Redmine「公開」資料夾的權限設定可能不正確。必須啟用公開資料夾的可執行位元,否則在嘗試存取 Redmine 時會收到「403:禁止」錯誤。

chmod a+x /usr/share/redmine/public


chmod 755 /usr/share/redmine/public

使用 WEBrick 的 Ubuntu 10.04 或 12.04

建議對負載較重的伺服器使用 Passenger。但 WEBrick 使用的記憶體較少。

安裝 Redmine:(另請參閱上方的「安裝最新版 Redmine」)

$ sudo apt-get install redmine redmine-mysql

然後,為 /etc/init/redmine.conf 建立此檔案

# Redmine

description "Redmine" 

start on runlevel [2345]
stop on runlevel [!2345]

expect daemon
exec ruby /usr/share/redmine/script/server webrick -e production -b 0.0.0.0 -d

您可以透過此方式啟動 Redmine。您可以透過 http://example.com:3000/ 存取

$ sudo service redmine start

你可以透過這個指令停止服務。

$ sudo service redmine stop

Ubuntu 10.04 使用 mod_cgi

安裝程式假設網路伺服器和資料庫已經準備就緒,因此如果還沒有 LAMP 堆疊,您可能需要先安裝它。

$ sudo tasksel install lamp-server

此外,預設的 AppArmor 配置可能會造成阻礙,因此您可能需要將 mysqld 設定檔設定為「抱怨」模式。

$ sudo aa-complain /usr/sbin/mysqld

從 10.04 版開始,Redmine 可以透過 Ubuntu 的套件管理器取得,安裝非常簡單。

$ sudo apt-get install redmine redmine-mysql subversion

第二個套件「redmine-mysql」可以替換為「redmine-pgsql」或「redmine-sqlite」,如果您想使用其中任何一個資料庫的話。

安裝過程應會提示您輸入所有重要細節。

Redmine 現在將安裝在「/usr/share/redmine」和「/etc/redmine」。

如果您將 AppArmor mysqld 設定檔設定為「抱怨」模式,則應將其設定回「強制」模式。

$ sudo aa-enforce /usr/sbin/mysqld

組態設定

使用 Ubuntu Server 10.04.1 時,透過本節所述的 mod_cgi 配置 Redmine 似乎無法運作。如果您能成功完成此操作,請更新這些說明!否則,如果 mod_cgi 對您無效,請按照下一節中的說明使用 Passenger 或 WEBrick 在 Ubuntu 10.04 上安裝。

將「/usr/share/redmine/public」符號連結到您想要的網路可存取位置。例如:

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

同時,將「/var/cache/redmine/default/plugin_assets」符號連結到您的 redmine 目錄。例如:

$ sudo ln -s /var/cache/redmine/default/plugin_assets /usr/share/redmine/public/

這將確保在任何已安裝的附加元件中顯示任何圖形或其他資源。

您需要修改/建立的其他檔案如下:

/etc/redmine/default/database.yml:

production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: pa55w0rd
encoding: utf8

/usr/share/redmine/public/dispatch.cgi:

#!/usr/bin/ruby

require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)

require "dispatcher" 

ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
Dispatcher.dispatch

/usr/share/redmine/public/.htaccess:

RewriteEngine On
RewriteBase /redmine
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

這樣就完成了!如果這些說明對您無效,請將其展開以包含所需的任何內容。

在虛擬或一般 Ubuntu < 10.04 上安裝 Redmine

本頁面是在虛擬或實際安裝的 Ubuntu 作業系統上安裝 Redmine 的指南。如果您正確按照所有說明進行操作,您將在將近一個小時內成功安裝 Redmine 伺服器。

步驟 1:安裝 Ubuntu

如果您是在非虛擬 Ubuntu 執行個體上安裝,請跳過本節。

安裝 VirtualBox

1. 下載最新版本的 Sun VirtualBox(版本 3.0.10 或更新版本)。
2. 按照說明安裝 VirtualBox。

在 VirtualBox 上安裝 Ubuntu

1. 下載最新版本的 Ubuntu(版本 9.10 或更新版本)。
2. 安裝 VirtualBox 後,您將建立一個新的虛擬作業系統,其類型為 Linux,子類型為 Ubuntu。如果您不了解 VirtualBox 和/或其使用方法,請參閱 Google。

3. 安裝 Ubuntu 時,您應該輸入以下組態設定:
(此建議組態設定為選用,您可以輸入任何您想要的的名稱。)
問:您的姓名是什麼? 答:Redmine Server
問:您想使用什麼名稱登入? 答:redmine
問:選擇密碼以確保您的帳戶安全? 答:redmine
問:這台電腦的名稱是什麼? 答:redmine-server
選擇「自動登入」選項按鈕。

4. 完成安裝後,開啟新的 VirtualBox Ubuntu 作業系統,並開啟終端機(主控台)畫面,然後發出以下指令:

sudo apt-get update
sudo apt-get upgrade

組態設定 VirtualBox

1. 如果您想從不同的機器連線到您的 VirtualBox Ubuntu 作業系統,您必須將 VirtualBox Ubuntu 作業系統的網路設定設定為橋接介面卡。這樣您就可以輕鬆地從內部 IP 位址連線到您的 VirtualBox Ubuntu。因為它可以輕鬆地從 DHCP 取得與您相同的 IP 區塊。我的意思是您的訪客和主機電腦是相同 IP 區塊的不同網路用戶端。

2. 如果您已透過提供靜態乙太網路 MAC 位址為您的網路顧問分配了靜態 IP,則必須透過設定->網路->MAC 位址初始化方塊為您的 VirtualBox Ubuntu 作業系統分配唯一的 MAC 位址。透過此 MAC 位址,您可以輕鬆取得靜態 IP,或者您可以將 Ubuntu 系統設定為不使用 DHCP,而是手動分配靜態 IP。

步驟 2:安裝 Redmine

一旦您啟動並執行了一個正常運作的 Ubuntu 作業系統,您就可以繼續安裝 Redmine。

安裝相依套件

安裝和執行 Redmine 需要以下套件。請以 root 身分執行 apt-get 來安裝它們

sudo apt-get install 套件名稱

其中 套件名稱 是以下每個
  • apache2
  • apache2-threaded-dev
  • build-essential
  • libapache-dbi-perl
  • libapache2-mod-perl2
  • libapache2-svn
  • libdigest-sha1-perl
  • libgemplugin-ruby
  • libgemplugin-ruby1.8
  • libruby-extras
  • libruby1.8-extras
  • mongrel
  • mysql-server
  • rails
  • rake
  • ruby
  • rubygems
  • rubygems1.8
  • ruby1.8-dev
  • subversion

(有人可以幫忙整理一下這個清單嗎?)

套件安裝與設定

1. 安裝 VirtualBox Ubuntu 作業系統並更新後,您需要安裝一堆套件,以便我們為 Redmine 安裝準備伺服器。因此,請以 root 身分執行以下指令來安裝以下套件

sudo apt-get install
sudo apt-get install

(*上面肯定缺少了一些套件名稱?*)

我們上面安裝的套件是 MySQL、phpMyAdmin、Rails、Ruby Gems、Mongrel 和 Ruby 開發環境。
在安裝套件期間,當安裝 MySQL 時,它會提示您建立密碼。請務必記住它。您稍後需要使用它來登入 phpMyAdmin。為了簡單起見,您可以將所有密碼設定為「redmine」。

2. 為 Redmine 建立一個新目錄。我將我的放在 /opt/redmine 中。並使用 wget 命令列下載器將最新版本的 Redmine 下載到其中,並透過執行以下指令解壓縮它

sudo mkdir /opt/redmine
sudo cd /opt/redmine
sudo wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz
tar -xvf redmine-0.8.6.tar.gz

資料庫設定

1. 現在是時候為 Redmine 建立一個空的資料庫了。您可能已經注意到,我們之前安裝了 phpMyAdmin。phpMyAdmin 現在會派上用場。前往 https://127.0.0.1/phpmyadmin。您應該會看到 phpMyAdmin 登入畫面。
輸入「root」和您在安裝 MySQL 時建立的 MySQL「密碼」。

2. 首先,點選「資料庫」,然後在畫面底部的「建立新資料庫」文字方塊中建立一個名為「redmine」的新資料庫,並將「校對」設定為「utf8_general_ci」。

3. 現在,回到主畫面並點選
「權限」
「新增使用者」
填寫「登入資訊」方塊。將您的使用者稱為「redmine」。請務必記住您在此處建立的密碼。當您在 Redmine 中設定資料庫連線詳細資訊時,將會使用到它。
在「使用者資料庫」區段中,勾選「使用相同名稱建立資料庫並授予所有權限」,然後點選「執行」按鈕。

4. 登出 phpMyAdmin。

Redmine 資料庫連線設定

1.現在要來設定資料庫連線。如果您像我上面那樣安裝 Redmine,請將「config/database.yml.example」複製到「config/database.yml」,並編輯這個檔案,以便設定「production」環境的資料庫設定。您會在以下位置找到「database.yml.example」檔案

sudo cd /opt/redmine/redmine-0.8.6/config

2.現在,假設您在「/opt/redmine/redmine-0.8.6/config」目錄中,請輸入

sudo cp database.yml.example database.yml

3.然後,開啟「database.yml」檔案,輸入

sudo gedit database.yml

…並按照以下 MySQL 資料庫的範例進行編輯

production
adapter: mysql
socket: /var/run/mysqld/mysqld.sock
database: redmine
host: localhost
username: redmine
password: [密碼]

然後儲存「database.yml」檔案並退出到命令提示字元。
在 Ubuntu 上,「mysql.sock」位於 /var/run/mysqld/mysqld.sock,如上述「config」中所示。
(標準的 Redmine 安裝程式假設 socket 位於「/opt/redmine/redmine-0.8.6/tmp/mysqld.sock」。)

4.透過在應用程式根目錄(我的意思是「/opt/redmine/redmine-0.8.6」)下執行以下命令來建立資料庫結構

sudo rake db:migrate RAILS_ENV="production"

它將在您先前建立的 redmine 資料庫中建立必要的資料表和一個管理員帳戶。

5.透過輸入以下命令將預設設定資料插入資料庫

sudo rake redmine:load_default_data RAILS_ENV="production"

(此步驟是可選的,但強烈建議執行,因為您可以從頭開始定義自己的設定。它將載入預設角色、追蹤器、狀態、工作流程和列舉。在載入預設資料時,命令提示字元會要求您選擇語言。)

設定權限

1.執行 Redmine 的使用者必須對以下子目錄具有寫入權限:「files」、「log」、「tmp」(如果不存在則建立最後一個)。您可能已經在 /opt/redmine/redmine-0.8.6 中有一個「tmp」目錄,但如果沒有,請現在輸入以下命令建立一個

sudo mkdir /opt/redmine/redmine-0.8.6

2.如果您尚未建立 Redmine 使用者,請立即輸入以下命令建立

sudo useradd redmine

3.現在,假設您使用 redmine 使用者執行 Redmine,請從您的 /opt/redmine/redmine-0.8.6 目錄輸入

sudo chown -R redmine:redmine files log tmp
sudo chmod -R 755 files log tmp

測試安裝

1.現在應該都能正常運作了。透過執行 WEBrick 網頁伺服器來測試安裝,輸入

sudo cd /opt/redmine/redmine-0.8.6
sudo ruby script/server -e production

WEBrick 啟動後,將您的瀏覽器指向 https://127.0.0.1:3000/。或者,如果您使用的瀏覽器不在您安裝 Redmine 的電腦上,請將您的瀏覽器指向 http://192.168.1.10:3000/(如果這是您為 Redmine 伺服器指定的 IP 位址)。您現在應該會看到應用程式的歡迎頁面。

登入

1.使用預設管理員帳戶登入
登入帳號:admin
密碼:admin

2.您可以前往「管理」和「設定」修改應用程式設定。

設定靜態 IP

1.設定靜態 IP 位址比較簡單的方法是使用您的本地 DHCP 伺服器為 VirtualBox 作業系統的 MAC 位址指定一個永久 IP。這樣您就不必在 VBS 內進行任何操作。請諮詢您的網路管理員。

2.或者,您應該確定以下給出的設定參數,然後您可以將您的系統設定為具有靜態 IP 位址
所需的 IP 位址
網路遮罩和廣播位址
閘道位址
您的本地 DNS 伺服器位址

為 VirtualBox 作業系統指定主機名稱和網域

1. 將您的 IP 地址 - 主機名稱對設定新增至 DNS 伺服器的簡單方法。請諮詢您的網路管理員。

設定 Passenger Apache 模組

Passenger 是一個適用於 apache2 的模組,允許 Apache 執行 Ruby on Rails 應用程式。請按照以下步驟安裝:

$ sudo gem install passenger

然後前往 passenger apache2 模組安裝目錄並執行 passenger-install-apache2-module

$ cd /var/lib/gems/1.X/gems/passenger-X.X.X/

$ sudo bin/passenger-install-apache2-module

接下來,設定 Apache

在 /etc/apache2/mods-available/passenger.load 中,我們將新增下一行

LoadModule passenger_module /var/lib/gems/1.X/gems/passenger-X.X.X/ext/apache2/mod_passenger.so

我們必須在 /etc/apache2/mods-available/passenger.conf 中編輯 passenger apache2 模組的設定檔

PassengerRoot /var/lib/gems/1.X/gems/passenger-X.X.X
PassengerRuby /usr/bin/ruby1.X

現在我們要啟用模組

$ sudo a2enmod passenger

Redmine 網路應用程式的 Apache 虛擬主機

<VirtualHost *:80>
ServerName redmine.server.com

DocumentRoot /var/www/redmine/public

ServerAdmin user@server.com
LogLevel warn
ErrorLog /var/log/apache2/redmine_error
CustomLog /var/log/apache2/redmine_access combined

<Directory /var/www/redmine/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>

Apache 中的 Subversion 伺服器設定

<VirtualHost *:80>
ServerName svn.server.com
ServerAdmin user@server.com
ErrorLog /var/log/apache2/svn_error
CustomLog /var/log/apache2/svn_access combined
<Location /project>
DAV svn
SVNPath /var/lib/svn/project

AuthType Basic
AuthName "Trac system for Server projects" 
AuthUserFile "/var/lib/svn/.htpasswd" 
Require valid-user
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
</Virtualhost>

Sendmail 伺服器設定

1. 在為 Redmine 設定電子郵件支援之前,我們應該下載適用於 Ubuntu 的 sendmail 應用程式,執行以下指令:

sudo apt-get install sendmail

sudo sendmailconfig

(對所有詢問的問題回答「是」)

2. 現在要設定伺服器連線。將「config/email.yml.example」複製到「config/email.yml」,並編輯此檔案以設定「生產環境」的資料庫設定。您會發現「email.yml.example」問題

sudo cd /opt/redmine/redmine-0.8.6/config

3. 所以現在,假設您位於「/config」目錄中,請執行以下指令:

sudo cp email.yml.example email.yml

4. 然後,開啟「email.yml」檔案,執行以下指令:

sudo gedit email.yml

…並按照以下 sendmail 設定範例進行編輯

production
delivery_method: :sendmail
sendmail_settings
location: /usr/sbin/sendmail
arguments: -i -t
address: smtp.example.net
port: 25
domain: example.net
authentication: :none
user_name:
password: redmine

然後儲存「email.yml」檔案並退出到命令提示字元。

5. 現在要設定「environmet.rb」設定。開啟「environment.rb」並將「config.action_mailer.perform_deliveries = false」變更為「config.action_mailer.perform_deliveries = true」,然後儲存並關閉「environment.rb」。

Ubuntu 12.04 搭配 Redmine >v1.4.3 的電子郵件設定

1. 不要建立 email.yml,而是編輯 config/configuration.yml 並新增一個區段

production:
   email_delivery:
     delivery_method: :smtp
...

production:
   email_delivery:
     delivery_method: :sendmail
...

如需完整電子郵件區塊的正確格式,請參閱 https://redmine.dev.org.tw/projects/redmine/wiki/EmailConfiguration

2. 請勿變更 environment.rb config.action_mailer.perform_deliveries。正確的方法是變更 configuration.yml 並將預設的 config.action_mailer.perform_deliveries 設定保留為 false
config.action_mailer.perform_deliveries = false

Subversion 安裝與設定

1. 在為 Redmine 設定 Subversion 支援之前,我們應該下載適用於 Ubuntu 的 Subversion 應用程式,執行以下指令:

sudo apt-get install subversion

2. 如果您的 Redmine 找不到「subversion」指令,您可以執行以下指令來協助尋找:
· > sudo cd /opt/redmine/redmine-0.8.6/config
· > sudo gedit environment.rb
· 在其中新增 ENV['PATH'] = "#{ENV['PATH']}:/subversion/path" 行。
· 儲存並關閉「environment.rb」

開機時啟動應用程式

1. 若要在伺服器開機時自動啟動應用程式,您需要修改「crontab」,執行以下指令:

export EDITOR=gedit
crontab -e

2. 系統會顯示您的「crontab」檔案。這是會在特定時間或開機時啟動的程式清單。將以下內容新增至「crontab」(全部在一行中)
@reboot cd /opt/redmine/redmine-0.8.6 ; rm -f log/mongrel.pid ; mongrel_rails start -e production -p 3000 -d

備份

1. 定期備份始終是一個好習慣。Redmine 備份應該包含:
  • 資料(儲存在您的 Redmine 資料庫中)
    /usr/bin/mysqldump -u -p | gzip > /path/to/redmine/backup/db/redmine_`date +%y_%m_%d`.gz
  • 附件(儲存在 Redmine 安裝目錄的 files 資料夾中)
    rsync -a /path/to/redmine/files /path/to/redmine/backup/files

2. 或者,您可以使用 bash shell 自動執行這種類型的操作,執行以下指令:

sudo cd /opt/redmine/redmine-0.8.6
sudo mkdir backup
sudo mkdir backup/db
sudo mkdir backup/files
sudo gedit backup/runRedmineBackup.bash

使用 gedit 開啟「runRedmineBackup.bash」後,寫入以下所有指令:

#!/bin/bash
data=`date -I`
mysqldump --user=root --password="redmine" --all-databases | gzip > db/backup-$data.sql.gz
cd db
ftp -i -n << EOF
open ftpserver.example.net
user username password
bin
mput backup-$data.sql.gz
bye
EOF

然後儲存「runRedmineBackup.bash」檔案並退出到命令提示字元。建立 runRedmineBackup.bash 後,您可以新增此 bash 腳本,使其在指定的時間段內持續執行。執行以下指令:

export EDITOR=gedit
crontab -e

將「0 0 * * 0 cd /opt/redmine/redmine-0.8.6/backup ; sh runRedmineBackup.bash」指令新增到 crontab 中,以每週備份資料庫。

為了避免任何權限問題,您必須將檔案的權限更改為最大值,執行以下指令:

sudo chmod -R 777 backup
sudo chown -R redmine:redmine backup

這樣就完成了。現在,我們已經在虛擬 Ubuntu 作業系統上完全安裝了 Redmine,並且可以從網路中的任何電腦輕鬆存取它。恭喜..!

資料來源與貢獻者

  • Ümit Uzun,2009 年 11 月 6 日。
  • 以上部分內容來自 Macada 的 wiki,根據 GNU 自由文件許可證 1.2 授權。請參閱由 David 'macada' 編寫的Redmine in Ubuntu Jaunty 9.04,最後修改日期為 2010 年 2 月 8 日,存取日期為 2010 年 5 月 26 日。
  • Sam Wilson,2010 年 5 月 26 日,格式變更。
  • Allen Yeh,2010 年 9 月 8 日,在 10.04 的說明中新增了「apt-get install subversion」,否則在設定 Redmine 後會出現如下錯誤:在儲存庫中找不到該項目或版本。

其他資料來源

Mohd Shakir Zakaria 更新於 約 5 年前 · 70 個版本