[Redmine] Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。(百度百科)
[Ruby on Rails] Ruby on Rails 是一个可以使你开发,部署,维护 web 应用程序变得简单的框架。(百度百科)
1)本文没有使用apt-get和yum命令,所以对于各种linux的发行版本都适用,包括ubuntu,fedora,centos,redhat等。
2)作者在32位和64位系统下均测试成功,本文提供的方法支持32位和64位系统,有不同的地方在文中都已标明。
3)本文支持两个Redmine版本,分别是1.1.0和1.2.2,细微差别也在文中说明,请读者按照1.2资源下载表格中对应的版本进行安装,因为Redmine对于版本是敏感的,必须是特定版本,不能过高也不能过低,其他组合不保证部署成功。
4)作者在写作本文的时候Redmine已出另一个更新版本1.3.0,后续本文会作相应更新。
5)有任何问题,欢迎留言或发邮件沟通。
Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 64bit
GCC 3.4.5
MySQL 5.1.60 (http://www.mysql.com/downloads/mysql/5.1.html)
Apache httpd server 2.2.21 (http://httpd.apache.org/download.cgi)
redmine |
1.2.2 |
1.1.0 |
http://rubyforge.org/frs/?group_id=1850 |
ruby |
1.8.7 |
1.8.7 |
http://ftp.ruby-lang.org/pub/ruby/1.8/ |
rubygems |
1.6.2 |
1.3.7 |
http://rubyforge.org/frs/?group_id=126 |
rake |
0.8.7 |
0.8.7 |
|
rack |
1.1.1 |
1.0.1 |
|
rails |
2.3.11 |
2.3.5 |
zlib 1.2.5 (http://www.zlib.org/)
i18n 0.4.2
mysql-ruby 2.8.2 (http://rubyforge.org/frs/?group_id=4550)
passenger 3.0.11 (http://rubyforge.org/frs/?group_id=5873)
openssl 0.9.8k (http://www.openssl.org/source/)
Run the following commands to get some gem files:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
wget http:
//rubygems
.org
/downloads/rake-0
.8.7.gem
wget http:
//rubygems
.org
/downloads/rack-1
.1.1.gem
wget http:
//rubygems
.org
/downloads/rails-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/activesupport-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/activerecord-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/actionpack-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/actionmailer-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/activeresource-2
.3.11.gem
wget http:
//rubygems
.org
/downloads/rack-1
.0.1.gem
wget http:
//rubygems
.org
/downloads/rails-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/activesupport-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/activerecord-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/actionpack-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/actionmailer-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/activeresource-2
.3.5.gem
wget http:
//rubygems
.org
/downloads/i18n-0
.4.2.gem
|
你可以和本文附录6.3的下载文件列表进行对比。
打开用户目录下的.bashrc文件
1
|
vim ~/.bashrc
|
在.bashrc文件中添加下面两行:
1
2
|
export
CYN_USR=
"$HOME/usr"
export
CYN_DOWNLOAD=
"$HOME/download"
|
执行下面的语句使环境变量设置立即生效,而不用重启
1
|
source
~/.bashrc
|
注意!!! 你完全不必使用$CYN_USR和$CYN_DOWNLOAD,它们只是方便我后面的操作以及目录描述,强烈推荐大家使用绝对路径。在本文中,$CYN_USR表示我的程序安装目录,就像windows系统中的C:\Program Files目录一样,$CYN_DOWNLOAD是我下载安装包的保存路径。
32位还是64位??? 本文的演示是在64位linux上做的,但我也在32位机器上部署过Redmine,步骤上是一样的。唯一的不同就是MySQL的安装包不一样,有32位和64位之分,它们的下载地址是相同的。还有一些软件采用源代码安装方式,也避免了选择32位还是64位的问题。其他基于ruby的软件,因为ruby的跨平台性安装包和部署方法没有差别。
$CYN_DOWNLOAD文件列表 作者的$CYN_DOWNLOAD目录内容见本文的附录6.3。
1
2
3
4
5
6
7
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/mysql-5
.1.60-linux-x86_64-glibc23.
tar
.gz
(或者在32位系统中
tar
zxvf $CYN_DOWNLOAD
/mysql-5
.1.60-linux-i686-glibc23.
tar
.gz)
ln
-s mysql-5.1.60-linux-x86_64-glibc23 mysql
(或者在32位系统中
ln
-s mysql-5.1.60-linux-i686-glibc23 mysql)
cd
mysql
scripts
/mysql_install_db
--user=work
|
其中,work是你的linux用户名,有的文章说新建一个mysql用户组和一个mysql用户,读者可以尝试
安装后MySQL会有提示,参考本文附录6.1
开启MySQL服务:
1
|
$CYN_USR
/mysql/bin/mysqld_safe
&
|
关闭MySQL服务:
1
|
$CYN_USR
/mysql/bin/mysqladmin
-u root -p SHUTDOWN
|
1
2
3
4
5
6
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/httpd-2
.2.21.
tar
.gz
cd
httpd-2.2.21
.
/configure
--prefix=$CYN_USR
/httpd
make
make
install
|
开启、关闭、重启apache服务器:
1
2
3
|
$CYN_USR
/httpd/bin/apachectl
start
$CYN_USR
/httpd/bin/apachectl
stop
$CYN_USR
/httpd/bin/apachectl
restart
|
1
2
3
4
5
6
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/ruby-1
.8.7-p174.
tar
.gz
cd
ruby-1.8.7-p174
.
/configure
--prefix=$CYN_USR
/ruby
make
make
install
|
1
|
vim ~/.bashrc
|
在用户目录下的.bashrc文件中添加下面几行内容:
1
2
3
4
|
export
MYSQL_HOME=
"$CYN_USR/mysql"
export
HTTPD_HOME=
"$CYN_USR/httpd"
export
RUBY_HOME=
"$CYN_USR/ruby"
export
PATH=
"$PATH:$RUBY_HOME/bin:$MYSQL_HOME/bin:$MYSQL_HOME/lib:$HTTPD_HOME/bin"
|
执行下面语句让配置立即生效:
1
|
source
~/.bashrc
|
1
2
3
4
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/rubygems-1
.6.2.tgz
cd
rubygems-1.6.2
ruby setup.rb
|
这个包应该是和解压.gem包有关
1
2
3
4
5
6
7
8
9
10
11
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/zlib-1
.2.5.
tar
.gz
cd
zlib-1.2.5
.
/configure
make
make
test
make
install
cd
$CYN_USR
/ruby-1
.8.7-p174
/ext/zlib
ruby extconf.rb
make
make
install
|
如果你要配置Redmine-1.2.2,请安装rails-2.3.11,act*-2.3.11.gem会自动安装,但要保证和rails-2.3.11.gem在同一个目录下:
1
2
3
4
|
cd
$CYN_DOWNLOAD
gem
install
--
local
rake-0.8.7.gem
gem
install
--
local
rack-1.1.1.gem
gem
install
--
local
rails-2.3.11.gem
|
如果你要配置Redmine-1.1.0,请安装rails-2.3.5:
1
2
3
4
5
6
7
8
9
|
cd
$CYN_DOWNLOAD
gem
install
--
local
rake-0.8.7.gem
gem
install
--
local
rack-1.0.1.gem
gem
install
--
local
activesupport-2.3.5.gem
gem
install
--
local
activerecord-2.3.5.gem
gem
install
--
local
actionpack-2.3.5.gem
gem
install
--
local
actionmailer-2.3.5.gem
gem
install
--
local
activeresource-2.3.5.gem
gem
install
--
local
rails-2.3.5.gem
|
1
|
gem
install
--
local
i18n-0.4.2.gem
|
新建一个名为redmine的数据库,新建一个名为redmine的用户,密码是redminepwd,并赋予对名为redmine的数据库的所有权限
1
2
3
4
|
mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER
'redmine'
@
'localhost'
IDENTIFIED BY
'redminepwd'
;
GRANT ALL ON redmine.* TO
'redmine'
@
'localhost'
;
|
1
2
3
4
5
6
7
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/mysql-ruby-2
.8.2.
tar
.gz
cd
mysql-ruby-2.8.2
ruby extconf.rb --with-mysql-
dir
=$CYN_USR
/mysql
make
ruby .
/test
.rb -- localhost redmine redminepwd redmine 3306
make
install
|
passenger可以让apache服务器搭载ruby on rails网站
1
2
3
4
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/passenger-3
.0.11.
tar
.gz
cd
passenger-3.0.11
.
/bin/passenger-install-apache2-module
|
安装完成后会有类似附录6.2的提示
1
2
|
cd
$CYN_USR
tar
zxvf $CYN_DOWNLOAD
/redmine-1
.2.2.
tar
.gz
|
主要是配置数据库
1
2
3
|
cd
$CYN_USR
/redmine-1
.2.2
cp
config
/database
.yml.example config
/database
.yml
vim config
/database
.yml
|
在config/database.yml文件中,修改production/development/test节的内容,填写数据库信息,下面是production节的示例
1
2
3
4
5
6
7
|
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: redminepwd
encoding: utf8
|
执行下面三条语句,初始化数据库,建立表结构,并且写入相应数据
1
2
3
|
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
|
在$CYN_USR/httpd/conf/httpd.conf文件中添加下面内容,注意把$CYN_USR换成你的绝对路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
LoadModule passenger_module $CYN_USR
/passenger-3
.0.11
/ext/apache2/mod_passenger
.so
PassengerRoot $CYN_USR
/passenger-3
.0.11
PassengerRuby $CYN_USR
/ruby/bin/ruby
Listen 8085
<VirtualHost *:8085>
ServerName www.yourhost.com
DocumentRoot $CYN_USR
/redmine-1
.2.2
/public
<Directory $CYN_USR
/redmine-1
.2.2
/public
>
AllowOverride all
Options -MultiViews
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
<
/Directory
>
<
/VirtualHost
>
|
在浏览器中访问http://localhost:8085/
本部分内容有待添加,欢迎读者留言与我讨论
[1] http://www.redmine.org/projects/redmine/wiki/RedmineInstall
[2] http://www.cnblogs.com/wuchang/archive/2011/10/04/2199018.html
[3] http://www.ruby-lang.org/en/
[6] http://rack.rubyforge.org/
[7] http://tmtm.org/en/mysql/ruby/
[1] http://en.wikipedia.org/wiki/Redmine
[2] http://en.wikipedia.org/wiki/Ruby_on_Rails
[3] http://en.wikipedia.org/wiki/Ruby_(programming_language)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot
time
you have to copy
support-files
/mysql
.server to the right place
for
your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To
do
so, start the server,
then
issue the following commands:
.
/bin/mysqladmin
-u root password
'new-password'
.
/bin/mysqladmin
-u root -h your_host_name password
'new-password'
Alternatively you can run:
.
/bin/mysql_secure_installation
which
will also give you the option of removing the
test
databases and anonymous user created by default. This is
strongly recommended
for
production servers.
See the manual
for
more
instructions.
You can start the MySQL daemon with:
cd
. ; .
/bin/mysqld_safe
&
You can
test
the MySQL daemon with mysql-
test
-run.pl
cd
.
/mysql-test
; perl mysql-
test
-run.pl
Please report any problems with the .
/bin/mysqlbug
script!
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
--------------------------------------------
The Apache 2 module was successfully installed.
Please edit your Apache configuration
file
, and add these lines:
LoadModule passenger_module $CYN_USR
/passenger-3
.0.11
/ext/apache2/mod_passenger
.so
PassengerRoot $CYN_USR
/passenger-3
.0.11
PassengerRuby $CYN_USR
/ruby/bin/ruby
After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!
Press ENTER to
continue
.
--------------------------------------------
Deploying a Ruby on Rails application: an example
Suppose you have a Rails application
in
/somewhere
. Add a virtual host to your
Apache configuration
file
and
set
its DocumentRoot to
/somewhere/public
:
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot
/somewhere/public
# <-- be sure to point to 'public'!
<Directory
/somewhere/public
>
AllowOverride all
# <-- relax Apache security settings
Options -MultiViews
# <-- MultiViews must be turned off
<
/Directory
>
<
/VirtualHost
>
And that's it! You may also want to check the Users Guide
for
security and
optimization tips, troubleshooting and other useful information:
$CYN_USR
/passenger-3
.0.11
/doc/Users
guide Apache.html
Enjoy Phusion Passenger, a product of Phusion (www.phusion.
nl
) :-)
http:
//www
.modrails.com/
Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
|
actionmailer-2.3.11.gem
actionmailer-2.3.5.gem
actionpack-2.3.11.gem
actionpack-2.3.5.gem
activerecord-2.3.11.gem
activerecord-2.3.5.gem
activeresource-2.3.11.gem
activeresource-2.3.5.gem
activesupport-2.3.11.gem
activesupport-2.3.5.gem
httpd-2.2.21.tar.gz
i18n-0.4.2.gem
mysql-5.1.60-linux-i686-glibc23.tar.gz
mysql-5.1.60-linux-x86_64-glibc23.tar.gz
mysql-ruby-2.8.2.tar.gz
openssl-0.9.8k.tar.gz
passenger-3.0.11.tar.gz
rack-1.0.1.gem
rack-1.1.1.gem
rails-2.3.11.gem
rails-2.3.5.gem
rake-0.8.7.gem
redmine-1.2.2.tar.gz
ruby-1.8.7-p174.tar.gz
rubygems-1.3.7.tgz
rubygems-1.6.2.tgz
zlib-1.2.5.tar.gz
本文的英文版:http://www.cnblogs.com/chenyineng/archive/2011/12/21/2295984.html
OK, 这就是Redmine部署的全部内容,恭喜你完成Redmine的部署,感谢你的阅读!