当前位置: 首页 > news >正文

Ubuntu 上安装 Redmine 5.1 指南

在这里插入图片描述

文章目录

  • 官网安装文档:
  • 命令步骤
  • 相关介绍
    • Gem
    • Ruby
    • Rails
    • Bundler
  • 安装 Redmine
    • 更新系统包列表和软件包:
    • 安装必要的依赖:
    • 安装 Ruby:
    • 安装 bundler
    • 下载 Redmine 源代码:
    • 安装 MySQL
    • 配置 Redmine 的数据库配置文件:
    • 换源
    • 安装 Redmine 的依赖包:
        • 如何修复在 ubuntu 上安装 rails 项目包时出现的权限错误
    • 生成 Session 存储密钥:
    • 创建数据库架构对象
    • 数据库默认数据集
    • 运行
    • 端口转发


官网安装文档:

Wiki Guide
https://www.redmine.org/projects/redmine/wiki/RedmineInstall

centos7.9安装Redmine 5.1

命令步骤

sudo apt update
sudo apt install mysql-server# ----------------------------------------------------------------
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;use mysql;
update user set host='%' where user='root' and host='localhost';
flush privileges; 
grant all on *.* to 'root'@'%';
flush privileges; mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';# ----------------------------------------------------------------
# Ruby环境
sudo apt install ruby-full
# 安装 RubyGems 编译或构建工具
sudo apt install -y build-essential libmysqlclient-dev imagemagick libmagickwand-dev# gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
# gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
# gem sources -lsudo gem install bundler
# sudo gem install rails
# sudo gem install rails -v 6.1.7.8bundle config mirror.https://rubygems.org https://gems.ruby-china.com
# bundle config mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems# ----------------------------------------------------------------
wget https://www.redmine.org/releases/redmine-5.1.3.tar.gz
tar -xf redmine-5.1.3.tar.gz
cd redmine-5.1.3/config/
cp database.yml.example database.yml
vim database.yml
cd ..# ----------------------------------------------------------------
sudo chown -R liuqz:liuqz /var/lib/gems/
sudo chown -R liuqz:liuqz /usr/local/bin
bundle config set --local without 'development test rmagick'
bundle install# ----------------------------------------------------------------
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
# zh
bundle exec rails server -e production  -b 0.0.0.0
# bundle exec rails server -e production -b 0.0.0.0 -p 3002
# bundle exec rails server -e production -b 0.0.0.0 -p 3001
# nohup bundle exec rails server -e production -b 0.0.0.0 -p 3000 &

相关介绍

Gem

Linux Gem 是一个用于管理 RubyRails 应用程序的包管理器,它提供了一种简单的方式来安装、更新和管理 Ruby 和 Rails 应用程序所需的依赖项。

linux gem是什么

Ruby

Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。

Ruby 百科

Rails

Rails 是一个 Web 应用程序框架,它包含根据 模型-视图-控制器 (MVC) 模式创建数据库支持的 Web 应用程序所需的一切。

Rails Github

Bundler

   ‌Bundler 是一个用于管理 Ruby 项目依赖关系的工具。‌ 它可以帮助开发人员确保项目的 Gem 包版本一致性,避免由于不同开发环境导致的依赖冲突问题。Bundler 通过 Gemfile 文件定义项目的依赖关系,使得依赖管理更加清晰和可维护‌。
   
   Bundler 的最新功能包括:

  • ‌自动依赖解决‌:确保安装和升级软件包时不会出现依赖错误。
  • 并行安装‌:支持并行安装多个软件包,加快安装速度。
  • ‌交互式界面‌:提供交互式界面,方便浏览、安装和卸载软件包。
  • ‌定制脚本支持‌:允许用户编写定制脚本来执行特定的软件包操作。
  • ‌安全更新‌:自动检查和应用软件包的安全更新,确保系统安全‌

安装 Redmine

在Ubuntu 22.04上搭建Redmine的步骤如下:

更新系统包列表和软件包:

sudo apt update
sudo apt upgrade -y

