自立但不自私,自强但不自傲,自尊但不自高,自爱但不自娇,自珍但不自赏!

Redmine在Linux(CentOS)下的安装及配置

技术文档 24417浏览 0评论

一、Redmine简介

Redmine 是一个支持多项目管理的跨平台项目管理系统,基于Web,使用Ruby on Rails框架开发。
Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database. Redmine is open source and released under the terms of the GNU General Public License v2 (GPL).
基本特性如下:
* 多项目和子项目支持 Multiple projects support
* 可配置的用户角色控制 Flexible role based access control.
* 可配置的问题追踪系统 Flexible issue tracking system
* 自动日历和甘特图绘制 Gantt chart and calendar
* 支持新闻发布、Wiki 形式的文档撰写和文件管理News, documents & files management
* RSS 输出和邮件通知 Feeds & email notifications.
* 每个项目可以配置独立的 Wiki 和论坛模块 Per project wiki,Per project forums
* 简单的任务时间跟踪机制 Simple time tracking functionality
* 用户、项目、问题支持自定义属性 Custom fields for issues, projects and users
* 支持多种版本控制系统的绑定 SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
* 支持多 LDAP 用户认证 Multiple LDAP authentication support
* 支持用户自注册和用户激活 User self-registration support
* 多语言支持(内置简体中文)Multilanguage support
* 多数据库支持(MySQL、SQLite、PostgreSQL)Multiple databases support

官方网站:http://www.redmine.org/
帮助文档:http://www.redmine.org/guide

二、Redmine的安装和测试
Redmine的官方网站是:http://www.redmine.org,可以在这里:http://www.redmine.org/wiki/redmine/RedmineInstall得到与当前Redmine版本相符合的其他软件版本。

1、Ruby
Ruby的官方网站是http://ruby-lang.org/,我们使用1.8.7版。
安装Ruby是很简单的,先解开包:tar xfvj ruby-1.8.7.tar.bz2
然后配置:./configure --prefix=/usr/local/ruby
再运行make和make install,将ruby安装到/usr/local/ruby目录中。

安装完成后,记得设置PATH环境变量,加上/usr/local/ruby/bin,以便运行ruby。
直接编辑/etc/environment文件,在里面修改PATH环境变量。该方法必须重启系统后才能生效,但是对于任何用户都有效。
可以设置为:
PATH=.:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ruby/bin:/usr/local/mysql/bin

2、RubyGems
RubyGems的官方网站是http://www.rubygems.org/,是个包管理工具,相当于RPM、yum等工具。
当前最新版本是1.3.1,可以在这里下载(http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz)。
安装RubyGems更简单,同样解开包:tar xfvz rubygems-1.3.1.tgz
再进入rubygems-1.3.1目录,运行:ruby setup.rb
即可完成安装(默认安装到ruby所在目录下)。

3、Rake
Rake的官方网站是http://rake.rubyforge.org/,可以让gem联网下载安装,也可以在官方网站下载后进行安装。
运行:
gem install rack -v=1.0.1

4、Ruby on Rails
Ruby on Rails的官方网站是http://rubyonrails.org/,同样可以使用gem联网下载安装,也可以下载后再本地安装。
运行:gem install rails -v=2.3.5

安装Redmine
1、下载并解开Redmine
Redmine的官方网址是http://www.redmine.org
使用如下命令可下载源代码:
svn co http://redmine.rubyforge.org/svn/trunk redmine

2、创建数据库
我们使用的是MySQL数据库,运行mysql客户端登录数据库:mysql -uroot -p
创建redmine数据库:create database redmine character set utf8;
为redmine创建数据库用户(这里的用户名密码都是redmine):grant all privileges on redmine.* to redmine@'%' identified by 'redmine' with grant option;

3、设置redmine的数据库参数
我们使用redmine提供的例子为蓝本,进入redmine所在目录:cp config/database.yml.example config/database.yml
编辑文件config/database.yml,找到production段落,设置用户名和密码为,并保存文件。此处应注意设置项和前面的冒号(:)之间要有个空格,否则会出错。

