centos7.9安装redmine5.1.1

前提:

安装mysql并新建数据库--教程太多了此步骤省略;

用sqlyog连上mysql创建数据库redmine;

1.下载redmine-5.1.1.tar.gz,上传到/usr/local/software目录下;

2.解压

cd /usr/local/software
tar -zxvf redmine-5.1.1.tar.gz

 配置mysql

cd /usr/local/software/redmine-5.1.1
#复制一份配置文件
cp config/database.yml.example config/database.yml
#编辑配置文件
vi config/database.yml
#修改后的内容如下

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: root
  password: Test@2024
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4
  variables:
    # Recommended `transaction_isolation` for MySQL to avoid concurrency issues is
    # `READ-COMMITTED`.
    # In case of MySQL lower than 8, the variable name is `tx_isolation`.
    # See https://www.redmine.org/projects/redmine/wiki/MySQL_configuration
    transaction_isolation: "READ-COMMITTED"

#development:
  #adapter: mysql2
  #database: redmine_development
  #host: localhost
  #username: root
  #password: ""
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  #encoding: utf8mb4
  #variables:
    #transaction_isolation: "READ-COMMITTED"

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
#test:
  #adapter: mysql2
  vdatabase: redmine_test
  #host: localhost
  #username: root
  #password: ""
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  #encoding: utf8mb4
  #variables:
    #transaction_isolation: "READ-COMMITTED"

# PostgreSQL configuration example
#production:
#  adapter: postgresql
#  database: redmine
#  host: localhost
#  username: postgres
#  password: "postgres"

# SQLite3 configuration example
#production:
#  adapter: sqlite3
#  database: db/redmine.sqlite3

# SQL Server configuration example
#production:
#  adapter: sqlserver
#  database: redmine
#  host: localhost
#  username: jenkins
#  password: jenkins

#然后执行保存
wq

 3.安装需要的库

yum install -y gcc gcc-c++ make automake cmake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel mysql-devel ruby ruby-devel rubygems

4.安装rvm

curl -L get.rvm.io | bash -s stable

如果报错拒接链接如下图

则添加代理:

vi /etc/hosts
#增加下面这行
199.232.28.133 raw.githubusercontent.com
#保存
wq

然后再执行

curl -L get.rvm.io | bash -s stable

find / -name rvm.sh

 

source /etc/profile.d/rvm.sh
rvm -v

 

rvm requirements

rvm install 3.0

ruby -v
gem -v

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
 gem install rails -v 6.1.7.6

如果安装rails报错如下:

ERROR:  SSL verification error at depth 3: certificate has expired (10)
/usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/net/protocol.rb:46: warning: exception in verify_callback is ignored
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired) (https://index.ruby-china.com/quick/Marshal.4.8/rails-6.1.7.6.gemspec.rz)

解决方式:

1)下载证书:https://curl.se/ca/cacert.pem

2)上传证书到服务器:/home/ssl/cacert.pem

3)配置环境变量

vi /etc/profile
#增加
export SSL_CERT_FILE=/home/ssl/cacert.pem
wq
source /etc/profile
然后执行:
gem install rails -v 6.1.7.6

配置bundler国内源

bundle config mirror.https://rubygems.org https://gems.ruby-china.com

 执行安装依赖

bundle install

如果报这个错:

mysql2 0.5.5安装失败,需要执行下面命令安装依赖

 yum install mysql-devel --nogpgcheck

 然后再执行

bundle install

 至此bundle的依赖安装完成

5.添加会话缓存

bundle exec rake generate_secret_token

 

 6.生成库表结构

RAILS_ENV=production bundle exec rake db:migrate

 

 7.加载默认数据

RAILS_ENV=production bundle exec rake redmine:load_default_data

 选择zh即中文

 8.文件系统权限设置

#1.创建目录
mkdir -p tmp tmp/pdf public/plugin_assets
#2.目录所属用户配置
#如果创建了redmine用户执行
sudo chown -R redmine:redmine files log tmp public/plugin_assets
#如果直接用root用户执行
sudo chown -R root:root files log tmp public/plugin_assets
#3.目录权限配置
sudo chmod -R 755 files log tmp public/plugin_assets

 9.启动服务

nohup bundle exec rails server -e production -b 0.0.0.0 -p 3000 &

 通过curl可以看到服务已经启动成功了

 如果防火墙没有关闭,需要把3000端口开放一下,执行命令

#开放3000端口,以便局域网可以访问
firewall-cmd --permanent --add-port=3000/tcp
#重启防火墙生效
firewall-cmd --reload

 

此时通过局域网浏览器输入

 http://局域网ip:3000看到下面页面即安装成功

10.登录

默认账号admin,默认密码admin

 登录成功需要重置默认密码

其他操作这里就不细述了。。。