前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 8 上安装和配置 Redmine

如何在 CentOS 8 上安装和配置 Redmine

作者头像
雪梦科技
发布2020-05-11 14:47:39
2K0
发布2020-05-11 14:47:39
举报
文章被收录于专栏:ITCoderITCoder

Redmine 是一个开源的项目管理和问题跟踪应用。它是一个跨平台并且跨数据库的应用,构建于 Ruby on Rails 框架之上。

Redmine 包括多项目支持,wiki,问题跟踪系统,论坛,日历,邮件提醒等等。

这个指南讲解如何在 CentOS 8 上安装和配置最新版本的 Redmine。 我们将会使用MariaDB作为数据库 和 Passenger + Apache 作为 Ruby 应用服务器。

一、前提条件

确保你满足下面的条件:

  • 指向你服务器公网 IP 的域名
  • 以 root 或者其他有 sudo 权限的用户身份登录

二、创建一个 MySQL数据库

Redmine 支持MySQL/MariaDB, Microsoft SQL Server, SQLite 3, 和 PostgreSQL。我们将会选择 MariaDB 作为数据库后端。

如果你没有在你的 CentOS 系统上安装 MariaDB 或者 MySQL,你可以按照下面的指令安装它. https://linuxize.com/post/how-to-install-mariadb-on-centos-8/

使用下面的命令,登录 MySQL shell:

sudo mysql

在MySQL shell,运行下面的SQL 表达式来创建数据库,新建用户,并且给用户授权:

CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
确保你将 change-with-strong-password 替换成一个强密码。

一旦完成,退出 MySQL shell:

EXIT;

三、 安装 Passenger, Apache and Ruby

Passenger 是一个很快速,轻量的网络应用服务器,适用于Ruby, Node.js, and Python,它还可以与Apache 、 Nginx集成。

我们将会安装 Passenger 作为一个 Apache 模块。

启用 EPEL repository:

sudo dnf install epel-release
sudo dnf config-manager --enable epel

一旦源被启用,更新软件包列表,并且安装 Ruby,Apache 和 Passenger:

sudo dnf install httpd mod_passenger passenger passenger-devel ruby

开启 Apache 服务并且启用开机启动:

sudo systemctl enable httpd --now

四、 创建新系统用户

创建一个新的用户和用户组,主目录为/opt/redmine,用于运行 Redmine 实例:

sudo useradd -m -U -r -d /opt/redmine redmine

添加apache 用户到 redmine用户组,并且修改/opt/redmine目录权限以便 Apache 能够访问它:

sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云
腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云

五、安装 Redmine

在写作的时候,Redmine最新稳定版本是 4.1.0

在继续下一步之前,浏览 Redmine下载页面,看看有没有更新的版本可用。

安装 构建 Redmine 所需要的 GCC 编译器和库:

sudo dnf group install "Development Tools"
sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel

确定你使用redmine用户运行下面的步骤:

sudo su - redmine

5.1 下载 Redmine

使用 curl下载 Redmine 压缩包:

curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz

一旦下载完成,解压这个压缩包:

tar -xvf redmine.tar.gz

5.2 配置 Redmine 数据库

拷贝 Redmine 示例数据库配置文件:

cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml

使用文本编辑器打开文件:

nano /opt/redmine/redmine-4.1.0/config/database.yml

搜索production章节,并且输入我们之前创建的 MySQL 数据库 和 用户信息:

/opt/redmine/redmine-4.1.0/config/database.yml

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8mb4

一旦完成,保存你的文件,并且退出编辑器。

5.3 安装 Ruby 依赖

切换到redmine-4.1.0目录并且安装 Ruby 依赖包:

cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle

5.4 生成密钥,并且迁移数据库

运行下面的命令来生成密钥,并且迁移数据库:

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate

六、配置 Apache

切换回你的 sudo 用户,并且创建 Apache Vhost文件:

exit
sudo nano /etc/httpd/conf.d/example.com.conf

/etc/httpd/conf.d/example.com.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /opt/redmine/redmine-4.1.0/public

    <Directory /opt/redmine/redmine-4.1.0/public>
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
        AllowOverride all
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
不要忘记将example.com替换成你的 Redmine 域名。

重启 Apache 服务,输入:

sudo systemctl restart httpd

6.1 配置 Apache SSL

如果你没有一个可信任的 SSL 证书,你可以按照这些指令,生成一个免费的Let’s Encrypt证书。https://linuxize.com/post/secure-apache-with-let-s-encrypt-on-centos-8/

一旦证书被生成,编辑类似下面的 Apache 配置文件:

sudo nano /etc/httpd/conf.d/example.com.conf

/etc/httpd/conf.d/example.com.conf

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent / https://example.com/
  </If>

  DocumentRoot /opt/redmine/redmine-4.1.0/public
  ErrorLog /var/log/httpd/example.com-error.log
  CustomLog /var/log/httpd/example.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

  <Directory /opt/redmine/redmine-4.1.0/public>
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
    AllowOverride all
  </Directory>

</VirtualHost>
不要忘记将example.com替换成你的Redmine域名,设置正确的 SSL 证书文件路径。所有的 HTTP 请求都转向 HTTPS。

七、 访问 Redmine

打开你的浏览器,输入你的域名,并且如果安装过程很成功,那么一个类似下面的界面将会出现:

默认的登录凭据如下:

  • 用户名: admin
  • 密码: admin

当你第一次登录时,你将会被提示修改密码,类似下面:

一旦你修改了密码,你将会被转向用户页面。

如果你无法访问页面,那很可能是你的防火墙阻止了 Apache 端口。

使用下面的命令,来打开必要的端口:

sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload

八、总结

你已经在你的 CentOS 系统上成功地安装了 Redmine。你现在应该查看 Redmine 文档,并且学习如何配置和使用 Redmine。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年03月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前提条件
  • 二、创建一个 MySQL数据库
  • 三、 安装 Passenger, Apache and Ruby
  • 四、 创建新系统用户
  • 五、安装 Redmine
    • 5.1 下载 Redmine
      • 5.2 配置 Redmine 数据库
        • 5.3 安装 Ruby 依赖
          • 5.4 生成密钥,并且迁移数据库
          • 六、配置 Apache
            • 6.1 配置 Apache SSL
            • 七、 访问 Redmine
            • 八、总结
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档