在 Ubuntu 20.04 上安装 Redmine

在本指南中,您将学习如何在 Ubuntu 20.04 上安装 Redmine。 Redmine 是基于 Ruby on Rails 框架编写的跨平台、跨数据库、灵活的项目管理工具。

Redmine 的一些主要功能是:

  • 多项目支持
  • 灵活的基于角色的访问控制
  • 灵活的问题跟踪系统
  • 甘特图和日历
  • 新闻、文件和文件管理
  • 提要和电子邮件通知
  • 每个项目维基
  • 每个项目论坛
  • 时间跟踪
  • 问题、时间条目、项目和用户的自定义字段
  • SCM 集成(SVN、CVS、Git、Mercurial 和 Bazaar)
  • 通过电子邮件创建问题
  • 多个 LDAP 身份验证支持
  • 用户自行注册支持
  • 多语言支持
  • 多数据库支持

在功能页面上阅读有关 Redmine 功能的更多信息。

在 Ubuntu 20.04 上安装 Redmine

运行系统更新

首先,确保您的系统包是最新的。

apt update

Redmine 可以从默认的 Ubuntu 20.04 Universe 存储库安装。 但是,repos 不提供 Redmine 包。 例如,默认 Ubuntu 20.04 Universe 存储库上当前可用的 Redmine 版本是 v4.0.6;

apt-cache policy redmine
redmine:   Installed: (none)   Candidate: 4.0.6-2   Version table:      4.0.6-2 500         500 https://ke.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

但是,Redmine 4.2.2 是当前的 Release 版本。

因此,要在 Ubuntu 20.04 上安装 Redmine,您需要从源代码构建和安装它。

安装所需的构建工具和依赖项

要从源代码安装 Redmine,您需要安装所需的构建工具和依赖项。

apt install build-essential ruby-dev libxslt1-dev libmariadb-dev libxml2-dev zlib1g-dev imagemagick libmagickwand-dev curl gnupg2 bison libbison-dev libgdbm-dev libncurses-dev libncurses5-dev libreadline-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3

安装 Apache Ubuntu 20.04 上的 HTTP 服务器

安装 Apache 网络服务器和 Apache 用于 Ruby 轻量级 Web 服务器的Passenger 模块。

apt install apache2 libapache2-mod-passenger

启动并启用 Apache 在系统启动时运行。

systemctl enable --now apache2

安装 Ruby 解释器

Redmine 4.2 版支持 Ruby 2.4、2.5、2.6、2.7。

Ruby 作为上述包依赖项的一部分安装。 但是,安装的版本高于 Redmine 4.1 的推荐版本。

ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]

因此,使用 RVM 安装 Ruby 2.6;

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable

添加将使用的所有用户 rvm'rvm‘ 团体。 在这种情况下,我们将使用 root 用户运行 rvm;

usermod -aG rvm root

要开始使用 RVM,您需要加载 RVM 脚本环境变量;

source /etc/profile.d/rvm.sh

接下来,在 Ubuntu 20.04 上使用 RVM 安装所需的 Ruby 2.6;

rvm install 2.6.0

使 Ruby 2.6 成为默认的 ruby​​;

rvm --default use 2.6.0

然后重新验证Ruby版本;

ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]

创建 Redmine 系统用户

创建一个 Redmine 系统用户,可用于通过 bundler 命令安装 Redmine Ruby 依赖项。 将其主目录设置为 /opt/redmine 因为这是我们将安装 Redmine 应用程序的地方。

useradd -r -m -d /opt/redmine -s /usr/bin/bash redmine

添加 Apache Web 服务器用户到 Redmine 组。

usermod -aG redmine www-data

另外,将 redmine 用户添加到 RVM 组;

usermod -aG rvm redmine

在 Ubuntu 20.04 上安装 MariaDB

运行以下命令在 Ubuntu 20.04 上安装 MariaDB 数据库服务器

apt install mariadb-server

MariaDB 已启动并启用以在安装时在引导时运行。 如果尚未启动,请运行以下命令启动它;

systemctl enable --now mariadb

运行初始 MariaDB 数据库安全脚本以删除默认数据库、测试表、禁用远程 root 登录、

mysql_secure_installation

创建 Redmine 数据库和数据库用户

安装 MariaDB 后,以 root 用户身份登录并创建 Redmine 数据库和数据库用户。

相应地替换数据库和数据库用户的名称.

mysql -u root -p
create database redminedb;
grant all on redminedb.* to [email protected] identified by '[email protected]';

重新加载权限表并退出数据库。

flush privileges; quit

下载并安装 Redmine

导航 Redmine 发布页面并获取 Redmine tarball。

您可以简单地下载并解压 Redmine tarball 到 Redmine 安装目录, /opt/redmine.

curl -s https://www.redmine.org/releases/redmine-4.2.2.tar.gz | sudo -u redmine tar xz -C /opt/redmine/ --strip-components=1

