在统信UOS上部署Redmine需基于Debian系特性,依次安装Ruby 3.0+、PostgreSQL、ImageMagick等依赖,创建专用数据库与用户,下载Redmine源码并配置database.yml,用bundle安装Gem、执行数据库迁移,最后通过Passenger+Nginx反向代理提供Web服务。

如果您希望在统信UOS操作系统上部署Redmine项目管理平台,则需基于其Debian系底层(UOS V20基于Debian 10/11)完成Ruby环境、数据库、Web服务器及Redmine源码的适配安装。以下是具体部署步骤:
一、安装依赖环境与基础组件
Redmine依赖Ruby、Rails、数据库(推荐PostgreSQL或MySQL)及ImageMagick等系统库,需预先安装确保运行时无缺失。
1、打开终端,执行更新命令:sudo apt update && sudo apt upgrade -y
2、安装Ruby 3.0及以上版本(UOS默认源可能仅含Ruby 2.7,需添加rbenv或使用官方编译包):sudo apt install -y ruby-full build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 autoconf bison cmake libffi-dev libgdbm-dev libncurses5-dev libtool libxml2-dev libxslt1-dev libcurl4-openssl-dev libicu-dev libjemalloc-dev
3、安装PostgreSQL数据库及客户端:sudo apt install -y postgresql postgresql-contrib libpq-dev
4、安装ImageMagick用于附件缩略图生成:sudo apt install -y imagemagick
二、配置PostgreSQL数据库与用户
Redmine需独立数据库与专用角色,避免使用postgres超级用户直接运行,提升安全性与隔离性。
1、切换至postgres系统用户:sudo -u postgres -i
2、创建redmine专用数据库用户:createuser --createdb --username=postgres --no-createrole --pwprompt redmine
3、创建redmine数据库并指定所有者:createdb -O redmine redmine_production
4、退出postgres用户shell:exit
三、下载并解压Redmine源码
Redmine不提供.deb安装包,必须通过官方发布版源码部署,建议选用稳定版(如Redmine 5.1.x)以兼容UOS内核与Ruby版本。
1、创建部署目录:sudo mkdir -p /opt/redmine && sudo chown $USER:$USER /opt/redmine
2、进入目录并下载Redmine 5.1.5(以当前最新稳定版为例):cd /opt/redmine && wget https://www.redmine.org/releases/redmine-5.1.5.tar.gz
3、解压并重命名为redmine:tar xzf redmine-5.1.5.tar.gz && mv redmine-5.1.5 redmine
4、切换至redmine目录并设置权限:cd redmine && chmod -R 755 files log tmp public/plugin_assets
四、配置Redmine环境与数据库连接
通过config/database.yml文件定义数据库类型、主机、名称、用户与密码,是Redmine启动前最关键的配置环节。
1、复制示例配置文件:cp config/database.yml.example config/database.yml
2、编辑database.yml文件:nano config/database.yml
3、在production段下填写PostgreSQL配置(替换YOUR_PASSWORD为实际密码):adapter: postgresql
url: postgresql://redmine:YOUR_PASSWORD@127.0.0.1/redmine_production
encoding: utf8
database: redmine_production
host: 127.0.0.1
username: redmine
password: "YOUR_PASSWORD"
4、保存退出后,生成密钥并写入config/initializers/secret_token.rb:rake generate_secret_token
五、安装Gem依赖并初始化数据库
Gem是Ruby的包管理系统,Redmine依赖数十个Gem组件(如rails、mysql2/pg、rmagick),必须在正确Ruby环境下安装。
1、确认当前Ruby与Bundler版本:ruby -v && gem -v && bundle -v
2、若未安装Bundler,执行:gem install bundler:2.4.22
3、在redmine目录下安装生产环境所需Gem:bundle install --without development test --path vendor/bundle
4、执行数据库结构迁移与初始数据加载:RAILS_ENV=production bundle exec rake db:migrate
5、加载默认配置与演示数据(可选):RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
六、配置Passenger + Nginx反向代理服务
Redmine官方推荐Passenger模块配合Nginx提供稳定Web服务,比内置Webrick更适用于生产环境。
1、安装Nginx与Passenger:sudo apt install -y nginx curl dirmngr gnupg
2、添加Phusion官方APT源并安装passenger:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7 && echo 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bullseye main' | sudo tee /etc/apt/sources.list.d/passenger.list && sudo apt update && sudo apt install -y libnginx-mod-http-passenger
3、启用Passenger模块:if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf; fi
4、创建Nginx站点配置文件:sudo nano /etc/nginx/sites-available/redmine
5、填入以下内容(注意root路径与user权限):server {
listen 80;
server_name localhost;
root /opt/redmine/redmine/public;
index index.html index.htm;
location / {
try_files $uri $uri/index.html $uri.html @redmine;
}
location @redmine {
passenger_enabled on;
passenger_ruby /usr/bin/ruby;
passenger_user $USER;
passenger_group $USER;
}
}
6、启用站点并重启Nginx:sudo ln -sf /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine && sudo nginx -t && sudo systemctl restart nginx

















