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: mysql2database: redminehost: localhostusername: rootpassword: Test@2024# Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7encoding: utf8mb4variables:# 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_configurationtransaction_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: mysql2vdatabase: 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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

架构师的36项修炼-06高性能系统架构设计

本课时讲解大家常听到的高性能系统架构。 高性能系统架构,主要包括两部分内容,性能测试与性能优化。性能优化又可以细分为硬件优化、中间件优化、架构优化及代码优化,知识架构图如下。 性能测试 先看系统的性能测试。性能测试是性能优化的…

Mybatis 动态SQL条件查询(注释和XML方式都有)

需求 : 根据用户的输入情况进行条件查询 新建了一个 userInfo2Mapper 接口,然后写下如下代码,声明 selectByCondition 这个方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import j…

GetShell的姿势

0x00 什么是WebShell 渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权…

AnimatedDrawings:让绘图动起来

老样子,先上图片和官网。这个项目是让绘制的动画图片动起来,还能绑定人体的运动进行行为定制。 快速开始 1. 下载代码并进入文件夹,启动一键安装 git clone https://github.com/facebookresearch/AnimatedDrawings.gitcd AnimatedDrawingspip…

python批量处理修改pdf内容

将PDF转换为Word: 使用pdf2docx库中的Converter类来进行PDF转换。convert_pdf_to_docx函数接受PDF文件路径和输出的Word文档路径作为参数。通过调用Converter对象的convert方法将PDF转换为Docx格式。最后调用close方法关闭Converter对象并保存转换后的文档。 将Word…

一文读懂RabbitMQ核心概念及架构

1. RabbitMQ简介 RabbitMQ是一个开源的消息代理软件,实现了高级消息队列协议(AMQP)。它是一个应用程序对应用程序的通信方法,基于消费-生产者模型。在RabbitMQ中,消息的生产者将消息发布到队列中,而消息的…

【zlm】针对单个设备的码率的设置

目录 代码修改 实验数据一 实验数据二 同时拉一路视频后 修改记录 使用方法 各库实操 代码修改 要被子类引用 ,所以放在protected 不能放private 下面的结论,可以在下面的实验数据里引用。“同时拉一路视频后” 实验数据一 https://10.60.3.45:1…

共话 AI for Science | 北京大学王超名:BrainPy,迈向数字化大脑的计算基础设施

导读: 2023 和鲸社区年度科研闭门会以“对话 AI for Science 先行者,如何抓住科研范式新机遇”为主题,邀请了多个领域的专家学者共同探讨人工智能在各自领域的发展现状与未来趋势。 在脑科学领域,数字化大脑通过数学模型和计算机…

Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

文章目录 Matplotlib: 强大的数据可视化工具1. 基础1.1 安装Matplotlib1.2 创建第一个简单的图表1.3 图表的基本组件:标题、轴标签、图例 2. 常见图表类型2.1 折线图2.2 散点图2.3 条形图2.4 直方图 3. 图表样式与定制3.1 颜色、线型、标记的定制3.2 背景样式与颜色…

【JavaEE进阶】 MyBatis使用XML实现增删改查

文章目录 🎍前言🍀配置连接字符串和MyBatis🍃写持久层代码🚩添加mapper接⼝🚩添加UserInfoXMLMapper.xml🚩单元测试 🌴增(Insert)🚩返回⾃增id 🎋删(Delete)&…

JAVA_LinkedList添加元素源码分析(jdk17)

目录 先看一些重要的源码: 开始分析: 底层数据结构是双链表,查询慢,首尾操作是极快的,所以多了很多首尾操作的特有 Api: addlast 和 add 一样元素默认添加到末尾,了解即可。 先看一些重要的源…

vue3源码(二)reactiveeffect

一.reactive与effect功能 reactive方法会将对象变成proxy对象&#xff0c; effect中使用reactive对象时会进行依赖收集&#xff0c;稍后属性变化时会重新执行effect函数。 <div id"app"></div><script type"module">import {reactive,…

web开发学习笔记(14.mybatis基于xml配置)

1.基本介绍 2.基本使用 在mapper中定义 在xml中定义&#xff0c;id为方法名&#xff0c;resultType为实体类的路径 在测试类中写 3. 动态sql&#xff0c;if和where关键字 动态sql添加<where>关键字可以自动产生where和过滤and或者or关键字 where关键字可以动态生成whe…

C++面试:跳表

目录 跳表介绍 跳表的特点&#xff1a; 跳表的应用场景&#xff1a; C 代码示例&#xff1a; 跳表的特性 跳表示例 总结 跳表&#xff08;Skip List&#xff09;是一种支持快速搜索、插入和删除的数据结构&#xff0c;具有相对简单的实现和较高的查询性能。下面是跳表…

常用芯片学习——HC244芯片

HC573 三态输出八路缓冲器|线路驱动器 使用说明 SNx4HC244 八路缓冲器和线路驱动器专门设计用于提高三态存储器地址驱动器、时钟驱动器以及总线导向接收器和发送器的性能和密度。SNx4HC244 器件配备两个具有独立输出使能 (OE) 输入的 4 位缓冲器和驱动器。当 OE 为低电平时&a…

【AI视野·今日NLP 自然语言处理论文速览 第七十五期】Thu, 11 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 11 Jan 2024 Totally 36 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Leveraging Print Debugging to Improve Code Generation in Large Language Models Authors Xueyu Hu, Kun K…

php基础学习之代码框架

一&#xff0c;标记 脚本标记&#xff08;已弃用&#xff09;&#xff1a;<script language"php"> php代码 </script> 标准标记&#xff1a;<?php php代码 ?> 二&#xff0c;基础输出语句 不是函数&#xff0c;…

行业分析|中国人工智能发展的优势与差距

​人工智能&#xff0c;被誉为第四次工业革命的催化剂&#xff0c;吸引着发达国家和众多科技公司大举投入研发。我国积极构筑人工智能发展的先发优势&#xff0c;党的二十大报告提出推动战略性新兴产业集群&#xff0c;构建一系列新的增长引擎&#xff0c;包括信息技术、人工智…

QT发送request请求

时间记录&#xff1a;2024/1/23 一、使用步骤 &#xff08;1&#xff09;pro文件中添加network模块 &#xff08;2&#xff09;创建QNetworkAccessManager网络管理类对象 &#xff08;3&#xff09;创建QNetworkRequest网络请求对象&#xff0c;使用setUrl方法设置请求url&am…

MySQL 8.3 发布, 它带来哪些新变化?

1月16号 MySQL 官方发布 8.3 创新版 和 8.0.36 长期支持版本 (该版本 没有新增功能&#xff0c;更多是修复bug )&#xff0c;本文基于 官方文档 说一下 8.3 版本带来的变化。 一 增加的特性 1.1 GTID_NEXT 支持增加 TAG 选项。 之前的版本中 GTID_NEXTUUID:number &#xff…