安装必要的依赖:

sudo apt install -y build-essential libmysqlclient-dev imagemagick libmagickwand-dev# sudo apt-get install build-essential libssl-dev libreadline-dev zlib1g-dev

安装 Ruby:

sudo apt install -y ruby-full

安装 bundler

sudo gem install bundler

下载 Redmine 源代码:

wget https://www.redmine.org/releases/redmine-5.1.3.tar.gz
wget https://www.redmine.org/releases/redmine-5.0.0.tar.gz
tar xzvf redmine-5.0.0.tar.gz
mv redmine-5.0.0 /var/www/redmine
cd /var/www/redmine

安装 MySQL

ubuntu22安装mysql8.0

sudo apt install -y mysql-server mysql-client
# sudo systemctl enable mysql
# sudo systemctl start mysql
# sudo mysql_secure_installation# ----------------------------------------------------------------sudo mysql # 连接到 mysql 服务器 # -- 连接mysql服务器后需要执行两条命令
# -- 修改root登录通过密码验证,并设置root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# -- 刷新权限表
FLUSH PRIVILEGES;use mysql;
# -- 更新root用户可以远程在任何机器上登录
update user set host='%' where user='root' and host='localhost'; 
# -- 刷新权限表,使配置生效。注意:此时就要刷新一下权限表
flush privileges; 
#-- all on 表示所有权限;% 表示通配所有的host 可以远程访问。
grant all on *.* to 'root'@'%';
#-- 再次刷新权限表
flush privileges;
exit# ----------------------------------------------------------------# 登录 MySQL
mysql -u root -p# 创建redmine数据库和用户
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

配置 Redmine 的数据库配置文件:

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

在文件中找到 production 部分并修改以下配置:

production:adapter: mysql2database: redminehost: localhostusername: redminepassword: "my_password"encoding: utf8mb4

换源

gem sources --remove https://rubygems.org/ gem sources --add https://gems.ruby-china.com/
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/# 查看一下修改
gem sources -l# 修改 bundle 配置
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
# 或
bundle config mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems

安装 Redmine 的依赖包:

cd /var/www/redmine# 解决 bundler install 没有权限的问题
sudo chown -R liuqz:liuqz /var/lib/gems/
sudo chown -R liuqz:liuqz /usr/local/binbundle config set --local without 'development test rmagick'
bundle install
# OR
bundle install --verbose

react-native工程执行bundler install挂死或超时问题
国内使用bundler install等命令时,经常出现卡住或响应慢的现象,替换为国内源即可解决问题

如何修复在 ubuntu 上安装 rails 项目包时出现的权限错误
chown -R l:l /usr/local/bin
# OR
bundle config path <path>

如何修复在 ubuntu 上安装 rails 项目包时出现的权限错误?
使用 bundler 2.4.x 的 Bundler::PermissionError 写入错误

生成 Session 存储密钥:

bundle exec rake generate_secret_token

或者,您可以将此秘密存储在 config/secrets.yml 中:
http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml

创建数据库架构对象

通过在应用程序根目录下运行以下命令来创建数据库结构:

RAILS_ENV=production bundle exec rake db:migrate

数据库默认数据集

RAILS_ENV=production bundle exec rake redmine:load_default_data
# 选择 zh 中文
# OR
RAILS_ENV=production REDMINE_LANG=fr bundle exec rake redmine:load_default_data

运行

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

端口转发

netstat -ano | findstr :3000
netsh interface portproxy show v4tov4  netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=172.23.244.22 protocol=tcpnetsh interface portproxy add v4tov4 listenport=5244 listenaddress=0.0.0.0 connectport=5244 connectaddress=172.19.221.125 protocol=tcp

vitualbox NAT模式多虚拟机网络配置

Windows 上为 WSL2 设置端口转发,实现局域网访问
如何转发 wsl 的应用端口

防火墙
高级安全 Window Defender 防火墙,入站规则,开放 3000 端口

   
 

相关文章:

