centos7.9安装Redmine 5.1

安装前提:先安装好mysql,并且新建数据库redmine

安装数据库在上一篇博客写了,可以点连接进入查看

新建数据库简单说一下:

1.登录 MySQL

你需要使用 MySQL 客户端登录到 MySQL 服务器。可以使用以下命令:

mysql -u username -p

输入你的 MySQL 用户名和密码

 

2.创建数据库

登录后,使用以下 SQL 语句创建数据库:

CREATE DATABASE redmine;

3.查看已创建的数据库

您可以使用以下命令查看当前 MySQL 服务器上的所有数据库:

SHOW DATABASES;

 

前提工作都做好了,下面开始正式部署安装redmine

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

链接里面的是5.11版本,大家也可以到官网下载自己想要的版本:https://www.redmine.org/projects/redmine/wiki/Download

 

2:解压压缩包

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

 

3:配置mysql

3.1:先到/usr/local/software/redmine-5.1.1路径下,就是刚刚解压的文件路径下

cd /usr/local/software/redmine-5.1.1

3.2:复制一份数据库配置文件

cp config/database.yml.example config/database.yml

3.3:编辑配置文件

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

 

因为我用的是mysql,主要就是修改红框中的配置,数据库名,地址,还有用户名和密码,填入自己的配置即可

 

4:安装需要的库

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

 

 

5:安装rvm

  • 通过 curl 下载并安装 RVM(Ruby Version Manager),用于管理 Ruby 的版本。-L 选项允许跟随重定向。
curl -L get.rvm.io | bash -s stable

如果报错拒绝链接

5.1:添加代理

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

 

5.2:然后再执行下载安装命令

 

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

 

 

5.3:执行搜索命令,确认rvm是否安装

find / -name rvm.sh
  • 在整个文件系统中搜索名为 rvm.sh 的文件,通常用于确认 RVM 是否已正确安装。

 

 5.4:然后执行:

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

 

这两个命令的作用如下:

  1. source /etc/profile.d/rvm.sh

    • 这个命令用于加载 RVM 的环境变量和配置,使得当前 shell 会话可以识别 RVM 命令。/etc/profile.d/rvm.sh 是 RVM 安装时创建的脚本,通常用于设置 RVM 的路径和相关环境变量。
  2. rvm -v

    • 这个命令用于显示当前安装的 RVM 版本,确认 RVM 是否已正确安装并可用。

这两个命令通常是在安装 RVM 后执行的,以确保环境配置正确并且可以使用 RVM 进行 Ruby 版本管理。

 

5.5:执行检查安装命令:

rvm requirements

这是在检查安装 Ruby 所需的依赖项和系统要求

 

5.6:使用RVM安装Ruby3.0版本

rvm install 3.0

 

5.7:检查Ruby和gem版本,确保安装成功并且工具可用

ruby -v
gem -v

 

5.8:给gem换个国内的源,提高下载速度

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
  1. gem sources --remove https://rubygems.org/

    • 从 gem 源中移除官方 RubyGems 源。这通常是为了切换到其他源。
  2. gem sources -a https://gems.ruby-china.com/

    • 添加 Ruby China 源作为 gem 的新源,以提高 gem 的下载速度

 

5.9:安装Rails6.1.7.6

 gem install rails -v 6.1.7.6

 

5.10:配置 Bundler 使用 Ruby China 源作为 RubyGems 的镜像,以加快 gem 的安装速度。

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

 

5.11:根据 Gemfile 安装项目所需的所有 gem

bundle install

 

5.12:生成一个新的安全令牌,用于 Rails 应用的会话和 Cookie 加密

bundle exec rake generate_secret_token

 

5.13:在生产环境中运行数据库迁移,更新数据库结构以匹配应用的当前版本,生成库表结构

 

RAILS_ENV=production bundle exec rake db:migrate

 

5.14:加载 Redmine 的默认数据到数据库中,以便进行初始设置和配置。

 

RAILS_ENV=production bundle exec rake redmine:load_default_data

 选择zh就是选择中文

 

5.15:文件系统权限设置

#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

这些命令用于设置 Redmine 应用的文件和目录结构,确保正确的用户权限和访问权限。具体解释如下:

mkdir -p tmp tmp/pdf public/plugin_assets::

创建名为 tmp、tmp/pdf 和 public/plugin_assets 的目录。-p 选项允许创建多级目录,如果上级目录不存在,会自动创建。


目录所属用户配置:

1:sudo chown -R redmine:redmine files log tmp public/plugin_assets:
如果以 redmine 用户身份运行,递归地将 files、log、tmp 和 public/plugin_assets 目录的所有权更改为 redmine 用户及其组。


2:sudo chown -R root:root files log tmp public/plugin_assets:
如果以 root 用户身份运行,递归地将这几个目录的所有权更改为 root 用户及其组。


目录权限配置:

1:sudo chmod -R 755 files log tmp public/plugin_assets:
递归地设置 files、log、tmp 和 public/plugin_assets 目录的权限为 755,即所有者具有读、写和执行权限,组用户和其他用户具有读和执行权限。这通常是为了确保 Web 服务器或应用能够访问这些目录,但不允许其他用户随意修改它们。

这些步骤确保了 Redmine 应用在运行时能够正确访问和管理其所需的文件和目录,同时也保护了这些文件和目录的安全性。

 

5.16:启动服务

 

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看到下面页面即安装成功

 

 

登录

默认账号admin,默认密码admin

 

说个坑点,如果启动成功,直接关闭Xshell以后进程是会被杀掉的,执行了nohup指令后,退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端,这样就可以解决这个情况

 

这是安装顺利的情况,下面讲讲启动失败的情况

在执行启动命令是会发现并没有绑定端口启动,然后用curl命令也会连接失败

 

那我们执行把启动服务命令的 nohup去掉,会把报错信息打印出来

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

 

 

如果发现报错信息是cannot load such file -- blankslate (LoadError),就是我们的gem里面缺少blankslate,redmine官网也有同样的问题

 

 那我们知道现在缺少了blankslate我们安装即可

1:首先,我们进入到redmine文件夹的路径下,找到Gemfile

 

 2:然后在gemfile里面添加一行 gem 'blankslate'

 

vi GemFile

插入

gem 'blankslate'

 

 

然后wq保存退出

 

3:重新安装gem

 

bundle install

 

 

 4:重新启动服务

 

bundle exec rails server -e production

 这次可以了

 

 

还有一个坑

就是在进入到redmine目录时会提示ruby的版本不符合,查看了发现明明安装的版本是3.0.0,要求是在2.7.0到3.3.0之间,但是还是提示这个,只要我们的Rubs,Rails和Mysql版本和官网给的要求对得上即可,上面那个就是指关于RVM的一些警告提示,可以忽略

要解决这个提示,我们修改一下 Gemfile

把原来的 ruby '>= 2.7.0', '< 3.3.0'注释掉

添加 

ruby '3.0.0'  

这个3.0.0是你安装的版本

 

 

 

 具体安装参考文章如下

官网安装:https://www.redmine.org/projects/redmine/wiki/RedmineInstall

参考文章还有:https://blog.csdn.net/c5211314963/article/details/135742423

 

posted @ 2024-09-10 16:46  Hiro-D  阅读(203)  评论(0编辑  收藏  举报