在本指南中,您将学习如何在 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