專案

一般

設定檔

動作

Redmine 在 CentOS 上的安裝指南

這適用於 CentOS 5 和 6 版本,並說明如何設定 Redmine 1.3.2。

假設

  • Apache 已啟動並正在執行
  • Apache 之前已使用過且運作良好
  • MySQL 已啟動並正在執行
  • MySQL 之前已使用過且運作良好
  • 您是以 root 身分登入
  • 後續步驟會依序完成,且不會出現錯誤
  • 如果您知道自己在做什麼,當然可以使用 vi/vim 作為您選擇的編輯器,而不是 nano。 ;)

安裝預先相依套件

yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel

安裝 Ruby(選項 1)

*#* 之後的內容為註解,輸入這些內容沒有用處 ;)

cd ~/Downloads  # YOUR FOLDER OF CHOICE
ftp ftp.ruby-lang.org

FTP 連線

ftp> Anonymous  # USERLOGIN
ftp> 'none', just hit Enter  # NO PASSWORD
ftp> cd /pub/ruby
ftp> get ruby-1.8.7.pXXX.tar.gz  # XXX is currently 358, as of 03/2012
ftp> bye

解壓縮

tar zxvf ruby-1.8.7.pXXX.tar.gz

安裝

cd ruby-1.8.7.pXXX
./configure
make
make install

檢查安裝

如果這不起作用,可能是因為在 /usr/bin 中找不到 ruby。

ruby -v

如果有效,請直接跳到「RubyGems 1.4.2」。

修復相依套件

(僅在 *ruby -v* **無法** 運作的情況下)

which ruby  # TO CHECK WHERE IT SHOULD BE
whereis ruby  # TO CHECK WHERE IT IS INSTALLED

*which* 會傳回 /usr/bin/ 以及其他目錄(預期 Ruby 所在的位置),而 *whereis* 會傳回 /usr/local/bin/ruby(這是 Ruby 實際所在的位置)。

透過將 /usr/local/bin 加入 $PATH 來修復

(如果您不喜歡 nano,請使用您選擇的編輯器。)

nano /etc/profile

使包含 pathmunge 的區塊看起來像這樣

#Path manupulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
    pathmunge /usr/local/bin  # ADDED THIS
else
    pathmunge /usr/local/bin after  # ADDED THIS
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
    pathmunge /sbin
fi

或將此添加到檔案末尾

nano /etc/profile
export PATH="$PATH:/usr/local/bin"

這會為 root 以外的所有使用者設定 PATH。對於此設定,您也需要更改 root 的 PATH

nano ~/.bashrc
export PATH="$PATH:/usr/local/bin"

登出您的使用者並重新登入,以使變更生效。

透過建立符號連結來修復

不建議這樣做,因為如果 ruby 依賴項損壞,其他依賴項之後也可能會損壞。請透過如前所述將資料夾添加到 $PATH 變數來修復此問題,否則 gemrakebundlepassenger-install-apache2-module 也將無法正常運作... 您之後也必須為它們建立符號連結。
符號連結的建立方式如下

ln -s /usr/local/bin/ruby /usr/bin/ruby

驗證 ruby 是否正常運作

which ruby  # MUST RETURN PATH TO RUBY
ruby -v  # MUST RETURN RUBY VERSION
cd ..

現在應該可以正常運作了。更改 $PATH 變數後,您是否已使用目前的使用者登出並重新登入?
如果這無法正常運作,則之後的其他操作也將無法正常運作。

安裝 Ruby(選項 2)

使用 RMV 安裝 Ruby 以取得最新版本的 ruby

$ \curl -L https://get.rvm.io | bash -s stable --ruby

或者,如果您需要舊版本,請安裝特定版本的 Ruby(例如 1.9.2)

rvm install 1.9.2
Installing Ruby from source to: /Users/user/.rvm/rubies/ruby-1.9.2-p180, this may take a while depending on your cpu(s)...

ruby-1.9.2-p180 - #fetching
ruby-1.9.2-p180 - #downloading ruby-1.9.2-p180, this may take a while depending on your connection...
...
ruby-1.9.2-p180 - #extracting ruby-1.9.2-p180 to /Users/user/.rvm/src/ruby-1.9.2-p180
ruby-1.9.2-p180 - #extracted to /Users/user/.rvm/src/ruby-1.9.2-p180
ruby-1.9.2-p180 - #configuring
ruby-1.9.2-p180 - #compiling
ruby-1.9.2-p180 - #installing

使用新安裝的 Ruby

$ rvm use 1.9.2
Using /Users/user/.rvm/gems/ruby-1.9.2-p180

檢查是否已正確安裝

user$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [i386-darwin9.8.0]

user$ which ruby
Using /Users/user/.rvm/gems/ruby-1.9.2-p180/bin/ruby

RubyGems 1.4.2

不適用於 Gems 1.5!

下載

wget http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz

解壓縮

tar zxvf rubygems-1.4.2.tgz

設定

cd rubygems-1.4.2
ruby setup.rb

檢查安裝

gem -v

是否正常運作?

... 否則,原因與之前的 ruby 問題相同...

Passenger

一般安裝方法

需要 C++ 編譯器才能完成。
注意:在某些類似 CentOS 的 Linux 發行版(RHEL、Amazon Linux)中,C++ 編譯器並非 GCC 編譯器套件的一部分。在這種情況下,可以使用以下命令安裝它

