一、安装ruby
下载ruby-1.8.7
http://www.ruby-lang.org/en/downloads
#tar xzvf ruby-1.8.7.tar.gz
#cd ruby-1.8.7
#./configure --prefix=/usr/local/ruby
#make && make install
设置环境变量 vim /etc/profile
export PATH=/usr/local/ruby/bin:$PATH
二、安装rubygems
如果系统中已经存在rubygems,可以通过如下方法卸载:
#ruby -e 'puts $:'//查找rubygems安装目录
#cd /usr/local/ruby/lib/ruby/site_ruby/1.8/
#rm -rf ubygems.rb rubygems rubygems.rb
#which gem gem1.8//查找gem包的安装目录
#rm -rf /usr/local/ruby/bin/gem
下载rubygems-1.6.0
https://rubyforge.org/frs/?group_id=126&release_id=46730
#tar zxvf rubygems-1.6.0.tgz
#cd rubygems-1.6.0
#ruby setup.rb
#gem -v//查看版本
注意:开始时把rubygems更新到最新版本1.6.2了,最后用rake创建表时失败,郁闷。
安装完rubygems后注意修改更新站点,否则有的包可能无法正常安装。
#gem source -r http://gems.rubyforge.org 删除以前的更新站点
#gem source -a http://rubygems.org 添加现在的更新站点
三、安装rails
#gem install rails -v=2.3.11
四、安装i18n
#gem install i18n -v=0.4.2
Fetching:i18n-0.4.2.gem (100%)
Successfully installed i18n-0.4.2
1 gem installed
Installing ri documentation for i18n-0.4.2...
Installing RDoc documentation for i18n-0.4.2...
五、安装ruby-mysql
#gem install ruby-MysqL
Successfully installed ruby-MysqL-2.9.4
1 gem installed
Installing ri documentation for ruby-MysqL-2.9.4...
Installing RDoc documentation for ruby-MysqL-2.9.4...
六、补充 MysqL的安装:
# groupadd MysqL
下载MysqL源码 http://www.MysqL.com/downloads/MysqL
#cd MysqL-5.0.22
#./configure --prefix=/usr/local/MysqL
--datadir=/mydata //数据库存放目录
--with-charset=utf8 //使用UTF8格式
--with-extra-charsets=complex //安装所有的扩展字符集
--enable-thread-safe-client //启用客户端安全线程
--with-big-tables //启用大表
--with-ssl //使用SSL加密
--with-embedded-server //编译成embedded MysqL library (libMysqLd.a )
--enable-local-infile //允许从本地导入数据
--enable-assembler //汇编x86的普通操作符,可以提高性能
--with-plugins=innobase //数据库插件
--with-plugins=partition //分表功能,将一个大表分割成多个小表
#make && make install
#chown -R MysqL:MysqL /usr/local/MysqL
#cp MysqL-5.0.22/support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/MysqL
#bin/MysqL_install_db --user=MysqL
#chown -R MysqL:MysqL /usr/local/MysqL/var/ //把初始化的数据库目录给MysqL所有者
#/usr/local/MysqL/bin/MysqLd_safe --user=MysqL & //启动MysqL
配置开机自动启动
#cp MysqL-5.0.22/support-files/MysqL.server /etc/init.d/MysqLd
#chmod 755 /etc/init.d/MysqLd
#service MysqLd restart
补充 MysqL的配置:
配置my.cnf
配置主要把安装的目录的那几项打开就行.
改动如下:
[client]
#password = your_password
port = 3306
# The MysqL server
[MysqLd]
port = 3306
打开下面几项
innodb_data_home_dir = /usr/local/MysqL/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/MysqL/var/
innodb_log_arch_dir = /usr/local/MysqL/var/
七、安装redmine
http://rubyforge.org/frs/?group_id=1850
注意redmine的版本,此处是以1.2.1为例子的
具体版本信息要求请看http://www.redmine.org/projects/redmine/wiki/RedmineInstall?version=146
下载redmine-1.2.1
解压放到/usr/local/redmine下
#cp database.yml.example database.yml
production:
adapter: MysqL
database:redmine
host: localhost
password: "123456" //数据库访问密码
encoding: utf8
使用rake创建表
# rake db:migrate RAILS_ENV="production"
a.报错:uninitialized constant ActiveSupport::Dependencies::Mutex
解决方法:rails和rubygems版本不匹配,rubygems降到1.3.5试试
b.报错:A key is required to write a cookie containing the session data. Use config.action_controller.session = {:key=>"_myapp_session", :secret=> "some secret phrase" } in config/environment.rb
解决方法:rake config/initializers/session_store.rb
c.报错: No such file or directory - /tmp/MysqL.sock
解决方法: 由于之前在MysqL配置时my.cnf配置了socket导致
vim config/database.yml
在production栏目最后一行添加 socket: /tmp/MysqL3306.sock
注意: socket的“:"后面必须有个空格,再接"/tmp/MysqL3306.sock"
d.报错:
!!! The bundled MysqL.rb driver has been removed from Rails 2.2. Please install the MysqL gem and try again: gem install MysqL.
rake aborted!
需要安装MysqL适配器。gem install MysqL
e.报错:
Access denied for user 'MysqL'@'localhost' (using password: YES)
解决办法:
Welcome to the MysqL monitor. Commands end with ; or \g.
Your MysqL connection id is 2
Server version: 5.0.22-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
MysqL>grant all privileges on *.* to 'MysqL'@'localhost' identified by 'MysqL' with grant option;
MysqL>flush privileges;
MysqL>exit;
f.报错:UnkNown database 'redmine'
MysqL>create database redmine;
加载默认配置
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] zh
这个默认设置只是在未登录时的界面语言,当用户登录后,默认语言还是英语,在My account里可以修改成其它语言。
启动WEB服务
# ruby script/server webrick -e production
或# ruby /usr/local/redmine/redmine-1.0/script/server webrick -e production
更换web服务器
redmine自带的webrick太慢,特别是局域网,据说是需要解析目标地址的主机名,直接给ip不用,硬要绕一圈。
使用网上推荐的 mongrel
# gem install mongrel
# ruby /usr/local/redmine/script/server mongrel -e production
本机IP为192.9.100.106,至此在本机使用http://192.9.100.106:3000 或 http://127.0.0.1:3000均能访问,但局域网其他机器仍然无法访问。
原因:redhat防火墙屏蔽了端口3000
解决办法: 配置防火墙,开放宽口3000
# /sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
# /etc/rc.d/init.d/iptables save
# service iptables restart
至此,redmine安装完成。
进入config目录下
cp configuration.yml.example configuration.yml
然后修改信息如下:
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :async_smtp
smtp_settings:
#tls: true
address: smtp.XXX.com
port: 25
domain: XXX.com
authentication: :login
user_name: "XXX@XXX.com"
password: "XXX"