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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/345314.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript进阶:WebAPIs重点知识整理2

目录 1 对节点的相关操作 1.1 查找节点 1.1.1 查找节点的父节点 1.1.2 查找节点的子节点 1.1.3 查找节点的兄弟节点 1.2 新增节点(先创建,后追加) 1.3 克隆节点 1.4 删除节点 2 M 端(移动端)事件 3 JS清空表…

uniapp使用uni-forms表单校验无效

查看是否写了name属性,且name属性的属性值得和下面v-model绑定的一致,否则校验不生效 官网

C#string字符串相关面试题

C#字符串(string)是什么类型 C#中的字符串是一种引用类型,属于.NET Framework中的System.String类。在C#中,字符串是不可变的,也就是说,一旦被创建,就不能再被修改。这意味着对于任何字符串的操…

2024年可能会用到的几个地图可视化模板

前言 在数字化的过程中,数据可视化变得越来越重要。用户喜欢通过酷炫的视觉效果和直观的数据展示来理解数据。可视化地图组件是数据可视化的重要组成部分。这些地图组件提供多样化的效果,能够更好地展示数据的关系和地理分布,直观地将数据与…

JUC-CAS

1. CAS概述 CAS(Compare ans swap/set) 比较并交换,实现并发的一种底层技术。它将预期的值和内存中的值比较,如果相同,就更新内存中的值。如果不匹配,一直重试(自旋)。Java.util.concurrent.atomic包下的原…

二叉树

目录 1翻转二叉树 2对称二叉树 3二叉树的深度 最大深度 最小深度 4二叉树的结点数量 完全二叉树的结点数量 5平衡二叉树 6 中序 后序求前序 二叉树结构体如下: struct freenode {int data;struct freenode *lchild, *rchild;//左孩子 右孩子 }T; 1翻转二…

基于springboot+vue的在线商城系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

大数据处理,Pandas与SQL高效读写大型数据集

大家好,使用Pandas和SQL高效地从数据库中读取、处理和写入大型数据集,以实现最佳性能和内存管理,这是十分重要的。 处理大型数据集往往是一项挑战,特别是在涉及到从数据库读取和写入数据时。将整个数据集加载到内存中的传统方法可…

【第十六课】哈希表(acwing-840模拟散列表 / 拉链法 / 开放寻址法 / c++代码 )

目录 前言 哈希表思想 拉链法 开放寻址法 acwing-840模拟散列表 拉链法代码如下 开放寻址法代码 前言 我对哈希表的印象就是:感觉可以类比数组,像数组的下标和该下标所对的元素之间的关系一样,就是比如ha[0]1,那么我下标为…

mask transformer相关论文阅读

前面讲了mask-transformer对医学图像分割任务是非常适用的。本文就是总结一些近期看过的mask-transformer方面的论文。 因为不知道mask transformer是什么就看了一些论文。后来得出结论,应该就是生成mask的transformer就是mask transformer。 DETR 很多这些论文都…

机器学习 | 掌握Matplotlib的可视化图表操作

Matplotlib是python的一个数据可视化库,用于创建静态、动态和交互式图表。它可以制作多种类型的图表,如折线图、散点图、柱状图、饼图、直方图、3D 图形等。以渐进、交互式方式实现数据可视化。当然博主也不能面面俱到的讲解到所有内容,详情请…

新特性Record最全用法总结---动力节点总结

目录 0、有用的新特性 一、Record 1.1、Record的介绍: 1.2、Record的声明: 1.3、Record的创建: 1.4、Record使用举例: 1.5、Record-实例方法、静态方法 1.6、Record-三类构造方法 1.6.1、紧凑型构造、定制构造方法&#…

MySQL的启动与连接

一、启动MySQL服务 方式一:进入计算机管理界面,点击【服务】,找到【MYSQL80】,右键开启即可 方式二:以管理员身份打开powershell, 输入命令net start MYSQL80. 二、连接MySQL服务 进入MySQL的安装目录中的bin目录&a…

【jetson笔记】torchaudio报错

原因是因为pip安装的包与jetson不兼容导致 自己安装或者cmake编译也会报错 需要拉取官方配置好的docker镜像 拉取docker镜像 具体容器可以看官网,按照自己需求拉取即可 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 如果其他包不需要只需要torc…

Supplier 惰性调用和 Future#get 同步等待调用结合

📖一、背景介绍 关于任务异步执行,两个点不可避免:异步结果和异步回调。 而在我的工程中有这样一段代码:使用 CompletableFuture 进行封装,可以异步执行,异步回调,通过 get() 等待异步任务的结…

ArcEngine添加点要素、线要素、面要素及学习总结

基于C#的ArcEngine二次开发教程(13):点、线、面要素的绘制_arcengine onmousedown-CSDN博客 https://www.cnblogs.com/cannel/p/11074343.html ArcEngine绘制点、线、多边形、矩形、圆形、椭圆的代码_arcengine 开发 生成矩形-CSDN博客 https…

《数学之友》期刊投稿方式投稿邮箱

《数学之友》是国家新闻出版总署批准的正规期刊,设置的栏目主要有:数学教育、教材研究、教学研究、数学建模、思想方法、数学学习、解题探索、CAI专题、复习考试、错例剖析等。从解题技巧方法、数学问题的溯源探微释疑到新课程背景下的教改教法教案&…

Qt事件处理,提升组件类

1.相关说明 1.提升组件QLabel的类&#xff0c;以实现双击功能 2.监控键盘事件&#xff0c;实现上下左右移动 3.鼠标点击获取坐标 2.相关界面 3.相关代码和操作 自定义类TMyLabel&#xff0c;父类为QLabel tmylabel.h #ifndef TMYLABEL_H #define TMYLABEL_H #include <QL…

thinkphp+vue+mysql旅游推荐攻略分享网站p0667

基于php语言设计并实现了旅游分享网站。该系统基于B/S即所谓浏览器/服务器模式&#xff0c;应用thinkphp框架&#xff0c;选择MySQL作为后台数据库。系统主要包括用户、景点信息、攻略分类、旅游攻略、门票购买、留言反馈、论坛管理、系统管理等功能模块。运行环境:phpstudy/wa…

CSC7225

CSC7225 为高性能电流模式 PWM 开关电源控制器&#xff0c;满足绿色环保标准&#xff1b;广泛适用于经济型开关电源&#xff0c;如 DVD、机顶盒、传真机、打印机、LCD 显示器等。CSC7225 采用 DIP-8 封装。 CSC7225主要特点  CSC7225内置 700V 高压功率开关管&#xff0c;外…