一、实验环境 centos6.8 64位
所需安装包: ruby-2.3.4.tar.gz、rubygems-1.8.25.tgz、redmine-2.3.2.tar.gz
二、安装步骤
1、安装必要的软件包
yum install -y gcc
gcc-c++
make
apr-devel
apr-util-devel
zlib-devel
curl-devel
expat-devel
gettext-devel
openssl-devel
httpd
httpd-devel
mysql
mysql-server
mysql-devel
libxml2-devel
libxslt-devel
ImageMagick-devel
2、安装ruby
下载ruby包:
wget https://ruby.taobao.org/mirrors/ruby/stable/ruby-2.3.4.tar.gz
解压并编译:
tar -zxvf ruby-2.3.4.tar.gz
cd ruby-2.3.4
./configure --prefix=/usr/local/ruby
make
make install
添加环境变量:
vi /etc/profile在未尾添加下面一行:
export PATH=/usr/local/ruby/bin:$PATH
使环境变量生效
source /etc/profile
检查一下安装是否成功,ruby版本号
ruby –v
安装依赖包(注:如果用yum安装过zlib和openssl的组件就可以不用编译的)
到ruby解压的目录下编译安装
zlib:
cd /root/ruby-2.3.4/ext/zlib/
ruby extconf.rb
make
make install
openssl:
cd /root/ruby-2.3.4/ext/openssl
ruby extconf.rb
make
make install
3、安装rubygems
在安装rails之前,要先安装rubygems。rubygems是ruby的在线管理工具:
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.25.tgz
tar -xzvf rubygems-1.8.25.tgz
cd rubygems-1.8.25
ruby setup.rb
#耐心等待.......
gem -v
检查安装是否成功
4、redmine安装
wget https://ayera.dl.sourceforge.net/project/redsf/redmine-2.3.2.tar.gz
tar -xzvf redmine-2.3.2.tar.gz
mv redmine-2.3.2 /usr/local/redmine
cd /usr/local/redmine/config
cp database.yml.example database.yml
修改database.yml里面production的配置:
vi database.yml
production:
adapter:mysql2
database:redmine_default //这就是我们后面在mysql里创建的redmine_default数据库
host:localhost
username:redmine //这是我们为redmine数据库创建的用户
password:"redmine" //这是用户访问redmine数据库需要的密码
encoding: utf8
注:gem安装需要网络,且需要时间,安装的时候,耐心等待
—————————————————————————————
5、安装bundler
gem install bundler
6、 安装rdoc
gem install rdoc rdoc-data
7、 安装rails
由于国内网络原因(你懂的),导致rubygems.org存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或 bundle install 的时候半天没有响应,具体可以用 gem install rails -V 来查看执行过程。
RubyGems 镜像 - 淘宝网,这是一个完整 rubygems.org 镜像,你可以用此代替官方版本,同步频率目前为15分钟一次以保证尽量与官方服务同步。
gem sources –l //看看是什么镜像的,默认的是rubygems.org
gem sources --remove http://rubygems.org///删除原有的镜像
gem sources -a https://ruby.taobao.org///将源镜像换成淘宝的
—————————————————————————————
[root@localhostredmine]# gem sources –l //再确定只有ruby.taobao.org
*** CURRENT SOURCES ***
gem install rails //安装rails
—————————————————————————————
gem list 是你gem包里安装的插件列表
# 下面的Gemfile是在redmine这个目录下的,将Gemfile的rubygems换成淘宝的镜像源
[root@localhost redmine]# sed -i '1s/rubygems/ruby.taobao/g' Gemfile
[root@centos6 redmine]# vim Gemfile 将Gemfile的rubygems换成淘宝的镜像源
source 'https://ruby.taobao.org'
# 开始安装gem 依赖包
[root@localhostredmine]# bundle install //运行buldle install检查依赖
8、启动数据库,进入数据库
service mysqld start
mysql
创建数据库、用户
mysql> create database redmine_default character set utf8;
mysql> createuser 'redmine'@'localhost' identified by 'redmine';
mysql> grant all privileges on redmine_default.* to 'redmine'@'localhost';
mysql> flush privileges;
关联数据库,注意需要在redmine目录下运行(执行下面三条语句,初始化数据库,建立表结构,并且写入相应数据)
rake generate_secret_token
RAILS_ENV=production rake db:migrate //创建数据库
RAILS_ENV=production rake redmine:load_default_data //指明当前项目运行环境为production ,中间会提示选择语言,默认的就是(en)英文的,据说选择语言时选择英文会有更多的功能。
选择语言时选择英文会有更多的功能
★ 注:RAILS_ENV=production rake db:migrate这个命令是每次我们导入了数据或对redmine里的数据库有所变动之后要执行的,不然数据在redmine网页就无法访问到数据库里的内容,用这个命令来导入一下我们更改过数据目录,之后重启一下apahce服务就好或redmine的服务。
启动redmine(redmine目录下执行)
ruby script/rails server webrick -e production
现在就可以通过3000的端口访问redmine
如果希望Redmine作为服务运行,加上-d参数即可:ruby script/rails server webrick -e production -d
三、apache支持redmine
通过 http://ip:3000/ 这样访问 redmine 貌似很慢 , 要把 apache 与 redmine 整合效果就好很多了。不过 Apache 上面沒有 mod_rails ,我们需要安装后才能进行。方法也很简单。由于我们之前安装有 Ruby ,那麼安裝方式就是:
gem i passenger
passenger-install-apache2-module //安装apache的模块
apache模块安装好如下的提示,有模块的路径的,及回车后虚拟主机的说明
如果报passenger-install-apache2-module这条命令找不到的话,那么通过下面的命令查看执行路径:
gem environment
◢ 编辑apache的配置文件(vi /etc/httpd/conf/httpd.conf)添加下面的信息
LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/ruby/lib/ruby/gems/2.3.0/gems/passenger-5.1.8
PassengerDefaultRuby /usr/local/ruby/bin/ruby
</IfModule>
1、注释掉原有的ServerName,ServerAdmin,DocumentRoot的信息;
2、启用虚拟主机的支持,去掉NameVirtualHost *:80前面的#;
3、在配置文件的末尾加上:
<VirtualHost*:80>
ServerName www.redmine.com
DocumentRoot /usr/local/redmine/public
#ErrorLog logs/redmine_error_log
<Directory“/usr/local/redmine/public”>
Allow from all
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
9、重启Apache服务器:service httpd restart
在网页中访问http://IP就好了
参考文章:http://meiling.blog.51cto.com/6220221/1328974