红联Linux门户
Linux帮助

在Scientific Linux 6.4(64位)上安装Redmine 2.5.1

发布时间:2015-03-27 21:49:10来源:linux网站作者:linux人

目录

安装依赖项
安装Ruby 2.0
下载安装Redmine
创建数据库和数据库用户
配置数据库连接信息
安装依赖项
会话存储密钥生成
生成数据库结构
填充缺省配置数据
设置文件系统访问权限
测试安装是否成功
登录Redmine
进一步配置系统
整合到Apache
复制到Apache专用目录
配置fcgid
配置redmine虚拟主机
测试是否成功
修改日志配置
备份

Redmine是一款优秀的项目管理和Bug跟踪软件,基于RoR(Ruby on Rails)开发。
下面记录安装过程。


安装依赖项

sudo yum install vim-enhanced git mysql-server mysql-devel ImageMagick ImageMagick-devel  mod_fcgid fcgi fcgi-devel

阿里云的云主机中操作系统是CentOS 5.x,其ImageMagick版本过低,需要源码编译:

wget http://mirrors-usa.go-parts.com/mirrors/ImageMagick/ImageMagick-6.8.8-9.tar.gz
tar zxvf ImageMagick-6.8.8-9.tar.gz
cd ImageMagick-6.8.8-9
./configure
make
make install
/sbin/ldconfig /usr/local
ln -f /usr/local/bin/Magick-config /usr/bin/Magick-config


安装Ruby 2.0

如果已经安装好Ruby 2.0可略过这一步。

curl –progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz
mkdir /tmp/ruby && cd /tmp/ruby
curl –progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz
cd ruby-2.0.0-p247
./configure
make
sudo make install


下载安装Redmine

cd /tmp
git clone https://github.com/redmine/redmine.git
cd redmine
git checkout 2.5-stable


创建数据库和数据库用户

mysql -u root -p

输入口令后进入mysql>命令提示符。依次键入下列命令:

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

这样就创建了数据库redmine和数据库用户redmine,口令是my_password。


配置数据库连接信息

cp config/database.yml.example config/database.yml
vim config/database.yml

按下面的内容填写:

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: my_password


安装依赖项

修改Gemfile文件,在gem “builder"一行之后加入下面一行:gem “fcgi”。然后运行命令:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ gem install rmagick
gem install bundler
bundle install --without development test


会话存储密钥生成

这一步生成一个随机密钥,Rails用来编码存储会话数据的cookie,防止外界破坏。

rake generate_secret_token


生成数据库结构

RAILS_ENV=production rake db:migrate


填充缺省配置数据

RAILS_ENV=production rake redmine:load_default_data

Redmine将提问你选择哪种语言。选zh代表简体中文。


设置文件系统访问权限

运行Redmine的用户(下面我选定apache用户运行Redmine)必须对下面的目录拥有写权限:

files(存储附件)
log(应用程序日志文件application.log)
tmp和tmp/pdf(如果这些目录尚未存在,则先创建之。用于生成PDF文档等)
public/plugin_assets(插件的相关文件)。

通过下面的命令解决上面的问题:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R apache:apache files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
chmod -R 1777 /tmp


测试安装是否成功

ruby script/rails server webrick -e production

将运行WEBrick Web服务器。打开浏览器访问http://localhost:3000/(如果你安装在别的服务器上,请用服务器域名或IP代替localhost)。如果一切正常,你会看到欢迎页面。


登录Redmine

用帐号口令admin/admin登录系统。可以通过"管理(Administration)“菜单选择“配置(Settings)”来修改应用程序的大部分设置。
回到服务器的终端窗口,按Ctrl + C退出WEBrick。


进一步配置系统

Redmine配置信息定义在conf/configuration.yml中。如果你需要覆盖缺省的配置,可以

cp config/configuration.yml.example config/configuration.yml

然后修改conf/configuration.yml。修改完毕需要重启动应用。


整合到Apache
复制到Apache专用目录

