Redmine:是一個(gè)基于web的項(xiàng)目管理軟件,用Ruby開發(fā)的。是基于ROR框架開發(fā)的一套跨平臺(tái)項(xiàng)目管理系統(tǒng),是項(xiàng)目管理系統(tǒng)的后起之秀,據(jù)說是源于Basecamp的ror版而來,支持多種數(shù)據(jù)庫(kù),除了和DotProject的功能大致相當(dāng)外,還有不少自己獨(dú)特的功能,例如提供wiki、新聞臺(tái)、時(shí)間跟蹤、feed聚合、導(dǎo)出pdf等等,還可以集成其他版本管理系統(tǒng)和BUG跟蹤系統(tǒng),例如SVN、CVS、TD等等。配置功能強(qiáng)大而且方便,自定義屬性和更新通知也很實(shí)用。下面我們來部署redmine+svn項(xiàng)目管理系統(tǒng)(需要嚴(yán)格的按照官方的安裝文檔安裝對(duì)應(yīng)的ruby包)
環(huán)境:centos-5.5 redmine-1.2.0 subversion-1.6.17
一、下載所需要軟件包
1
2
3
4
5
|
wget ftp : //ftp .ruby-lang.org //pub/ruby/1 .8 /ruby-1 .8.7. tar .gz wget http: //production .cf.rubygems.org /rubygems/rubygems-1 .6.2.tgz wget http: //rubyforge .org /frs/download .php /74944/redmine-1 .2.0. tar .gz wget http: //subversion .tigris.org /downloads/subversion-1 .6.17. tar .gz wget http: //subversion .tigris.org /downloads/subversion-deps-1 .6.17. tar .gz |
二、先配置LNMP環(huán)境
參考:CentOS 5.5下安裝mysql5.1.57+php5.2.17(FastCGI)+nginx1.0.1高性能Web服務(wù)器
三、redmine安裝(對(duì)各軟件包版本要求非常嚴(yán)格,必須對(duì)應(yīng)相應(yīng)版本,否則會(huì)出現(xiàn)不可預(yù)知的錯(cuò)誤)
1、ruby安裝:
1
2
3
4
5
|
tar zxvf ruby-1.8.7. tar .gz cd ruby-1.8.7 . /configure --prefix= /usr/local/ruby make && make install cd .. |
修改~/.bash_profile,將ruby目錄加入root環(huán)境變量
或者
1
|
echo "export PATH=$PATH:/usr/local/ruby/bin/" >> /etc/profile |
2、rubygems 安裝
安裝rubygems ,注意一定要是1.7.0以下的版本,不然無法正常啟動(dòng)使用redmine。我就是因?yàn)榭戳艘粋€(gè)他人寫得中文文檔,安裝了1.7.0版本,所以redmine一直無法正常工作,為此走了一大圈彎路。最后在官方文檔上才找到問題所在。下面是官網(wǎng)上的一些對(duì)版本要求的描述。
RubyGems 1.3.7 or higher is required with following limitations :
Rails 2.3.5 will fail with RubyGems 1.5.0 or later, stick to previous versions of RubyGems !
Rails 2.3.11 will fail with RubyGems 1.7.0 or later, stick to previous versions of RubyGems !
Rake 0.8.7 is required (rake 0.9.x is not supported by Rails yet)
Rack 1.1.x is required, 1.1.0 has a bug with quotes (#8416). Database migration would fail with other version.
Mongrel 1.1.5 needs a patch attached to #7688 to work fine with Rails 2.3.11. In case of upgrade, another issue may appear for some time after migration (#7857).
I18n 0.4.2 is required for Redmine >= 1.0.5
1
2
3
4
|
tar zxvf rubygems-1.6.2.tgz cd rubygems-1.6.2 ruby setup.rb cd .. |
3、安裝rails rack i18n mysql passenger
1
2
3
4
5
6
|
gem install rails -v= 2 . 3 . 11 gem install rack -v= 1 . 1 . 1 gem install i18n -v= 0 . 4 . 2 gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/data/soft/mysql #我的mysql是編譯安裝在/data/soft/mysql目錄下的 gem install passenger gem install mongrel mongrel_cluster |
四、安裝配置redmine
1、解壓redmine
1
2
3
|
tar zxvf redmine-1.2.0. tar .gz mv redmine-1.2.0 /data/www/redmine chown -R www. /data/www/redmine |
2、建立數(shù)據(jù)庫(kù)
1
2
3
4
|
/data/soft/mysql/bin/mysql -uroot -p mysql> createdatabase redmine characterset utf8; mysql> grantallon redmine.* to 'redmine' @ 'localhost' identified by 'redmine' ; mysql> flush privileges; |
3、修改redmine mysql數(shù)據(jù)庫(kù)配置.
1
2
3
4
5
6
7
8
9
10
|
cd /data/www/redmine/config cp database.yml.example database.yml vi database.yml production: adapter: mysql database: redmine host: localhost username: redmine password: redmine encoding: utf8 |
注意:冒號(hào)后面有一空格。。。
4、創(chuàng)建運(yùn)行數(shù)據(jù)庫(kù):
生成會(huì)話存儲(chǔ)密鑰:
1
2
|
cd /data/www/redmine rake generate_session_store |
然后開始創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu),在redmine的根目錄下運(yùn)行:
1
|
RAILS_ENV=production rake db:migrate |
讀取默認(rèn)配置數(shù)據(jù),當(dāng)遇到選擇語(yǔ)言(Select language)時(shí),選擇zh:
1
|
RAILS_ENV=production rake redmine:load_default_data |
5、配置mongrel_cluster
1
2
|
cd /data/www/redmine mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 3 |
6、啟用mongrel_cluster
1
2
|
cd /data/www/redmine mongrel_rails cluster::start |
啟動(dòng)如果出錯(cuò)如下:
!!! Path to pid file not valid: tmp/pids/mongrel.8000.pid
mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.
starting port 8001
!!! Path to pid file not valid: tmp/pids/mongrel.8001.pid
mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.
starting port 8002
!!! Path to pid file not valid: tmp/pids/mongrel.8002.pid
mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.
創(chuàng)建/data/www/redmine/tmp/pids目錄即可
1
|
mkdir -p /data/www/redmine/tmp/pids |
啟動(dòng)成功如下:
1
2
3
4
|
[root@CentOS5 redmine] # mongrel_rails cluster::start starting port 8000 starting port 8001 starting port 8002 |
7、配置nginx
upstream mongrel
{
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
server
{
listen 80;
server_name 192.168.8.32;
root /data/www/redmine;
index index.html index.htm;
location /
{
proxy_pass http://mongrel;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
五: 訪問redmine測(cè)試:
http://192.168.8.32
直接用ruby內(nèi)置webrick也可啟動(dòng)redmine
1
|
/usr/local/ruby/bin/ruby /data/www/redmine/script/server webrick -e production & |
啟動(dòng)成功如下:
1
2
3
4
5
6
7
8
9
|
[root@CentOS5 redmine] # /usr/local/ruby/bin/ruby /data/www/redmine/script/server webrick -e production & [1] 3526 [root@CentOS5 redmine] # => Booting WEBrick => Rails 2.3.11 application starting on http: //0 .0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-06-2409:30:47] INFO WEBrick 1.3.1 [2011-06-2409:30:47] INFO ruby 1.8.7 (2008-05-31) [i686-linux] [2011-06-2409:30:47] INFO WEBrick::HTTPServer #start: pid=3526 port=3000 |
訪問redmine測(cè)試: http://192.168.8.32:3000
六、配置SVN服務(wù)器
七、在redmine中配置svn
進(jìn)入Redmine目錄下Config,有文件“configuration.yml.example”,復(fù)制該文件重命名“configuration.yml”,修改其中的SVN配置
注意:這里需要在環(huán)境變量PATH中添加svn所在的目錄
再重啟服務(wù)器,配置SCM
新建項(xiàng)目test,配置版本庫(kù) SCM-->選擇Subversion
URL-->填寫svn://192.168.8.32/test(根據(jù)自己svn配置自行修改)
登錄名-->test(根據(jù)自己svn配置自行修改)
密碼-->test(根據(jù)自己svn配置自行修改)
保存即可