安装Redmine¶
这是Redmine 4.0及以上版本的安装文档。您仍然可以阅读旧版本的文档:3.x , 1.4.x - 2.6.x, 1.3.x
要求¶
操作系统¶
只要平台上可用Ruby,Redmine就可以在大多数Unix、Linux、macOS 和 Windows 系统上运行。请参阅具体的安装教程这里。
Ruby解释器和支持的数据库¶
对于特定Redmine版本的必需Ruby版本和支持的数据库后端
Redmine版本 | 支持的Ruby版本 | 使用的Rails版本 | 推荐数据库 | |||
---|---|---|---|---|---|---|
PostgreSQL | MySQL | MSSQL | SQLite | |||
trunk (>= r22488) | Ruby 2.71、3.0、3.1、3.2 | Rails 7.1 | 14 | 8.0 - 8.13 | >2012 | 3 |
5.1 | Ruby 2.71、3.0、3.1、3.2 | Rails 6.1 | >9.25 | 5.7 - 8.13 | >2012 | 3 |
5.0 | Ruby 2.51、2.61、2.71、3.0、3.1 | Rails 6.1 | >9.25 | 5.7 - 5.74 | >2012 | 3 |
4.2 | Ruby 2.41、2.51、2.61、2.72 | Rails 5.2 | >9.25 | 5.5 - 5.74 | >2012 | 3 |
1 Ruby 2.7及以下版本的支持已被Ruby社区终止。请查看官方公告以获取详细信息:2.4,2.5,2.6,2.7。
2 Redmine 4.2 版本不支持 Ruby 2.7.0 和 2.7.1。请使用 Ruby 2.7.2 或更高版本(参见 #31500#note-13)。
3 Redmine >= 5.1.1 的 MySQL 版本需要将 transaction_isolation
设置为 READ COMMITTED
以确保正常工作 MySQL 配置。
4 在 Redmine < 5.1.1 的 MySQL 5.6 或更高版本 和 MariaDB 存在已知问题(#19344,#19395,#17460)。
5 需要 PostgreSQL 9.2 或更高版本。请确保数据库的 datestyle 设置为 ISO(Postgresql 默认设置)。您可以使用以下命令进行设置:ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY";
重要通知
- Redmine 不支持 JRuby.
- Microsoft SQL Server 2012 或更高版本
- SQLite 3(不适用于多用户生产使用!)
可选组件¶
- SCM 二进制文件(例如
svn
),用于仓库浏览(必须在您的 PATH 中可用)。有关 SCM 兼容性和要求的更多信息,请参阅 RedmineRepositories。 - ImageMagick(启用甘特图导出为 PNG 图像和缩略图生成)。
- Ghostscript(启用 Redmine 4.1 或更高版本中 PDF 附件的缩略图生成)。
- Sidekiq,推荐用于生产环境的队列后端系统。
Redmine 版本¶
建议大多数用户安装 redmine 的适当点版本。Redmine 目前每 6 个月发布一个新版本,这些版本被认为是非常可用且稳定的。不推荐从 trunk 安装 redmine,除非您非常熟悉 Ruby on Rails 并能跟上变化——Trunk 确实 有时会中断。
安装步骤¶
步骤 1 - Redmine 应用程序¶
下载一个发布包并将其解压缩到系统上的适当位置。
作为替代,可以直接从版本控制系统检出文件。
有关如何下载 Redmine 的更多信息,请访问 下载页面。
步骤 2 - 创建一个空数据库和相关用户¶
Redmine 数据库用户将命名为 redmine
,但也可以将其更改为其他名称。
MySQL¶
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
对于 MySQL 版本低于 5.5.2 的版本 - 使用 utf8 而不是 utf8mb4
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
对于 MySQL 版本低于 5.0.2 的版本 - 跳过 'CREATE USER' 步骤,而是
CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'my_password';
PostgreSQL¶
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
SQLite¶
跳过此步骤。数据库文件将在第6步期间创建。
SQL Server¶
可以在SQL Server Management Studio中通过几步操作创建数据库、登录和用户。
如果您更喜欢使用SQLCMD
的命令行选项,以下是一些基本示例
第3步 - 数据库连接配置¶
将config/database.yml.example
复制到config/database.yml
,然后编辑此文件以配置“生产”环境下的数据库设置。对于MySQL,请阅读此指南MySQL_configuration。
MySQL数据库示例(默认端口)
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password"
variables:
transaction_isolation: "READ-COMMITTED"
如果您的服务器不在标准端口(3306)上运行,请使用此配置
production:
adapter: mysql2
database: redmine
host: localhost
port: 3307
username: redmine
password: "my_password"
variables:
transaction_isolation: "READ-COMMITTED"
PostgreSQL数据库示例(默认端口)
production:
adapter: postgresql
database: <your_database_name>
host: <postgres_host>
username: <postgres_user>
password: "<postgres_user_password>"
encoding: utf8
schema_search_path: <database_schema> (default - public)
SQLite数据库示例
production:
adapter: sqlite3
database: db/redmine.sqlite3
SQL Server数据库示例(默认主机 localhost
,默认端口 1433
)
production:
adapter: sqlserver
database: redmine
username: redmine # should match the database user name
password: "redminepassword" # should match the login password
第4步 - 依赖项安装¶
Redmine使用Bundler来管理gem依赖项。
如果您使用Ruby 2.5或更早版本,则需要先安装Bundler
gem install bundler
然后,您可以使用以下命令安装Redmine所需的所有gem
bundle config set --local without 'development test' bundle install
可选依赖项¶
RMagick¶
RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。对于Redmine 4.1.0之前的版本,该库是必要的,用于将甘特图导出为PNG或PDF。
如果您的系统上未安装ImageMagick (6.4.9 - 6.9.10) 且您正在安装Redmine 4.0或更早版本,则应使用以下命令跳过rmagick gem的安装
bundle config set --local without 'development test rmagick' bundle install
如果您在Windows上安装rmagick
时遇到问题,请参阅此HowTo。
数据库适配器¶
Redmine会自动安装从config/database.yml
文件中读取的数据库配置所需的适配器gem(例如,如果您只配置了使用mysql2
适配器的连接,则只安装mysql2
gem)。
不要忘记在config/database.yml
文件中添加或删除适配器后重新运行bundle install --without development test ...
!
队列适配器¶
Redmine使用默认的队列适配器ActiveJob::QueueAdapters::AsyncAdapter
,该适配器在不推荐用于生产环境。推荐的适配器是使用Redis进行持久化的Sidekiq。配置指南:SidekiqConfiguration。
附加依赖项(《Gemfile.local》)¶
如果您需要加载Redmine核心不需要的gem(例如Puma、fcgi),请在redmine目录的根目录下创建一个名为Gemfile.local
的文件。在运行bundle install
时,它将自动加载。
示例
# Gemfile.local gem 'puma'
第5步 - 会话存储密钥生成¶
此步骤生成一个随机密钥,Rails使用该密钥对存储会话数据的cookie进行编码,从而防止篡改。
生成新的密钥令牌将在重启后使所有现有会话无效。
bundle exec rake generate_secret_token
或者,您可以将此秘密存储在config/secrets.yml中
https://guides.rubyonrails.net.cn/upgrading_ruby_on_rails.html#config-secrets-yml
第6步 - 创建数据库模式对象¶
在应用程序根目录下运行以下命令来创建数据库结构
RAILS_ENV=production bundle exec rake db:migrate
Windows语法
set RAILS_ENV=production bundle exec rake db:migrate
这将依次运行所有迁移来创建表,然后创建权限集合和名为admin
的应用程序管理员账户。
第7步 - 数据库默认数据集¶
通过运行以下命令在数据库中插入默认配置数据
RAILS_ENV=production bundle exec rake redmine:load_default_data
Redmine会提示您选择要加载的数据集语言;您也可以在运行命令之前定义REDMINE_LANG
环境变量,任务将自动且无声地选择该值。
例如:
Unix系统
RAILS_ENV=production REDMINE_LANG=fr bundle exec rake redmine:load_default_data
Windows
set RAILS_ENV=production set REDMINE_LANG=fr bundle exec rake redmine:load_default_data
第8步 - 文件系统权限¶
注意:Windows用户可以跳过本节。
运行应用程序的用户账户必须对以下子目录具有写入权限
files
(附件存储)log
(应用程序日志文件production.log
)tmp
和tmp/pdf
(如果不存在,则创建这些目录,用于生成PDF文档等)public/plugin_assets
(插件资产)
例如,假设您使用redmine用户账户运行应用程序
mkdir -p tmp tmp/pdf public/plugin_assets sudo chown -R redmine:redmine files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets
注意:如果这些目录中有文件(例如,从备份中恢复文件),请确保这些文件不是可执行的。
sudo find files log tmp public/plugin_assets -type f -exec chmod -x {} +
第9步 - 测试安装¶
通过运行Puma网络服务器来测试安装
bundle exec rails server -e production
第10步 - 登录应用程序¶
使用默认管理员账户登录
- 用户名:admin
- 密码:admin
您可以通过访问管理菜单并选择设置来修改大多数应用程序设置。
配置¶
Redmine设置在名为config/configuration.yml
的文件中定义。
如果您需要覆盖默认应用程序设置,只需将config/configuration.yml.example
复制到config/configuration.yml
并编辑新文件;该文件本身注释良好,因此您应该查看它。
这些设置可以针对Rails环境(production
/development
/test
)分别定义。
重要:不要忘记在更改后重新启动应用程序。
电子邮件/SMTP服务器设置¶
电子邮件配置在专用页面中描述。
SCM设置¶
此配置部分允许您- 如果SCM二进制文件在
PATH
变量中不存在且不使用标准名称(Windows .bat/.cmd名称将不起作用),则覆盖默认命令名称 - 指定二进制文件的完整路径
示例(使用Subversion)
命令名称覆盖
scm_subversion_command: "svn_replacement.exe"
绝对路径
scm_subversion_command: "C:\Program Files\Subversion\bin\svn.exe"
附件存储设置¶
您可以使用attachments_storage_path
设置将Redmine附件存储在不同于Redmine实例默认'files'目录的路径。
示例
attachments_storage_path: /var/redmine/files
attachments_storage_path: D:/redmine/files
日志配置¶
Redmine默认的日志级别为:info,写入log
子目录。根据网站的使用情况,这可能是一个很大的数据集,为了避免日志文件的内容无限增长,请考虑通过系统实用程序(如logrotate
)或通过config/additional_environment.rb
文件来旋转它们。
要使用后者,请将 config/additional_environment.rb.example
复制到 config/additional_environment.rb
并添加以下几行。请注意,新的日志记录器默认为高日志级别,因此必须显式设置为 info
。
#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)
config.logger = Logger.new('/path/to/logfile.log', 2, 1000000)
config.logger.level = Logger::INFO
备份¶
Redmine备份应包括- 数据(存储在您的Redmine数据库中)
- 附件(存储在您的Redmine安装的
files
目录中)
有关详细信息,请参阅备份和恢复Redmine。
关于Linux/Unix安装的说明¶
如果在安装过程中遇到奇怪的权限问题,请确保在安装过程中禁用安全强化工具。这些问题通常是无声的,可能由扩展ACLs、SELinux或AppArmor等工具引起。这些工具通常用于具有严格安全政策的公司,默认的Linux/Unix发行版设置不应有问题。
关于Windows安装的说明¶
可以从https://rubyinstaller.ruby-lang.org.cn获取预构建的Ruby MRI安装程序。
安装后,在开始菜单中选择 使用Ruby启动命令提示符。
指定RAILS_ENV
环境变量
当运行本指南中描述的命令时,您必须使用单独的命令设置RAILS_ENV
环境变量。
即以下语法的命令
RAILS_ENV=production <any commmand>
<any commmand> RAILS_ENV=production
必须转换为两个连续的命令
set RAILS_ENV=production <any commmand>
MySQL gem安装问题
您可能需要手动使用以下命令安装mysql gem
gem install mysql
在某些情况下,需要将libmysql.dll文件复制到您的ruby/bin目录中。
并非所有的libmysql.dll都适用,这似乎是可行的http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll。
关于Win7及以后版本的重要说明
在Win7及以后版本中,hosts文件中注释了localhost
5,默认使用IPV66。由于mysql2 gem不支持IPV6地址7,无法建立连接,您会收到错误 "无法连接到MySQL服务器上的'localhost' (10061)
"。
您可以通过ping localhost
来确认这一点,如果ping的目标是"::1:",则正在使用IPV6。
解决方案
将database.yml中的localhost
替换为127.0.0.1
。
7 https://github.com/brianmario/mysql2/issues/279
手动安装的替代方案¶
某些用户可能更喜欢通过下载页面上的第三方Redmine捆绑包来跳过手动安装。
最后更新于Marius BĂLTEANU 6个月前 · 345次修订 锁定