本文共 4466 字,大约阅读时间需要 14 分钟。
是一款非常流行的项目管理工具,使用 Ruby on Rails 编写,采用 GPL 许可协议(GNU General Public License v2)发布,支持多种操作系统。
部署和使用 Redmine 可以选择第三方提供的云服务,或者下载安装第三方 (如 ) 提供的安装包或容器。
相对于使用第三方提供的安装包,依据,或者一些经过验证的安装辅助工具 (如 ) 有以下优点:
而且如同多数 Ruby on Rails 应用一样,Redmine 的安装部署过程非常简单,因此不用担心官方文档的安装步骤相对复杂,多数情况下这种安装方式更值得推荐。
本文记录基于在 Ubuntu 16.04 下安装部署 Redmine 3.4.6 的过程。
本次安装使用的硬件环境和操作系统如下:
执行以下指令可更新系统并安装需要的软件包,以及以后安装插件可能需要的软件包。在本文中,使用 MySQL, 如果选择其他数据库,需要替换相应的软件包:
apt-get update && apt-get -y upgradeapt-get install -y build-essential git imagemagick libmagickwand-dev mysql-server libmysqlclient-dev
安装过程中,会提示设置 MySQL 的 root 密码。使用 ssh 远程登录云主机安装时,最好不要需要等待时间过长忽略安装过程。如果安装过程中因连接中断没有得到提示,MySQL 的 root 密码可能未设置密码,也可能需要从配置文件中查找。如果密码找不到,最简单的处理方法就是重新安装 MySQL。
创建专门的 redmine 用户不是必须的,但在正式环境中有助于维持系统的安全。
adduser --system --shell /bin/bash --gecos 'Redmine Administrator' --group --disabled-password --home /data/redmine redmine
这里把 /data/redmine/ 作为 redmine 用户的工作目录。
apt-get 安装的 ruby 和 ruby-dev 多数情况下也能使用,但因为文件权限和 ruby 版本选择的原因,推荐使用 安装 ruby。
不同的 Linux 分发版本下安装 rvm 的命令略有不同,可以详见 。
此处简要列出 。
apt-get -y install software-properties-commonapt-add-repository -y ppa:rael-gc/rvmapt-get updateapt-get install rvm
rvm 安装完成后安装可用版本的 ruby, 然后把 redmine 用户加入 rvm 组中,给 redmine 用户安装 gem 的权限。
rvm install 2.4usermod -a -G rvm redmine
首次安装 rvm 后,如果找不到 rvm 命令,可按照安装 rvm 过程中的提示解决,一般退出当前的命令行再次登录就行。
首次安装 ruby 的过程中可能需要安装 libssl-dev 等软件包,需要 root 或 sudo 权限。后续安装过程不需要 root 或 sudo 权限,假定以 redmine 用户运行。
运行以下命令安装 Bundler:
su - redminegem install bundle
创建一个空的数据库供 Redmine 使用,并创建一个数据库用户,授予该用户相应的数据库访问权限。
执行以下命令进入 MySQL 命令行环境,中间按照提示输入 MySQL 的 root 密码:
mysql -p -u root
在 MySQL 命令行环境下,执行以下命令创建 Redmine 使用的数据库和访问该数据库的用户并分配数据库权限:
CREATE DATABASE redmine CHARACTER SET utf8;CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'p@ssw0rd';GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
通过克隆 或,可获取 Redmine 源码:
wget http://www.redmine.org/releases/redmine-3.4.6.tar.gztar xvfz redmine-3.4.6.tar.gzln -s redmine-3.4.6 redminerm redmine-3.4.6.tar.gz
在以上的命令中,建立了一个软连接 ~/redmine
指向解压后的源码目录,以便于使用。
进入解压好的源码目录,复制数据库配置模版,并根据实际的数据配置修改生产环境下的数据库配置:
cd ~/redminecp -pR config/database.yml.example config/database.ymlvim config/database.yml
如果采用上文中的参数建立数据库,修改后的 config/database.yml
文件中,生产环境下的数据库配置为:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "p@ssw0rd" encoding: utf8
Redmine 使用 管理 gems 依赖关系,Redmine 需要的 Gem 和依赖关系在 Gemfile
中。
如果需要加载额外的 gems, 比如在运行时使用 puma 代替默认的 webrick, 可在 Redmine 安装目录下建立一个名为 Gemfile.local
的文件,指定需额外加载的 gems, 再次运行 bundle install。
以下为 Gemfile.local
文件的示例:
# Gemfile.localgem 'puma'
进入 Redmine 安装目录,运行以下命令安装之前已经安装过 Redmine 需要的 Gem:
cd ~/redminebundle install --without development test
使用以下命令可生成新的 session 密钥:
bundle exec rake generate_secret_token
Ruby on Rails 应用,在新安装、软件升级等过程中可以很容易创建或更新数据库结构:
RAILS_ENV=production bundle exec rake db:migrate
使用以下命令导入初始数据,包括默认的问题类型、工作流程等:
RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
上面的 REDMINE_LANG=zh 选项指定了使用中文,如果不加这个选项,该命令会提示输入语言代码。
如果安装过程中的用户与运行时的用户不一致,则需要设置文件系统权限:
mkdir -p tmp tmp/pdf public/plugin_assetschown -R redmine:redmine files log tmp public/plugin_assetschmod -R 755 files log tmp public/plugin_assets
执行以下命令可启动自带的应用服务,进行系统测试:
bundle exec rails server webrick -e production -b 0.0.0.0
如果在 Gemfile.local 文件中增加了 puma,还可选择启动 puma 代替 webrick:
bundle exec rails server puma -e production -b 0.0.0.0
当然在正式的生产环境中,应配置 nginx 或 apache2 服务,而不是通过命令行的方式启动服务。
在命令行中启动服务时,如果没有问题,会提示了访问地址和访问端口:
=> Booting Puma=> Rails 4.2.8 application starting in production on http://0.0.0.0:3000=> Run `rails server -h` for more startup options=> Ctrl-C to shutdown serverPuma starting in single mode...* Version 3.12.0 (ruby 2.3.1-p112), codename: Llamas in Pajamas* Min threads: 0, max threads: 16* Environment: production* Listening on tcp://0.0.0.0:3000Use Ctrl-C to stop
在使用 ECS 时,需要注意默认的 3000 端口是不开放的,此时需要通过 ECS 控制台添加安全组规则,接受来自客户端 IP 地址段的 TCP 3000 端口访问请求。当然在命令行中也可以指定端口号,只需要保证用户有权限打开该端口号、该端口号未被其他服务占用,且能被云服务和 ECS 的操作系统接受即可。
使用 ECS 的公网 IP 地址在浏览器中输入正确的 URL, 即可登录新安装的 Redmine。假设公网 IP 地址为 39.105.106.107, 端口为 3000, 则 URL 应为 。
默认的登录名和密码都是 admin,首次登录时会提示更改密码。
如果一切正常,Redmine 就算安装完成了,可以用于开发或测试。
在正式生产环境中,还应配置应用服务器、Web 服务器和安全证书,进行数据库调优,以适合大量用户同时访问,具体内容可参见 的。
转载地址:http://etghx.baihongyu.com/