4、生成会话存储密钥:
RAILS_ENV=production rake config/initializers/session_store.rb

注:r3055之后的版本移除了config/initializers/session_store.rb,使用下面的命令替代。
rake generate_session_store

5、创建数据库结构
运行命令:rake db:migrate RAILS_ENV="production"

此时可能需要根据命令安装mysql gem,运行:gem install mysql
运行此命令安装时,如果系统的mysql数据库是yum或者rpm等方法安装的,并不是源代码方式进行安装的,可能会提示找不到mysql的一些文件的错误信息,可以卸载系统原有的mysql,并进行源代码方式安装mysql。

如果有类似错误信息,可以按照下面的方法解决:
Error1: syntax error on line 14, col 2: encoding: utf8
Resolution: modify config/database.yml, after password: it must has a space between ":" and "redmine"

Error2: No such file or directory - /tmp/mysql.sock
Resolution: modify config/database.yml "host: Localhost" to "host: 127.0.0.1"

6、载入默认配置
这一步是可选的,但高度推荐使用。
运行命令:rake redmine:load_default_data RAILS_ENV="production"
读取默认配置数据,当遇到选择语言(Select language)时,选择zh.
至此,redmine简单的配置就完成了。使用其自带的webrick来运行redmine,来检查下redmine的配置

7、运行并测试redmine
运行命令:ruby script/server webrick -e production

即可启动redmine,默认打开3000端口,可以通过http://localhost:3000/访问(管理员初始用户名和密码都是admin)。
如果希望Redmine作为服务运行,加上-d参数即可:ruby script/server webrick -e production -d

在登入后台进行配置时,显示项的配置要注意。最好如下图所示,对“日历开始于”、“日期格式”、“时间格式”这三项进行具体的设置。在使用默认的配置并且使用中文作为默认语言时,进入有的选项(如我的账户、添加用户等)时,会出现server 500错误。


三、在Apache上部署Redmine
其自带的webrick可能不能满足使用需求,那么就把它配置到apache上。 apache运行ROR有多种方式,这里使用passenger。

首先安apache,然后安装 passenger :
gem install passenger
passenger-install-apache2-module

如果报passenger-install-apache2-module这条命令找不到的话,那么通过下面的命令查看执行路径:
gem environment

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2009-04-08 patchlevel 160) [i686-linux]
  - INSTALLATION DIRECTORY: /usr/local/ruby/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /usr/local/ruby/lib/ruby/gems/1.8
     - /root/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

其中,EXECUTABLE DIRECTORY就是命令的全路径,所以对于我例子里的情况执行/usr/local/ruby/bin/passenger-install-apache2-module
根据提示安装和部署。passenger会在本机编译并成为apache的一个模块。安装过程中会遇到下面的提示信息(根据版本的不同,信息也会稍有变化):

Welcome to the Phusion Passenger Apache 2 module installer, v2.2.15.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15
   PassengerRuby /usr/local/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!
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:

  
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
     
         AllowOverride all              # <-- relax Apache security settings
         Options -MultiViews            # <-- MultiViews must be turned off
     
  

And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:

  /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15/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.

根据提示信息部署:
首先,编辑apache的配置文件(/etc/httpd/conf/httpd.conf)并添加下面的信息:

   LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15
   PassengerRuby /usr/local/ruby/bin/ruby

然后启用Apache的虚拟主机支持
1、注释掉原有的ServerName,ServerAdmin,DocumentRoot的信息;
2、启用虚拟主机的支持,去掉NameVirtualHost *:80前面的#;
3、在配置文件的末尾加上:
    <VirtualHost *:80>
        ServerName redmine.loosky.net
        ServerAdmin loosky@fjut.edu.cn
        DocumentRoot /var/www/redmine/public
        ErrorLog logs/redmine_error_log

        <Directory "/var/www/redmine/public">
                Allow from all
                AllowOverride all
        </Directory>
    </VirtualHost>
