前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Scientific Linux 6.4(64位)上安装Redmine 2.5.1

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

作者头像
星哥玩云
发布2022-07-04 13:20:39
5230
发布2022-07-04 13:20:39
举报
文章被收录于专栏:开源部署开源部署

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

目录

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

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

安装依赖项

代码语言:javascript
复制
sudo yum install vim-enhanced git mysql-server mysql-devel ImageMagick ImageMagick-devel  mod_fcgid fcgi fcgi-devel

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

代码语言:javascript
复制
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可略过这一步。

代码语言:javascript
复制
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

代码语言:javascript
复制
cd /tmp
git clone https://github.com/redmine/redmine.git
cd redmine
git checkout 2.5-stable

创建数据库和数据库用户

代码语言:javascript
复制
mysql -u root -p

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

代码语言:javascript
复制
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。

配置数据库连接信息

代码语言:javascript
复制
cp config/database.yml.example config/database.yml
vim config/database.yml

按下面的内容填写:

代码语言:javascript
复制
 production:
   adapter: mysql2
   database: redmine
   host: localhost
   username: redmine
   password: my_password

安装依赖项

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

代码语言:javascript
复制
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ gem install rmagick
gem install bundler
bundle install --without development test

会话存储密钥生成

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

代码语言:javascript
复制
rake generate_secret_token

生成数据库结构

代码语言:javascript
复制
RAILS_ENV=production rake db:migrate

填充缺省配置数据

代码语言:javascript
复制
RAILS_ENV=production rake redmine:load_default_data

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

设置文件系统访问权限

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

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

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

代码语言:javascript
复制
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

测试安装是否成功

代码语言:javascript
复制
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中。如果你需要覆盖缺省的配置,可以

代码语言:javascript
复制
cp config/configuration.yml.example config/configuration.yml

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

整合到Apache

复制到Apache专用目录

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

代码语言:javascript
复制
mkdir -p  /home/apache /home/apache/sites
cd ..
sudo mv redmine /home/apache/sites
sudo chown -R apache:apache /home/apache    

配置fcgid

代码语言:javascript
复制
cp public/dispatch.fcgi.example public/dispatch.fcgi
vim public/dispatch.fcgi

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

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

代码语言:javascript
复制
sudo  chmod 755 public/dispatch.fcgi

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

代码语言:javascript
复制
cp public/htaccess.fcgi.example public/.htaccess
vim public/.htaccess

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

代码语言:javascript
复制
<IfModule mod_fastcgi.c>
       AddHandler fastcgi-script .fcgi
</IfModule>

代码语言:javascript
复制
<IfModule mod_fastcgi.c>
       RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

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

代码语言:javascript
复制
vim config/environment.rb

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

代码语言:javascript
复制
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

输入下面的内容:

代码语言:javascript
复制
<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中建立符号链接:

代码语言:javascript
复制
sudo ln -s /etc/httpd/conf/sites-available/redmine.vhost /etc/httpd/conf/sites-enabled/redmine.vhost

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

代码语言:javascript
复制
sudo vim /etc/httpd/conf/httpd.conf

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

代码语言:javascript
复制
  Include conf/sites-enabled/*.vhost

存盘退出。

测试是否成功

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

代码语言:javascript
复制
sudo chown -R apache:apache /home/apache
sudo service httpd restart

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

修改日志配置

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

代码语言:javascript
复制
cp config/additional_environment.rb.example config/additional_environment.rb
vim config/additional_environment.rb

输入下面的内容:

代码语言:javascript
复制
#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子目录内)

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

代码语言:javascript
复制
# 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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装依赖项
  • 安装Ruby 2.0
  • 下载安装Redmine
  • 创建数据库和数据库用户
  • 配置数据库连接信息
  • 安装依赖项
  • 会话存储密钥生成
  • 生成数据库结构
  • 填充缺省配置数据
  • 设置文件系统访问权限
  • 测试安装是否成功
  • 登录Redmine
  • 进一步配置系统
  • 整合到Apache
    • 复制到Apache专用目录
      • 配置fcgid
        • 配置redmine虚拟主机
          • 测试是否成功
          • 修改日志配置
          • 备份
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档