Ubuntu 上安装 Redmine 5.1 指南

文章目录 官网安装文档&#xff1a;命令步骤相关介绍GemRubyRailsBundler 安装 Redmine更新系统包列表和软件包&#xff1a;安装必要的依赖&#xff1a;安装 Ruby&#xff1a;安装 bundler下载 Redmine 源代码&#xff1a;安装 MySQL配置 Redmine 的数据库配置文件&#xff1a;…...

从变量的角度理解 Hooks , 变得更简单了

从变量角度理解Hooks 在React的世界里&#xff0c;Hooks的引入为函数式组件带来了前所未有的灵活性和能力。它们让我们得以完全摆脱class式的写法&#xff0c;在函数式组件中完成生命周期管理、状态管理、逻辑复用等几乎全部组件开发工作。这次&#xff0c;我们就从变量的角度…...

LabVIEW Modbus通讯稳定性提升

在LabVIEW开发Modbus通讯程序时&#xff0c;通讯不稳定是一个常见问题&#xff0c;可能导致数据丢失、延迟或错误。为了确保通讯的可靠性&#xff0c;可以从多个角度进行优化&#xff0c;以下是一些有效的解决方案&#xff0c;结合实际案例进行分析。 1. 优化通讯参数设置 通讯…...

(8) cuda分析工具

文章目录 Nvidia GPU性能分析工具Nsight SystemNvidia GPU性能分析工具Nsight System Nvidia GPU性能分析工具Nsight System NVIDIA Nsight Systems是一个系统级的性能分析工具&#xff0c;用于分析和优化整个CUDA应用程序或系统的性能。它可以提供对应用程序整体性能的全面见…...

C语言 | Leetcode C语言题解之第517题超级洗衣机

题目&#xff1a; 题解&#xff1a; int findMinMoves(int* machines, int machinesSize){int sum0;for(int i0;i<machinesSize;i){summachines[i];}if(sum%machinesSize!0){return -1;}int psum/machinesSize;int ans0;int cur0;for(int i0;i<machinesSize;i){cur(mac…...

Java多线程编程基础

目录 编写第一个多线程程序 1. 方式一 : 继承Thread类, 重写run方法 2. 方式二: 实现Runnable接口, 重写run方法 3. 方式三: 使用Lambda表达式 [匿名内部类] [Lambda表达式] 在上个文章中, 我们了解了进程和线程的相关概念. 那么, 在Java中, 我们如何进行多线程编程呢? …...

刷代随有感(134):单调栈——下一个更大元素I(难点涉及哈希表与单调栈的结合)

单调栈处理的是下标&#xff01; 题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int>ddst;unordered_map<int,int>umap;vector<int…...

Linux云计算 |【第五阶段】CLOUD-DAY5

主要内容&#xff1a; 容器的镜像编排&#xff0c;commit简单镜像创建&#xff0c;Dockerfile制作服务镜像&#xff08;语法、创建镜像&#xff09;、创建复杂镜像&#xff08;Docker微服务架构、示例&#xff1a;NGINXPHP&#xff09;、私有仓库 一、简单镜像创建 1、自定义…...

被上传文件于后端的命名策略

上一篇博客我们了解了前端上传的文件资源应该存放在后端项目中的什么位置&#xff0c;那么随之而来的另一个问题——我们应该如何为上传的文件命名呢&#xff1f;往往直接采用原文件名并不稳妥&#xff0c;会导致命名冲突、文件冲突、数据库管理冲突等多种问题&#xff0c;下面…...

哈希表 算法专题