4、重启Apache服务器:service httpd restart

打开浏览器,如果你能够访问到redmine,那么恭喜你,redmine已经在apache上运行良好!

四、Redmine和Gmail配置、使用
参考:http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/
1、首先确保您的系统中已经安装了git,如果没有,按照下面的步骤安装:
Step 1: 下载:http://www.kernel.org/pub/software/scm/git/ 
选择你要安装的版本下载,我选择的是:1.7.2

Step 2: 安装
tar -xzvf git-1.7.2.tar.gz  
cd git-1.7.2
./configure --prefix=/usr/local
make
make install
git --version

如果看到
     git version 1.7.2 说明安装成功。

2、安装action_mailer_optional_tls插件
在Redmine根目录下面运行:
ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git

3、配置email脚本
cp config/email.yml.example config/email.yml
vi config/email.yml
添加如下内容:
production:
  delivery_method: :smtp
  smtp_settings:
    tls: true
    address: "smtp.gmail.com"
    port: '587'
    domain: "smtp.gmail.com"
    authentication: :plain
    user_name: "Gmail账户"
    password: "Gmail密码"

4、重启Apache服务,然后在管理--配置--邮件通知中进行相应的设置,并发送测试邮件进行测试。如果正常即可。

五、建立SVN版本库
版本控制svn可以参考《subversion 权威指南》,下面简单地安装svn并建立一个测试用库。首先,安装subversion版本控制:
yum install subversion

创建SVN的根目录,这里我建在/var/www。然后建立一个演示用的库。
cd /var/www
mkdir svn
cd svn
svnadmin create demo
然后配置demo库:
cd demo/conf

conf目录里是authz,passwd和svnserve.conf这三个文件,分别用于配置用户权限、用户密码和配置此版本库(demo)。
-rw-r--r-- 1 root root 1089 2010-06-04 14:45 authz
-rw-r--r-- 1 root root  335 2010-06-04 14:44 passwd
-rw-r--r-- 1 root root 2265 2010-06-04 14:44 svnserve.conf

首先配置svnserve.conf的内容:
anon-access 匿名访问默认权限,默认为read。
auth-access 授权访问默认权限,默认为write。
password-db 用户密码文件,默认为与svnserve.conf同目录的passwd文件。
authz-db 用户授权文件,默认为与svnserve.conf同目录的authz文件。
realm 显示库名
需要注意的是,每行开头不能留空格。
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = Demo Repository

passwd文件里存储的是用户名和密码,一行一条记录。
[users]
redmine = redminePASSWORD

authz是授权文件,配置着每个用户和组的权利,下面是把redmine用户放到redmine_group组里并赋予redmine_group组demo库的读写权限。
[groups]
dev = redmine
[demo:/]
@dev = rw
简单配置完后,启动svnserve:
svnserve -d -r /var/svn

然后将SVN服务加入自启动,可通过setup命令进行设置。

最后,在redmine中对应项目的配置里,指向对应的版本库。

附:

源代码方式安装mysql:

1、安装:

# groupadd mysql
# useradd -g mysql mysql
# 解压mysql
# cd mysql-VERSION
# ./configure --prefix=/usr/local/mysql
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql var
# chgrp -R mysql .
# bin/mysqld_safe --user=mysql &

2、配置:

配置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 = /test/Mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /test/Mysql/var/
innodb_log_arch_dir = /test/Mysql/var/

3、设为服务并自启动.
对于设置为服务只要把Mysql/share/Mysql/Mysql.server放到/etc/init.d/下改名为Mysql
命令:
mv share/Mysql/Mysql.server /etc/init.d/Mysql
chmod 775 /etc/init.d/Mysql
chkconfig --add Mysql

参考文献:

http://www.blueidea.com/tech/program/2010/7780_2.asp
http://chenrenfang.spaces.live.com/blog/cns!AE98D092ED76A681!247.entry
http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/

转载请注明:自由的风 » Redmine在Linux(CentOS)下的安装及配置

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)