一、安装ruby
下载ruby-1.8.7
http://www.ruby-lang.org/zh_cn/downloads
(wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p330.tar.gz)
#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
source /etc/profile 直接生效
二、安装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.3.7
(wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.7.tgz)
#tar zxvf rubygems-1.3.7
#cd rubygems-1.3.7
#ruby setup.rb
#gem -v //查看版本
注意:安装完rubygems后注意修改更新站点(前提要能上网),否则有的包可能无法正常安装。
#gem source -r http://gems.rubyforge.org 删除以前的更新站点
#gem source -a http://rubygems.org 添加现在的更新站点
三、安装rails
#gem install rails -v=2.5.2
四、安装i18n
#gem install i18n -v=0.4.2
五、安装ruby-mysql
#gem install ruby-mysql
补充 mysql的安装:
创建mysql用户名,用户组
# groupadd mysql
# usradd -g mysql mysql
下载mysql源码 http://download.mysql.cn/download_file/gz/5.0/mysql-5.0.22.tar.gz
#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
初始化mysql数据库
#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
#chkconfig --add mysqld
#chkconfig mysqld on
#service mysqld restart
补充 mysql的配置:
配置my.cnf
配置主要把安装的目录的那几项打开就行.
改动如下:
[client]
#password = your_password
port = 3306
socket = /tmp/mysql3306.sock
# The Mysql server
[Mysqld]
port = 3306
socket = /tmp/mysql3306.sock
把下面几项前面的#去掉
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/
注:如果mysql装好了的,直接创建数据库就可以了,查看好socket的目录和端口,以便于后面的设置成功。
六、安装redmine
下载redmine-1.3.1.tar.gz
#tar zxvf redmine-1.3.1.tar.gz
#cp redmine-1.3.1 /usr/local/redmine
#cd /usr/local/redmine/redmine-1.3.1/config
#cp database.yml.example database.yml
#vim database.yml //数据库配置文件
production:
adapter: mysql
database:redmine
host: localhost
username: root //数据库访问用户名
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.报错1:
Access denied for user 'mysql'@'localhost' (using password: YES)
解决办法:
#mysql
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>
mysql>grant all privileges on *.* to 'mysql'@'localhost' identified by 'mysql' with grant option;
mysql>flush privileges;
mysql>exit;
e.报错2:
Access denied for user 'root'@'localhost' (using password: YES)
解决办法:
service mysqld stop
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql>quit
service mysqld restart
mysql -uroot –p
Enter password:
mysql>
f.报错:Unknown database 'redmine'
解决办法:创建数据库redmine
mysql>create database redmine;
加载默认配置
# rake redmine:load_default_data RAILS_ENV="production"
这里会要求选择默认语言,选中文zh:
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.3.1/script/server webrick -e production
更换web服务器
redmine自带的webrick太慢,特别是局域网,据说是需要解析目标地址的主机名,直接给ip不用,硬要绕一圈。
使用网上推荐的 mongrel
安装mingrel
# gem install mongrel
# ruby /usr/local/redmine/redmine-1.0/script/server mongrel -e production
但这样启动有一个问题,关了启动窗口后就会关闭,很不方便,在后面加一个参数-d,
ruby /usr/local/redmine/redmine-1.0/script/server mongrel -e production -d
本机ip为192.168.11.106,至此在本机使用http://192.168.11.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安装完成。如果要开机自动启动redmine ,把ruby /usr/local/redmine/redmine-1.0/script/server mongrel -e production -d
这句生成一个sh文件,然后加入到自动启动里去就可以了。
Redmine邮件的配置
修改Redmine下文件夹config中的email.yml,信息如下:
production:
delivery_method: :smtp
smtp_settings:
address: mail.XXXXX
port: 25
domain: XXXXX.com
# authentication: :login
# user_name: [email protected]
# password: XXXXXX
development:
delivery_method: :smtp
smtp_settings:
address: mail.XXXXX
port: 25
domain: XXXXX.com
# authentication: :login
# user_name: [email protected]
# password: XXXXXX
注意用#注销掉的那三行信息,那是邮件服务器身份验证信息,但是如果你的用户已经使用了域验证,就不需要那三行信息,像我自己用的就是内部的
邮件服务器(MS Exchange),就无须身份验证的必要。如果使用的是外面邮件服务器,一般是需要的;参数设置好了,然后重启Redmine服务,在配
置中设置好发送邮件的帐号,然后测试.
七:测试
打开网站:http://192.168.11.106:3000 管理用户和密码都是:admin