1.CentOS 6.5下安装基本的软件环境

yum -y install libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA

2.安装apache和mysql,并配置redmine数据库

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install mysql-community-server httpd -y

安装完成后,service mysqld start,并进行相关数据库配置

mysql> create database redmine character set utf8; 

Query OK, 1 row affected (0.00 sec)  

mysql> create user 'redmine'@'localhost' identified by 'redmine'; 

Query OK, 0 rows affected (0.00 sec)  

mysql> grant all privileges on redmine.* to 'redmine'@'localhost'; 

Query OK, 0 rows affected (0.00 sec)  

mysql> flush privileges;      

Query OK, 0 rows affected (0.00 sec)

3.iptables设置

如果服务器开了防火墙,我们需要进行相关设置(练习时可以关闭防火墙)

/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

4.安装php环境

yum -y install php php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-soap


5.安装ruby环境

\curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh

[root@usvr-126 ~]# source /etc/profile.d/rvm.sh
[root@usvr-126 ~]# rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p643]
[ruby-]2.1.4
[ruby-]2.1[.5]
[ruby-]2.2[.1]
[ruby-]2.2-head

2.6版本需要ruby 支持的版本,在这我们选择1.9.3 稳定版 

rvm install 2.2.2

[root@usvr-126 ~]# ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]

6.安装rubygems 

yum -y install rubygems

7.安装redmine的apache支持,这样可以通过apache访问

gem install passenger
passenger-install-apache2-module

命令执行完后按照提示进行配置http:

vim /etc/httpd/conf.d/passenger.conf

LoadModule passenger_module /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so

   <IfModule mod_passenger.c>

     PassengerRoot /usr/local/rvm/gems/ruby-2.2.2-p95/gems/passenger-5.0.30

     PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.2.2-p95/wrappers/ruby

   </IfModule>


8.安装redmine

wget http://www.redmine.org/releases/redmine-2.6.3.tar.gz
tar -zxvf redmine-2.6.3.tar.gz
mv redmine-2.6.3 /data

安装完毕后,我们需要在httpd的redmine.conf中进行修改:

vim /etc/httpd/conf.d/redmine.conf

<VirtualHost *:80>

      ServerName 192.168.0.42

      # !!! Be sure to point DocumentRoot to 'public'!

      DocumentRoot /data/redmine-2.6.3/public

  ErrorLog logs/redmine_error_log

      <Directory /data/redmine-2.6.3/public>

#<span style="white-space:pre"> </span> Options Indexes ExecCGI FollowSymLinks

        Order allow,deny

        Allow from all

        # This relaxes Apache security settings.

        AllowOverride all

        # MultiViews must be turned off.

        Options -MultiViews

        # Uncomment this if you're on Apache >= 2.4:

        #Require all granted

      </Directory>

  </VirtualHost>

~                      

重启   service httpd restart   

 

cd /data/redmine-2.6.3/public

cp database.yml.example database.yml

vim database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine"
  encoding: utf8                    


10.安装rails,安装过程中会出现很多问题,我们来一一解决吧。 

cd /data/redmine-2.6.3

gem install bundler

bundle install 

An error occurred while installing mysql2 (0.3.18), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.18'` succeeds before bundling.

执行gem install mysql2 -v '0.3.18'报错:

checking for mysql.h... no
checking for mysql/mysql.h... no
-----
mysql.h is missing

我们执行yum install mysql-devel后成功安装,接着bundle install 

rake generate_secret_token

初始化redmine数据库表名

RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

11.修改fastcgi‘

cd /data/redmine-2.6.3/public
mkdir plugin_assets
cp dispatch.fcgi.example dispatch.fcgi
cp htaccess.fcgi.example .htaccess

12.安装mod_fcgi

rpm --import https://Fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum -y install mod_fcgid

13.创建文件目录

mkdir -p /data/redmine-2.6.3/files
cd /data/redmine-2.6.3/config
cp configuration.yml.example configuration.yml

由于我们的files目录在redmine根目录下,因此configuration不用配置了,如果files目录在其他地方,我们需要 

vim configuration.yml
p_w_uploads_storage_path: /var/redmine/files

14.最后启动redmine

cd /data/redmine-2
chown -R apache:apache redmine-2.6.3
chmod -R 755 redmine-2.6.3
service httpd restart

http://ip      默认的用户名和密码都为admin

另外若apache访问不了,我们可以先用redmine自己的启动方式启动,然后ip:3000端口进行访问,如果访问成功,则redmine配置没问题,可能是apache的配置问题或漏改配置了

下面是redmine的启动方式,

[root@usvr-126 redmine-2.6.3]# cd /data/redmine-2.6.3  
[root@usvr-126 redmine-2.6.3]# ruby script/rails server webrick -e production
=> Booting WEBrick
=> Rails 3.2.21 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2015-03-28 01:09:30] INFO  WEBrick 1.3.1
[2015-03-28 01:09:30] INFO  ruby 1.9.3 (2014-11-13) [x86_64-linux]
[2015-03-28 01:09:30] INFO  WEBrick::HTTPServer#start: pid=14577 port=3000