哈希表简介 是什么 存储数据的容器有啥用? "快速"查找某个元素什么时候用哈希表 频繁地查找某个数(有序用二分)怎么用哈希表 容器用数组模拟 字符串中的字符 范围比较小的数 一. 两数之和 两数之和 class Solution {public int[] twoSum(int[] nums, int targe…...

unity3d————[HideInInspector]

在Unity3D中&#xff0c;[HideInInspector]是一个属性修饰符&#xff0c;它的主要作用是在Unity的Inspector窗口中隐藏变量或属性。以下是关于[HideInInspector]的详细解释和作用&#xff1a; 作用 隐藏变量或属性&#xff1a;当你在脚本中使用[HideInInspector]修饰符时&…...

Soanrquber集成Gitlab 之 导入Gitlab项目

集成Gitlab 之 导入Gitlab项目 说明&#xff1a; Sonarquber里面的项目&#xff0c;顺便设置&#xff0c;只要在集成CI的时候&#xff0c;使用这个项目的项目标识即可。 当然项目名称一一对应是最好的了&#xff0c;所以这里讲导入Gitlab的项目&#xff0c;项目名称一一对应&…...

论区块链技术及应用

引言 区块链技术作为一种革命性的创新&#xff0c;近年来在全球范围内得到了广泛关注和应用。其去中心化、透明性和不可篡改的特性&#xff0c;使其在多个领域展现出了巨大的潜力。从金融到物联网&#xff0c;从医疗管理到政务监管&#xff0c;区块链正在改变我们处理信息和进…...

GPT避坑指南:如何辨别逆向、AZ、OpenAI官转

市面上有些说自己是官转&#xff0c;一刀只需要1块甚至几毛钱&#xff0c;并声称官方倍率的&#xff0c;很大可能就是使用的是 逆向或Azure。 如何鉴别逆向 逆向的种类很多&#xff0c;主要分为3类 逆向不知名A| 镜像站或偷的 key。成本约等于0&#xff0c;调用聊天数据可能在…...

Qt 文本文件读写与保存

Qt 文本文件读写与保存 开发工具&#xff1a;VS2013 QT5.8 设计UI界面&#xff0c;如下图所示 sample7_1QFile.h 头文件&#xff1a; #pragma once#include <QtWidgets/QMainWindow> #include "ui_sample7_1QFile.h"class sample7_1QFile : public QMainWin…...

Linux基础环境搭建(CentOS7)- 安装Scala和Spark

#Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装Scala和Spark Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装Scala和Spark 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01;&#xff08;spark不要下2.4版本的 会报错…...

SpringBoot 下的Excel文件损坏与内容乱码问题

序言 随着打包部署的方式的改变&#xff0c;原本正常运行的代码可能带来一些新的问题&#xff0c;比如我们现在使用SpringBoot 的方式生成Jar包直接运行&#xff0c;就会对我们再在Resource下的Excel文件产生影响&#xff0c;导入与预期不符的情况发生cuiyaonan2000163.com 比…...

官宣下代GPU存在缺陷,50系显卡或将迎来涨价

如果说 AMD 在 Ryzen 3000 系列还是和 intel 在 CPU 方面棋差一着的话&#xff0c;Ryzen 5000 系列就是打了个漂亮的翻身仗了。 凭借先进的 7nm 工艺制程和全新架构&#xff0c;让后来 intel 急忙推出「14nm」的 11 代酷睿也难以望其项背。 直到 intel 12 代发布的时候&#xf…...

使用pytorch实现LSTM预测交通流

原始数据&#xff1a; 免费可下载原始参考数据 预测结果图&#xff1a; 根据测试数据test_data的真实值real_flow&#xff0c;与模型根据测试数据得到的输出结果pre_flow 完整源码&#xff1a; #!/usr/bin/env python # _*_ coding: utf-8 _*_import pandas as pd import nu…...

C/C++(八)C++11

目录 一、C11的简介 二、万能引用与完美转发 1、万能引用&#xff1a;模板中的 && 引用 2、完美转发&#xff1a;保持万能引用左右值属性的解决方案 三、可变参数模板 1、可变参数模板的基本使用 2、push 系列和 emplace 系列的区别 四、lambda表达式&#xf…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

StarRocks 全面向量化执行引擎深度解析

StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计&#xff0c;相比传统行式处理引擎&#xff08;如MySQL&#xff09;&#xff0c;性能可提升 5-10倍。以下是分层拆解&#xff1a; 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...