前言
redmine(http://www.redmine.org/)是一款項目管理軟件,由ruby編寫,以網頁的形式呈現。正好公司需要單獨搭建一套這個系統,與其說是搭建,更應該說是升級。
任務:①在阿里雲服務器上搭建redmine系統,我用的最新版redmine 2.1.4
②導入之前同事用redmine1.2.0搭建的數據,使用的是MySQL數據庫。
安裝
Step 1 - Redmine application
首先是軟件的下載地址:redmine 2.1.4、ruby 1.8.7、rubygems 1.8.24
redmine: http://rubyforge.org/frs/?group_id=1850 rubygems: http://rubyforge.org/frs/?group_id=126&release_id=46730 ruby: ftp://ftp.ruby-lang.org/pub/ruby/1.8/
需要安裝的軟件包
ruby-1.8.7.tar.gz ruby-libs-1.8.5 #(or later version) ruby的依賴包,雖然ruby版本版本是1.8.7,但是經過我的測試這個可以用1.8.5的,可以用yum安裝,命令yum install ruby-libs。 rubygems-1.8.24.tgz redmine-2.1.4.tar.gz
安裝Ruby、RubyGems
tar zxf ruby-1.8.7.tar.gz cd ruby-1.8.7 ./configure --prefix=/usr/local/ruby
tar xf rubygems-1.8.24.tgz cd rubygems-1.8.24 ruby setup.rb
加入ruby環境變量(這里有個疑惑是應該加在/root/.bash_profile里還是/etc/bashrc里)
vim /root/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/ruby/bin source /root/.bash_profile
安裝redmine
tar zxf redmine-2.1.4.tar.gz chown -R apache.apache redmine-2.1.4 cd redmine-2.1.4
Step 2 - Dependencies installation
gem install bundler #安裝bundler,好處是不需要使用gem 一個一個的安裝模塊,壞處的不能控制版本。官網http://gembundler.com/ bundle install --without development test postgresql sqlite rmagick #without就是不安裝這幾個模塊,其他都安裝。
Step 3 - Create an empty database and accompanying user
MySQL下執行(MySQL要事先安裝好,版本5.0及以上,可以直接使用yum安裝,yum install mysql mysql-server mysql-devel)
create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'redmine';#在數據庫中創建redmine用戶,密碼也是redmine grant all privileges on redmine.* to 'redmine'@'localhost';
Step 4 - Database connection configuration
cd config cp database.yml.example database.yml #配置redmine連接MySQL vim database.yml
修改為:
production: adapter: mysql database: redmine host: localhost username: redmine password: redmine encoding: utf8
保存退出
cp configuration.yml.example configuration.yml vim configuration.yml #配置郵件通知,前提是安裝好sendmail或者postfix,同樣可以用yum安裝
修改:
#default 部分
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :smtp
smtp_settings:
address: 127.0.0.1
port: 25
domain: localhost
authentication: :login
user_name: "redmine@localhost"
password: "redmine"
#production 部分
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: 127.0.0.1
port: 25
domain: localhost
Step 5 - Session store secret generation
cd .. rake generate_secret_token #生成config/initializers/secret_token.rb文件,在redmine 2.1.4中,這個文件事先是不存在的,如果事先有,刪除掉。
Step 6 - Database schema objects creation
RAILS_ENV=production rake db:migrate #初始化數據庫,創建表
Step 7 - Database default data set
RAILS_ENV=production rake redmine:load_default_data #插入缺省數據,選擇zh
Step 8 - File system permissions
mkdir tmp tmp/pdf public/plugin_assets #主要是修改文件夾權限,如果有了可以不創建,只修改權限和屬主 chown -R apache:apache files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets
Step 9 - bind with apache #跟apache整合,需要安裝httpd、httpd-devel
gem install passenger #安裝apache模塊 passenger-install-apache2-module touch /etc/httpd/conf.d/redmine.conf
在redmine.conf中寫入內容(這個根據實際情況復制,passenger-install-apache2-module命令執行成功會有提示)
LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.18 PassengerRuby /usr/local/ruby/bin/ruby
Listen 3000
<VirtualHost *:3000>
ServerName server.example.com #換成你自己的主機名
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /opt/redmine-2.1.4/public
<Directory /opt/redmine-2.1.4/public >
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>
啟動apache
/etc/init.d/httpd restart #啟動apache,這樣redmine也就啟動了
Step 10 - Finish !Visit the URL
http://server.example.com:3000/
備注,下面的命令可能是以后備份數據庫和更行redmine的插件數據庫需要的:
導出mysql數據庫內容
mysqldump -uroot -ppassword redmine --lock-all-tables >redmine.sql
導入數據庫內容
mysql -uroot -ppassword redmine <redmine.sql
更新redmine數據庫
rake generate_secret_token rake db:migrate RAILS_ENV=production rake redmine:plugins:migrate RAILS_ENV=production
常見問題:
①解決redmine中導出項目問題時候報錯。如下
Error with the Atom/PDF/CSV export function
I have find the problem:
Array(Mime[parameters[:format]])
the Array() method is not working, which require method: to_ary
solution:
1. actionpack (3.2.6) lib/action_dispatch/http/mime_negotiation.rb:55
change from Array(Mime[parameters[:format]])
to Array.wrap(Mime[parameters[:format]])
②插件安裝
在官網上下載相關插件,將redmine插件解壓,整個目錄復制到redmine根目錄的plugins目錄下
然后執行rake redmine:plugins:migrate RAILS_ENV=production就OK了。它會在數據庫中建立相關的表。
