Centos 7 安裝 Redmine 4.x

Posted wemux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7 安裝 Redmine 4.x相关的知识,希望对你有一定的参考价值。

Centos 7 安裝 Redmine 4.x

​https://www.redmine.org/projects/redmine/wiki/RedmineInstall​​https://rvm.io/

環境說明

CentOS 7(Minimal Install)

# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

本次安装范围
Ruby 2.6
mysql 5.7
Redmine 4.1.5

安裝RVM

# 卸載舊版本ruby
$ yum remove ruby -y
# 安裝RVM
$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
$ curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
$ curl -L get.rvm.io | bash -s stable
# 添加用戶到rvm用戶組
$ gpasswd -a root rvm
# 加載RVM環境
$ source /etc/profile.d/rvm.sh
$ rvm reload
# 校驗依賴項並安裝
$ rvm requirements run

安裝Ruby

# 檢查可用Ruby版本
$ rvm list known
# 安裝想要的版本,以安裝2.6為例
$ rvm install 2.6

### 设置默认 Ruby 版本
$ rvm list
=* ruby-2.6.6 [ x86_64 ]

# => - current
# =* - current && default
# * - default

# 如果有多個版本,通過以下命令設置默認Ruby版本
$ rvm use 2.6 --default
Using /usr/local/rvm/gems/ruby-2.6.6

# 查看版本信息
$ ruby --version
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]

安裝Mysql

下载 mysql 源安装包

$ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装 mysql 源

$ rpm -ivh mysql57-community-release-el7-11.noarch.rpm

检查 yum 源是否安装成功

$ sudo yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community MySQL Connectors Community 21
mysql-tools-community MySQL Tools Community 38
mysql57-community MySQL 5.7 Community Server 130

如上所示,找到了 mysql 的安装包

安裝

$ sudo yum install mysql-community-server -y

配置數據庫

创建 redmine 用户和数据库,并分配权限,请替换 my_password 为您自己的密码。

$ mysql -u root -p
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
mysql> CREATE USER redmine@localhost IDENTIFIED BY my_password;
mysql> GRANT ALL PRIVILEGES ON redmine.* TO redmine@localhost;
mysql> flush privileges;

升级准备(可选)

如果您以前使用过 Redmine,需要升级,请先从原来的数据库导出 redmine 的数据库,再导入本数据库

# 原数据库导出
$ mysqldump -u root -p redmine > redmine.sql
# 将数据库备份文件上传到服务器后,导入数据库使用如下命令
$ mysql -u root -p --default-character-set=utf8 redmine < redmine.sql

安裝Redmine

安裝依賴包

$ sudo yum install mysql-devel libcurl-devel ImageMagick ImageMagick-devel

安裝Redmine

# 下載安裝包
$ curl -LO https://www.redmine.org/releases/redmine-4.1.5.tar.gz
# 解壓到/opt文件夾
$ tar -zxvf redmine-4.1.5.tar.gz -C /opt/
# 創建軟連接
$ cd /opt/
$ ln -s /opt/redmine-4.1.5 /opt/redmine

配置數據庫參數

修改 database.yml文件

# cd /opt/redmine/config
# cp database.yml.example database.yml
# vi database.yml

使用MYSQL數據庫配置,注意替換my_password為您的密碼

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password"

依賴安裝

Redmine 使用 Bundler 管理 gems 依赖

# 首先安装 Bundler
$ cd /opt/redmine
$ gem install bundler
# 安裝依賴
$ bundle install --without development test
# 設置密鑰
$ bundle exec rake generate_secret_token

創建數據庫Schema

創建數據庫,包括升級數據庫

$ bundle exec rake db:migrate RAILS_ENV=production

升级(可选)

# 升级插件数据库
$ sudo bundle exec rake redmine:plugins:migrate RAILS_ENV=production
# 附件拷贝
# 使用老版本的 redmine 系统,如果使用过程中上传了附件,需要拷贝一下,默认目录 $REDMINE_HOME\\files
$ cd /opt/redmine/files

将以前的 redline 附件拷贝到这个文件夹中,过程省略,请自行搜索文件拷贝相关命令如 scp。

初始化数据库

注意,如果是升级,可以不用执行此步骤

$ bundle exec rake redmine:load_default_data RAILS_ENV=production

測試安裝

$ bundle exec rails server webrick -e production

启动之后,访问 http://ip:3000 即可访问。admin/admin

其他設置

郵箱設置

​https://www.redmine.org/projects/redmine/wiki/EmailConfiguration​​注意 Redmine 4 开始,不需要使用 async_smtp 即可异步发送邮件。

代理設置

本例使用 nginx + Passenger 为例

$ sudo gem install passenger

安装完之后,安装 Nginx 的配置模块

$ rvmsudo passenger-install-nginx-module

按照安装步骤进行,默认会将 Nginx 安装到 /opt/nginx 目录内
注意:

$ rvmsudo passenger-install-nginx-module
sudo: passenger-install-nginx-module: command not found
# 因為它不在bash的$PATH var中。要找出路徑,請執行which passenger-install-nginx-module
$ which passenger-install-nginx-module
/usr/local/rvm/gems/ruby-2.6.6/bin/passenger-install-nginx-module
$ rvmsudo /usr/local/rvm/gems/ruby-2.6.6/bin/passenger-install-nginx-module

配置Nginx

$ cd /opt/nginx/conf
$ sudo vi nginx.conf

如果想使用根目录 http://ip 访问,类似如下设置

http 
# passenger 配置
passenger_root /usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.4;
passenger_ruby /usr/local/rvm/gems/ruby-2.6.5/wrappers/ruby;

...
...

server
listen 80;
server_name localhost;
# 跟目录的 passenger 配置
root /opt/redmine/public;
passenger_enabled on;

error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;


如果想使用 Sub-URI http://domain/redmine 访问,类似如下配置

http 
# passenger 配置
passenger_root /usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.4;
passenger_ruby /usr/local/rvm/gems/ruby-2.6.5/wrappers/ruby;

...
...

server
listen 80;
server_name localhost;
passenger_enabled on;

location /
root html;


# sub-uri 的 passenger 配置
location ~ ^/redmine(/.*|$)
alias /opt/redmine/public$1;
passenger_base_uri /redmine;
passenger_app_root /opt/redmine;
passenger_document_root /opt/redmine/public;
passenger_enabled on;


error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;


系統服務

$ vim /lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

$ systemctl daemon-reload
$ systemctl start nginx

以上是关于Centos 7 安裝 Redmine 4.x的主要内容,如果未能解决你的问题,请参考以下文章

centos6.7安装redmine系统

CentOS 7 安装 bitnami redmine

阿里云ECS+CentOS 7.0+Docker+Redmine环境搭建

7_1一文Centos8安裝Git

CentOS 7 編譯qBittorrent Web UI安裝指南

centos7安装redmine3,并升级redmine1.8到3