對這文章發表回應
發表限制: 非會員 可以發表
又是因為工作需要,突然需要碰Redmine這套專案管理系統,但是可以動用的主機已經使用了CentOS,所以我必須在CentOS上安裝Ruby等相關Redmine所需的相關軟體。
安裝前你必須先:
- 安裝好MySQL
- MySQL可以新增資料庫並正常運作中
- 有root權限
步驟上大致有:
- 安裝Ruby
- 安裝RubyGems
- 下載Redmine
- 安裝Bundler
- 設定Redmine
在CentOS安裝Ruby
透過官方FTP下載安裝,首先先進入到你要存放的位置,然後使用anonymous帳號登入到
ftp.ruby-lang.org,並且進入到/pub/ruby資料夾中,下載版本ruby-1.8.7-p334.tar.gz。FTP登入相關指令如下:
cd ~/Downloads #先到你要擺放下載的資料夾
ftp ftp.ruby-lang.org
anonymous
cd /pub/ruby
get ruby-1.8.7-p334.tar.gz
quit
畫面如下:
解壓縮:
tar zxvf ruby-1.8.7-p334.tar.gz ruby-1.8.7-p334
設定系統組態:
cd ruby-1.8.7-p334
./configure
安裝Ruby
make
make install
安裝完成後檢查
安裝完成後,不需要重新開機即可使用以下指令檢查是否已經正常安裝,ruby -v指令可以查看目前所安裝的ruby版本,which ruby可以得知目前ruby程式在哪個資料夾中。
ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]
which ruby
/usr/local/bin/ruby
在CentOS安裝RubyGems
可以透過wget指令下載rubygems版本,由於在redmine官方網站有提到,目前redmine與rubygems 1.5不相容,所以請下載1.4.2版本即可(在寫這份文件時,最新版本為1.8.4,如要試驗最新版本,也可以到 https://rubyforge.org/projects/rubygems/ 去搜尋,在這邊以1.4.2版本為例)。
wget
http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz
下載後解壓縮及安裝
tar zxvf rubygems-1.4.2.tgz rubygems-1.4.2
cd rubygems-1.4.2
ruby setup.rb
安裝後可以執行gem -v確認目前安裝版本,以及gem安裝位置,都可正常執行代表已經安裝成功。
gem -v
1.4.2
which gem
/usr/local/bin/gem
cd ..
下載Redmine
在撰寫這份文件時,Redmine最新版本為1.1.3,如有需要最新版本,可以到
http://www.redmine.org/projects/redmine/wiki/Download 去找尋。可以透過wget方式下載最新版本。
wget http://rubyforge.org/frs/download.php/74722/redmine-1.1.3.tar.gz
解壓縮Redmine與搬移至安裝路徑
tar zxvf redmine-1.1.3.tar.gz redmine-1.1.3
由於接下來要與Apache整合,所以我將redmine安裝至apache放置網頁的位置中,以centos上面的路徑為例就是/var/www底下。建立資料夾後,就可以將解壓縮完成的redmine搬移到該資料夾中。
mkdir /var/www/redmine
cd redmine-1.1.3
mv * /var/www/redmine
在CentOS安裝Bundler與設定
gem install bundler
建立bundler所需要的Gemfile
Gemfile檔案的建立可以讓軟體在安裝時,避免軟體之間的衝突,所以會設定一些下載路徑及版本需求等。更多細節可以參考( http://gembundler.com/ )
來到要安裝Redmine的資料夾中,建立Gemfile檔案。
cd /var/www/redmine
vi Gemfile
source :rubygems
source "http://rubygems.org"
source :rubyforge
source "http://gems.rubyforge.org"
source :gemcutter
source "http://gemcutter.org"
gem "rake", "0.8.3″
gem "rack", "1.0.1″
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″
開始安裝相關Library
bundle install
這個部分執行的時間會比較久,執行完畢會有如下畫面:
如果執行出現如下的錯誤:
Building native extensions. This could take a while…
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for mysql_ssl_set()… *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
請重新安裝msyql
yum remove mysql
yum install mysql
yum install mysql-devel
yum isstall mysql-server
然後再執行bundle install
如果出現「No definition for next_result 」訊息,請安裝ri及rdoc然後再bundle install
gem install ri rdoc
你也可以單獨試著安裝gem mysql library使用以下指令,正常安裝的畫面如下:
gem install mysql — \
–with-mysql-include=/usr/include/mysql \
–with-mysql-lib=/usr/lib/mysql
建立Redmine所需資料庫
確定mysql是否已經以服務的形態啟動,如果還沒啟動,請使用
service mysqld start
啟動,並且設定mysql為開機時自動啟用。
chkconfig mysqld on
建立redmine資料庫
mysql -u root -p
create database redmine character set utf8;
exit
設定Redmine資料庫設定檔
cd /var/www/redmine/config
cp database.yml.example database.yml
產生Redmine所需的Session Store
cd /var/www/redmine
RAILS_ENV=production bundle exec rake generate_session_store
Migrate the Database models
RAILS_ENV=production bundle exec rake db:migrate
載入Redmine預設資料
RAILS_ENV=production bundle exec rake redmine:load_default_data
安裝至此你已經可以透過ruby script/server -e production查看Redmine是否安裝正常了。
ruby script/server -e production
可以從 http://127.0.0.1:3000看到目前的網站已經正常執行。(圖片中開的是8080port已經是我與apache整合之後的畫面了)
值得一提的,由於使用指令執行Ruby無法在系統開機時,就預設啟動,所以在這邊我們還必須要跟Apache做整合,使其為Apache的一個站台。不過這是下一篇所要介紹的內容了。
原文出處:在CentOS 5.6安裝Ruby及Redmine | 墨嗓的資訊筆記