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
这两个命令的作用如下:
-
source /etc/profile.d/rvm.sh
:- 这个命令用于加载 RVM 的环境变量和配置,使得当前 shell 会话可以识别 RVM 命令。
/etc/profile.d/rvm.sh
是 RVM 安装时创建的脚本,通常用于设置 RVM 的路径和相关环境变量。
- 这个命令用于加载 RVM 的环境变量和配置,使得当前 shell 会话可以识别 RVM 命令。
-
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/
-
gem sources --remove https://rubygems.org/
:- 从 gem 源中移除官方 RubyGems 源。这通常是为了切换到其他源。
-
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