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 變數來修復此問題,否則 gem、rake、bundle、passenger-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
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
或下載¶
下載頁面
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 現已安裝完成並可供使用。
好好享受吧!