在 Ubuntu 20.04 上配置 Redmine

一旦你在下面安装了 Redmine /opt/redmine 目录,您现在可以继续配置它。

通过重命名示例配置文件来创建 Redmine 配置文件,如下所示;

su - redmine
cp /opt/redmine/config/configuration.yml{.example,}
cp /opt/redmine/public/dispatch.fcgi{.example,}
cp /opt/redmine/config/database.yml{.example,}

配置 Redmine 数据库设置

打开创建的 Redmine 数据库配置设置并设置 MySQL 的 Redmine 数据库连接详细信息。

vim /opt/redmine/config/database.yml
... production:   adapter: mysql2   database: redminedb   host: localhost   username: redmineuser   password: "[email protected]"   # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7   encoding: utf8mb4 ... 

Save 并退出文件。

安装 Redmine Ruby 依赖项

以 redmine 用户身份注销 通过运行出口。

[email protected]:~$ exit

作为特权用户,导航到 Redmine 安装目录并安装 Ruby 依赖项。

cd /opt/redmine

安装 Bundler 以管理 gem 依赖项。

sudo gem install bundler

接下来,以 redmine 用户身份安装所需的 gems 依赖项。

su - redmine
bundle config set --local path 'vendor/bundle'
bundle install

生成秘密会话令牌

为了防止对存储会话数据的 cookie 进行调整,您需要生成一个随机密钥,Rails 使用该密钥对它们进行编码。

bundle exec rake generate_secret_token

创建数据库架构对象

通过运行以下命令创建 Rails 数据库结构;

RAILS_ENV=production bundle exec rake db:migrate

数据库迁移完成后,通过执行将默认配置数据插入数据库;

RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data

您可以放心地忽略 Ruby 警告。

配置文件系统权限

确保以下目录在 Redmine 目录中可用, /opt/redmine。

  • tmp 和 tmp/pdf
  • 公共和公共/plugin_assets
  • 日志
  • 档案

如果它们不存在,只需创建它们并确保它们归用于运行 Redmine 的用户所有。

for i in tmp tmp/pdf public/plugin_assets; do [ -d $i ] || mkdir -p $i; done
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 /opt/redmine

测试 Redmine 安装

Redmine 在 Ubuntu 20.04 上的设置现已完成。 Redmine 默认监听 TCP 端口 3000。 因此,在运行测试之前,如果防火墙正在运行,请在防火墙上打开端口 3000/tcp。

[email protected]:~$ exit
sudo ufw allow 3000/tcp

您现在可以通过执行以下命令使用 WEBrick 测试 Redmine;

su - redmine
bundle exec rails server webrick -e production

导航到浏览器并输入地址, https://server-IP-or-Hostname:3000. 更换 服务器 IP 或主机名 因此。

如果一切顺利,您应该登陆 Redmine 网络用户界面。

配置 Apache 适用于 Ubuntu 20.04 上的 Redmine

现在您已经确认 Redmine 按预期工作,继续配置 Apache 到服务器Redmine。

创建 Redmine Apache 虚拟主机配置文件。

exit
cat > /etc/apache2/sites-available/redmine.conf << 'EOL' Listen 3000 <VirtualHost *:3000> 	ServerName redmine.kifarunix-demo.com 	RailsEnv production 	DocumentRoot /opt/redmine/public  	<Directory "/opt/redmine/public"> 	        Allow from all 	        Require all granted 	</Directory>  	ErrorLog ${APACHE_LOG_DIR}/redmine_error.log         CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined </VirtualHost> EOL 

查看 Apache 错误配置。

apachectl configtest
Syntax OK

确保乘客模块已加载;

apache2ctl -M | grep -i passenger
passenger_module (shared)

如果未启用,请运行以下命令以启用它。

a2enmod passenger

启用 Redmine 站点。

sudo a2ensite redmine

禁用默认站点;

a2dissite 000-default.conf

重新加载 Apache

sudo systemctl restart apache2

检查以确保 Redmine 现在正在侦听端口 3000。

sudo lsof -i :3000
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME apache2 20011     root    6u  IPv6  71629      0t0  TCP *:3000 (LISTEN) apache2 20031 www-data    6u  IPv6  71629      0t0  TCP *:3000 (LISTEN) apache2 20032 www-data    6u  IPv6  71629      0t0  TCP *:3000 (LISTEN)

在浏览器上访问 Redmine

接下来,您现在可以使用地址在浏览器上访问和登录 Redmine https://server-IP-address:3000.

默认凭据: admin:admin.

出现提示时,重置您的 admin 密码。

设置您的 Redmine 配置文件;

创建项目

我们关于如何在 Rocky Linux 8 上安装 Redmine 的指南到此结束。您现在可以探索这个很棒的工具。

阅读有关如何使用 Redmine 用户指南的更多信息。

参考

Redmine安装

在 Rocky Linux 8 上安装 Vtiger CRM

在 Rocky Linux 8 上安装 Redmine