最近学习应用Debian的同时,突然想到以前用到的一款用Rails开发的Bug跟踪的开源软件Redmine。当时应用的时候还是0.9.x,到网上一查,发现已经更新到1.2.3。突然心血来潮想把它部署在Debian6上面,也借此机会熟悉一下Debian(Linux应用菜鸟)。
安装的过程中走了不少的弯路,总结了一些经验与教训写出来与大家分享。在我们安装之前还是请大家明确Redmine1.1.x的运行环境,请大家参照以下网址:http://www.redmine.org/projects/redmine/wiki/RedmineInstall。看完之后那些想把Redmine1.1.x,部署在Ruby1.9.x和Rails3环境的读者就不要往下看了。因为笔者没能够部署成功。非常抱歉,有一些问题没能解决。特别提醒一下,虽然该页面也提到可以安装在Mysql5.1或者更高的版本上,且笔者也被Mysql5.5要比5.1性能快10倍-50倍的描述所打动。经过实验在Mysql5.5上部署并没有成功。经过我的总结,个人认为,是mysql-2.8.1.gem与Mysql5.5不兼容(如不那位高人知道如何解决还望留言指点一下)。目前,mysql.gem的最高版本是2.8.1。笔者部署Redmine的环境是Ruby1.8.7+Rails2.3.5,需要mysql-2.8.1.gem才能连接Mysql的DB执行rake,将DB升级至5.5时就会报告Load mysql 失败!(郁闷)
好了开始说明我的安装步骤:(注意:所有安装步骤都是在系统管理员的权限下执行的!我会在需要的步骤后面给出执行命令。)
1.Debian6安装。具体的安装步骤在这里不详细描述了,我用DVD安装的6.0.1a-amd64。安装过程中请保证DVD光盘在光驱中且被加载。
2.准备工作:执行升级 。
shell> sudo apt-get update
shell> sudo apt-get upgrade。
3.安装build-essentia安装包 包含make和gcc,用来编译ruby源代码。
shell> sudo apt-get install build-essential
4.安装Debian6自带Mysql-5.1.49-3。
shell> sudo apt-get install mysql-server mysql-client(安装过程中需要输入管理员密码并确认)
5.编译安装ruby。进入Ruby源码所在目录,先将压缩包解压缩。
shell> tar zxvf ruby-1.8.7-p72.tar.gz
之后进入解压缩后的目录
shell> cd ruby-1.8.7-p72
开始安装Ruby:
shell> sudo ./configure --prefix=/usr/local/ruby --enable-install-doc
shell> sudo make
shell> sudo make install
安装ruby完成!(注意:安装的目录是/usr/local/ruby,这个路径大家可以自己去调整)。
6.ruby加入系统PATH(etc/profile)
shell> vi /etc/profile
在语句 export PATH 上面追加一行,如下:
PATH=$PATH:/usr/local/ruby/bin
※重新启动或手动将PATH导入到当前运行系统中
※测试:ruby -v
7.开始安装Rubygem。进入Rubygem源码所在的目录,先将压缩包解压缩。
shell> tar xvf rubygems-1.3.5.tgz
之后进入解压缩后的目录
shell> cd rubygems-1.3.5
开始安装Rubygem:
shell> ruby setup.rb(注意:Rubygem的版本是1.5以上时安装Redmine会有问题)
8.安装zlib(gem install时需要)
shell> sudo apt-get install zlib1g-dev
进入解压缩后的ruby源码目录
shell> cd RUBY_SOURCE/ext/zlib
shell> ruby ./extconf.rb
shell> sudo make
shell> sudo make install
9. 手动安装rails-2.3.5
离线安装的gem列表如下:(先后顺序)
shell> gem install rake-0.8.7.gem
shell> gem install activesupport-2.3.5.gem
shell> gem install activerecord-2.3.5.gem
shell> gem install rack-1.0.1.gem
shell> gem install actionpack-2.3.5.gem
shell> gem install actionmailer-2.3.5.gem
shell> gem install activeresource-2.3.5.gem
shell> gem install rails-2.3.5.gem
测试:rails -v
自动安装:shell> gem install rails -v=2.3.5
10. 安装i18n(国际化)
shell> gem install i18n-0.4.2.gem
(注意:如果是离线安装可以去网上下载一个)
11.安装libssl-dev,安装ruby openssl需要。
shell> sudo apt-get install libssl-dev
12.安装ruby openssl(db:migrate时需要)
shell> cd RUBY_SOURCE/ext/openssl
shell> ruby extconf.rb
shell> sudo make
shell> sudo make install
13.安装MySQL驱动
安装此驱动时要确保三个包已安装(libmysql-ruby1.8,libmysqlclient16-dev,ruby1.8-dev)
因为ruby版本更新后,可能安装的包或者版本就不一样,建议先去Google按照自己的ruby版本查看包的名字,其他两个也一样的方法安装3个包安装后,就可以安装Mysql驱动了。
shell> sudo gem install mysql
我这里用了另外一种方式:
安装MySQL连接组件(libmysql15-dev),debian没有该软件包只好安装libmysqlclient-dev.deb来代替
shell> sudo dpkg -i libmysqlclient-dev_5.1.49-3_amd64.deb
shell> gem install rdoc-2.5.11.gem
shell> gem install mysql-2.8.1.gem
(注意:安装Mysql gem之前要求先安装 rdoc)
14.创建数据库redmine
shell> mysql -uroot -pYourPassword
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'YourPassword';
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
15.解压缩redmine代码
shell> tar zxvf redmine-1.1.2 -C /usr/local/redmin
(注意:这里redmine的安装了路径是/usr/local/redmine,可以自己调整)
※11.配置redmine的database.yml文件
shell> cd /usr/local/redmin/redmine-1.1.3/config
shell> cp database.yml.example database.yml
shell> vi database.yml
...
production:
adapter: mysql
database: redmine
host: 127.0.0.1
username: root
password: root
encoding: utf8
#socket: /var/lib/mysql/mysql.sock
...
16.生成session密钥,进入Redmine/config目录执行数据迁移并载入Redmine默认配置
shell> rake generate_session_store
shell> rake db:migrate RAILS_ENV="production"
shell> rake redmine:load_default_data RAILS_ENV="production"
17.shell> ruby script/server webrick -e production 启动服务器,
输入localhost:3000 可以正常访问了.
※注意:安装所需要的一些文件文章中并没有提供下载地址,请大家去Google查找下载。