首先,把Redmine从临时目录/tmp转移到目标目录。我的设置是创建/home/apache目录,apache用户拥有这个目录,在其下创建sites子目录,所有的Apache虚拟主机程序都存放在这个目录下。

mkdir -p  /home/apache /home/apache/sites
cd ..
sudo mv redmine /home/apache/sites
sudo chown -R apache:apache /home/apache


配置fcgid

cp public/dispatch.fcgi.example public/dispatch.fcgi
vim public/dispatch.fcgi

将第一行改为#!/usr/local/bin/ruby,保存退出。

使public/dispatch.fcgi拥有执行权限:

sudo  chmod 755 public/dispatch.fcgi


配置.htaccess文件,去掉fastcgi支持内容:

cp public/htaccess.fcgi.example public/.htaccess
vim public/.htaccess

将下面的内容删除或注释掉:

<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>

<IfModule mod_fastcgi.c>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

修改config/environment.rb,将Rails环境切换到production:

vim config/environment.rb

在文件开头加入下面一行:

ENV['RAILS_ENV'] ||= 'production'


配置redmine虚拟主机

我的虚拟主机配置文件统一放在/etc/httpd/conf/sites-available目录下,然后在/etc/httpd/conf/sites-enabled目录中分别对/etc/httpd/conf/sites-available中要启用的虚拟主机建立符号链接:

sudo mkdir -p /etc/httpd/conf/sites-available /etc/httpd/conf/sites-available
vim /etc/httpd/conf/sites-available/redmine.vhost

输入下面的内容:

<VirtualHost 58.63.245.211:80>
ServerName redmine.dayatang.org
ServerAdmin webmaster@dayatang.org
DocumentRoot /home/apache/sites/redmine/public/

ErrorLog logs/redmine.dayatang.org_error_log
LogLevel warn
CustomLog logs/redmine.dayatang.org_access_log combined

DefaultInitEnv RAILS_ENV production
MaxRequestLen 20971520
<Directory "/home/apache/sites/redmine/public/">
Options Indexes ExecCGI FollowSymLinks 
Order allow,deny 
Allow from all 
AllowOverride all 
</Directory>
<Location />
AddHandler fcgid-script .fcgi
FCGIWrapper "/usr/local/bin/ruby /home/apache/sites/redmine/public/dispatch.fcgi" .fcgi
</Location>
</Virtualhost>

存盘退出后在/etc/httpd/conf/sites-available中建立符号链接:

sudo ln -s /etc/httpd/conf/sites-available/redmine.vhost /etc/httpd/conf/sites-enabled/redmine.vhost

如果Apache主配置文件尚未导入/etc/httpd/conf/sites-enabled目录,修改Apache主配置文件:

sudo vim /etc/httpd/conf/httpd.conf

在文件末尾加入这么一行:

Include conf/sites-enabled/*.vhost

存盘退出。


测试是否成功

在命令行窗口运行下述命令:

sudo chown -R apache:apache /home/apache
sudo service httpd restart

然后打开浏览器,在地址栏中输入redmine.dayatang.org,看看是否可进入欢迎页面。


修改日志配置

Redmine默认将日志记录到应用主目录下的log子目录。随着时间的推移,日志文件可能变得很大。为此可以考虑让它们增长到一定大小之后自动分割为多个文件。可以修改config/additional_environment.rb做到这一点。

cp config/additional_environment.rb.example config/additional_environment.rb
vim config/additional_environment.rb

输入下面的内容:

#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)
config.logger = Logger.new('/path/to/logfile.log', 2, 1000000)
config.logger.level = Logger::INFO

我的/path/to/logfile.log是/usr/share/redmine/log/redmine.log。


备份

Redmine备份要包括下面的内容:

数据(存储在redmine数据库内)
附件(存储在Redmine主目录下的files子目录内)

下面是一个简单的脚本,可用于每日备份:

# Database
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip >
/path/to/backup/db/redmine_`date +%y_%m_%d`.gz

# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files