CentOS8中如何部署Redmine项目管理和缺陷跟踪系统

发布时间:2022-02-17 09:45:47 作者:iii
来源:亿速云 阅读:288
# CentOS8中如何部署Redmine项目管理和缺陷跟踪系统

## 一、Redmine简介与部署准备

### 1.1 Redmine核心功能
Redmine是一款开源的、基于Web的项目管理和缺陷跟踪系统,采用Ruby on Rails框架开发,具有以下核心功能:
- 多项目管理支持
- 灵活的基于角色的访问控制
- 问题跟踪系统(缺陷管理)
- Gantt图和日历视图
- 新闻、文档和文件管理
- 电子邮件通知
- 与版本控制系统集成(SVN、CVS、Git等)
- 支持多种数据库(MySQL/MariaDB、PostgreSQL等)

### 1.2 系统环境要求
在CentOS 8上部署Redmine需要满足以下环境要求:
- **操作系统**:CentOS 8.x(建议最小化安装)
- **内存**:至少2GB(生产环境建议4GB以上)
- **存储空间**:至少10GB可用空间
- **软件依赖**:
  - Ruby 2.6+
  - Rails 5.2+
  - 数据库(MySQL/MariaDB或PostgreSQL)
  - Web服务器(Apache/Nginx)

### 1.3 准备工作
1. 更新系统:
   ```bash
   sudo dnf update -y
   sudo reboot
  1. 安装EPEL仓库:

    sudo dnf install epel-release -y
    sudo dnf config-manager --set-enabled powertools
    
  2. 安装基础工具:

    sudo dnf install -y wget curl tar unzip git make gcc gcc-c++ patch
    

二、安装与配置数据库

2.1 安装MariaDB

Redmine支持多种数据库,这里以MariaDB为例:

sudo dnf install -y mariadb-server mariadb-devel
sudo systemctl enable --now mariadb

2.2 安全配置MariaDB

运行安全安装脚本:

sudo mysql_secure_installation

按照提示设置root密码并移除匿名用户、测试数据库等。

2.3 创建Redmine数据库

mysql -u root -p

# 在MySQL shell中执行:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

三、安装Ruby环境

3.1 使用RVM安装Ruby

  1. 安装RVM依赖:

    sudo dnf install -y gnupg2 autoconf automake bison libffi-devel \
    libtool readline-devel sqlite-devel openssl-devel zlib-devel
    
  2. 安装RVM:

    gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
    curl -sSL https://get.rvm.io | bash -s stable
    source /etc/profile.d/rvm.sh
    
  3. 安装Ruby 2.7:

    rvm install 2.7
    rvm use 2.7 --default
    

3.2 验证Ruby环境

ruby -v  # 应显示ruby 2.7.x
gem -v   # 检查gem版本

四、安装Redmine

4.1 下载Redmine

wget https://www.redmine.org/releases/redmine-4.2.3.tar.gz
tar xvf redmine-4.2.3.tar.gz
sudo mv redmine-4.2.3 /opt/redmine

4.2 配置数据库连接

编辑配置文件:

cd /opt/redmine
cp config/database.yml.example config/database.yml
vim config/database.yml

修改production部分:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "your_strong_password"
  encoding: utf8mb4

4.3 安装依赖

  1. 安装Bundler:

    gem install bundler
    
  2. 安装依赖包:

    bundle config set --local without 'development test'
    bundle install
    

4.4 生成密钥和数据库表

bundle exec rake generate_secret_token
RLS_ENV=production bundle exec rake db:migrate
RLS_ENV=production bundle exec rake redmine:load_default_data
# 选择语言(zh为简体中文)

五、配置Passenger + Nginx

5.1 安装Passenger

gem install passenger --no-document
passenger-install-nginx-module --auto --prefix=/opt/nginx \
--auto-download --languages ruby

5.2 配置Nginx

创建Nginx服务文件:

sudo vim /etc/systemd/system/nginx.service

内容如下:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MNPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

配置Nginx支持Redmine:

sudo vim /opt/nginx/conf/nginx.conf

在http块中添加:

server {
    listen 80;
    server_name your_domain.com;
    root /opt/redmine/public;
    passenger_enabled on;
    passenger_ruby /usr/local/rvm/gems/ruby-2.7.6/wrappers/ruby;
    
    client_max_body_size 10m;
    
    location ~ ^/attachments {
        passenger_enabled on;
        expires 30d;
    }
    
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
}

5.3 启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now nginx
sudo setsebool -P httpd_can_network_connect 1

六、配置邮件通知

6.1 修改邮件配置

cd /opt/redmine
cp config/configuration.yml.example config/configuration.yml
vim config/configuration.yml

示例配置(以Gmail为例):

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "smtp.gmail.com"
      port: 587
      domain: "yourdomain.com"
      authentication: :plain
      user_name: "your_email@gmail.com"
      password: "your_password"
      enable_starttls_auto: true

6.2 测试邮件配置

RLS_ENV=production bundle exec rails console
> ActionMailer::Base.delivery_method = :smtp
> ActionMailer::Base.smtp_settings = YAML.load_file('config/configuration.yml')['production']['email_delivery']['smtp_settings']
> ActionMailer::Base.perform_deliveries = true
> Mail.deliver do
>   to 'test@example.com'
>   from 'admin@example.com'
>   subject 'Redmine邮件测试'
>   body '这是一封测试邮件'
> end

七、Redmine初始配置与使用

7.1 首次访问

  1. 通过浏览器访问 http://your_server_ip
  2. 使用默认管理员账号登录:
    • 用户名:admin
    • 密码:admin

7.2 基本配置建议

  1. 修改管理员密码:登录后立即修改
  2. 配置时区:管理 → 设置 → 显示 → 时区选择”Beijing”
  3. 配置邮件通知:管理 → 设置 → 邮件通知
  4. 创建项目:项目 → 新建项目
  5. 配置工作流程:管理 → 工作流程

7.3 安全加固建议

  1. 配置HTTPS(可使用Let’s Encrypt免费证书)
  2. 定期备份数据库和附件目录
  3. 设置强密码策略
  4. 限制管理员访问IP

八、常见问题解决

8.1 502 Bad Gateway错误

可能原因: - Passenger未正确安装 - Ruby路径配置错误

解决方法:

passenger-config validate-install
passenger-memory-stats

8.2 数据库连接问题

检查database.yml配置,确保: - 数据库服务正在运行 - 用户名密码正确 - 数据库已创建

8.3 邮件发送失败

测试命令:

RLS_ENV=production bundle exec rake redmine:email:test[test@example.com]

九、备份与维护

9.1 定期备份

创建备份脚本/opt/redmine/backup.sh

#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/opt/redmine_backups"

mkdir -p $BACKUP_DIR
mysqldump -u redmine -p'your_password' redmine | gzip > $BACKUP_DIR/redmine_db_$DATE.sql.gz
tar czf $BACKUP_DIR/redmine_files_$DATE.tar.gz /opt/redmine/files

9.2 日志管理

重要日志位置: - Redmine日志:/opt/redmine/log/production.log - Nginx访问日志:/opt/nginx/logs/access.log - Nginx错误日志:/opt/nginx/logs/error.log

十、总结

本文详细介绍了在CentOS 8系统上部署Redmine的完整流程,包括: 1. 系统环境准备 2. MariaDB数据库安装配置 3. Ruby环境搭建 4. Redmine核心安装 5. Nginx+Passenger集成 6. 邮件系统配置 7. 基础使用和安全建议

通过以上步骤,您已经成功搭建了一个功能完整的Redmine项目管理平台。后续可以根据团队需求安装插件、定制工作流程或进行性能优化。 “`

这篇文章提供了从零开始部署Redmine的完整指南,包含约2800字的详细步骤和技术细节,采用Markdown格式编写,可直接用于技术文档发布。

推荐阅读:
  1. Linux strace跟踪系统信号和操作
  2. Linux redmine 安装部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos redmine

上一篇:Linux下如何安装并使用PulseAudio声音服务器

下一篇:Linux下如何安装并使用iostat工具

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》