yum install gcc-c++

gem install passenger
passenger-install-apache2-module

安裝過程是互動式的,系統會告訴您該怎麼做。如何安裝缺少的依賴項都有詳細說明。請仔細閱讀!

替代安裝方法

從以下位置安裝 Apache 的 mod_passenger RPM

http://passenger.stealthymonkeys.com/

RHEL/CentOS 5

rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
yum install mod_passenger

RHEL/CentOS 6

rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
yum install mod_passenger

重新啟動 Apache

service httpd restart

安裝 Redmine

從 SVN 結帳(建議)

$ cd /var/www
$ svn co http://svn.redmine.org/redmine/branches/x.x-stable redmine

或下載

下載頁面

http://rubyforge.org/frs/?group_id=1850

wget http://rubyforge.org/frs/download.php/75910/redmine-1.3.2.tar.gz # GET LATEST VERSION ON RUBYFORGE

解壓縮

tar zxvf redmine-1.3.2.tar.gz

將資料夾複製到其 HTTP 文件根目錄資料夾

mkdir /var/www/redmine
cp -av redmine-1.3.2/* /var/www/redmine

將 Redmine 連結到資料庫

安裝 MySQL 資料庫伺服器

yum install mysql-server
chkconfig mysqld on
service mysqld start
/usr/bin/mysql_secure_installation

建立要與 Redmine 搭配使用的 MySQL 資料庫

啟動 mysql 用戶端

mysql -u root -p

歡迎訊息中會顯示您擁有的版本。
在 mysql 控制台中輸入以下命令:(不要重複提示 ;) )
mysql> create database redmine character set utf8;

最新版 MySQL

mysql> create user 'redmine'@'localhost' identified by 'my_password';
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
mysql> \q

適用於 5.0.2 之前的 MySQL 版本

跳過「建立使用者」步驟,改為執行以下操作

mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';
mysql> \q

現在已經建立了資料庫和一個要與之搭配使用的用戶。該用戶也擁有對已建立資料庫的操作權限。

設定 database.yml

您必須在設定檔中輸入 森田麻美 的組合 (redmine:my_password),這樣 Redmine 才能與資料庫 (redmine) 進行通訊。

cd /var/www/redmine/config
cp database.yml.example database.yml
nano database.yml

將其更改為如下所示

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

其他項目並不重要,因為我們只會使用生產環境。但如果您需要開發或測試環境,請記得建立額外的資料庫。不要對生產、測試或開發環境使用相同的資料庫!

Rails 設定

使用 Bundler 進行依賴管理

如需更多資訊,請前往 Bundler 網站

安裝

gem install bundler

或者,如果您遇到問題,請嘗試
gem install bundler --verbose
  • 錯誤:/usr/local/bin/ruby:符號查詢錯誤:/usr/local/lib/ruby/site_ruby/1.8/x86_64-linux/zlib.so:未定義的符號:RB_GC_GUARD
    wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
    tar xvzf ruby-zlib-0.6.0.tar.gz
    cd ruby-zlib-0.6.0
    ruby extconf.rb && make && make install
    

建立 Gemfile

nano /var/www/redmine/Gemfile

註冊 Gems

將以下內容放入您剛才開啟的檔案中

# file: /var/www/redmine/Gemfile
source "http://rubygems.org" 
gem "rake", "0.8.3" 
gem "rack", "1.1.0" 
gem "i18n", "0.4.2" 
gem "rubytree", "0.5.2", :require => "tree" 
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
gem "mysql" 
gem "coderay", "~>0.9.7"

儲存並退出編輯器。

安裝提供的依賴項

cd /var/www/redmine
bundle install

將環境設定為「生產環境」

Rails 具有環境的概念,用於表示應用程式生命週期的各個階段:預設為測試、開發和生產。
使用 RAILS_ENV 環境變數指定您的選擇。
生產環境的記錄訊息較少,速度也較快,您的 Redmine 不需要測試和開發環境。

nano /var/www/redmine/config/environment.rb

取消註解檔案頂部的以下行

ENV['RAILS_ENV'] ||= 'production'

產生工作階段存放區

(再次在終端機中...)

RAILS_ENV=production bundle exec rake generate_session_store

遷移資料庫模型

RAILS_ENV=production bundle exec rake db:migrate

載入預設資料(可選)

RAILS_ENV=production bundle exec rake redmine:load_default_data

按照指示操作。

重新命名 /redmine/public/ 中的傳送 CGI 檔案

cd /var/www/redmine/public
cp dispatch.cgi.example dispatch.cgi
cp dispatch.fcgi.example dispatch.fcgi
cp dispatch.rb.example dispatch.rb

Apache 設定

設定 Apache 以託管文件

更多資訊請參閱:如何設定 Apache 以執行 Redmine

編輯 .htaccess 檔案以進行 CGI 傳送設定

cd /var/www/redmine/public
cp htaccess.fcgi.example .htaccess

修正 Apache 使用者的權限

cd /var/www
chown -R apache:apache redmine
chmod -R 755 redmine

以上就是全部內容。

Redmine 現已安裝完成並可供使用。

好好享受吧!

DTTH 先生超過 11 年前 更新 · 53 個版本