Ubuntu 上安装 Redmine 5.1 指南

news2024/11/26 11:07:39

在这里插入图片描述

文章目录

  • 官网安装文档:
  • 命令步骤
  • 相关介绍
    • 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 -l

sudo gem install bundler
# sudo gem install rails
# sudo gem install rails -v 6.1.7.8

bundle 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: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "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/bin

bundle 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=tcp

netsh 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 端口

   
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

54万字WORD电力数字化转型智慧电力一体化监管云平台整体解决方案

▲关注智慧方案文库&#xff0c;学习9000多份最新解决方案&#xff0c;其中 PPT、WORD超过7000多份 &#xff0c;覆盖智慧城市多数领域的深度知识社区&#xff0c;稳定更新4年&#xff0c;日积月累&#xff0c;更懂行业需求。 1459页54万字WORD丨电力行业数字化转型 智慧电力…

【ArcGIS Pro实操第4期】绘制三维地图

【ArcGIS Pro实操第4期】绘制三维地图 ArcGIS Pro绘制三维地图-以DEM高程为例参考 如何使用ArcGIS Pro将栅格数据用三维的形式进行表达&#xff1f;在ArcGIS里可以使用ArcScene来实现&#xff0c;ArcGIS Pro实现原理跟ArcScene一致。由于Esri未来将不再对ArcGIS更新&#xff0c…

53页 PPT煤炭行业数字化转型规划方案

▲关注智慧方案文库&#xff0c;学习9000多份最新解决方案&#xff0c;其中 PPT、WORD超过7000多份 &#xff0c;覆盖智慧城市多数领域的深度知识社区&#xff0c;稳定更新4年&#xff0c;日积月累&#xff0c;更懂行业需求。 53页 PPT煤炭行业数字化转型规划方案 通过对煤企高…

手机玩使命召唤21:黑色行动6?GameViewer远程玩使命召唤教程

使命召唤21&#xff1a;黑色行动 6这个第一人称射击游戏&#xff0c;将于10月25号上线&#xff01;如果你是使命召唤的老玩家&#xff0c;是不是也在期待这部新作&#xff1f;其实这个游戏不仅可以用电脑玩&#xff0c;还可以用手机玩&#xff0c;使用网易GameViewer远程就能让…

【Qt6聊天室项目】 主界面功能实现

1. 获取当前用户的个人信息 1.1 前后端逻辑分析&#xff08;主界面功能&#xff09; 主界面上所有的前后端交互逻辑相同&#xff0c;分析到加载会话列表后其余功能仅实现。 核心逻辑总结 异步请求-响应模型 客户端发起请求&#xff0c;向服务器发送包含会话ID的请求服务端处…

python画图|曲线动态输出

【1】引言 前序教程中的曲线动态输出&#xff0c;其实是把曲线按照左右移动的形式输出&#xff08;波的传递形式&#xff09;。 python画图|曲线动态输出基础教程_python 动态曲线-CSDN博客 但有些时候我们更期待的是曲线不移动&#xff0c;随着自变量的增加而输出因变量&am…

信号与系统学习:傅里叶级数

一、基本概念 1. 什么是傅里叶级数&#xff1f; 傅里叶级数是一种数学工具&#xff0c;可以将一个周期函数分解为一系列正弦和余弦函数&#xff08;即三角函数&#xff09;的和。这些正弦和余弦函数的频率是原函数的整数倍。 2. 为什么要使用傅里叶级数&#xff1f; 信号分…

【STM32+HAL】OV2640捕获图像显示

一、准备工作 有关CUBEMX的初始化配置&#xff0c;参见我的另一篇blog&#xff1a;【STM32HAL】CUBEMX初始化配置 二、所用工具 1、芯片&#xff1a; STM32F407ZGT6 2、IDE&#xff1a; MDK-Keil软件 3、库文件&#xff1a;STM32F4xxHAL库 三、实现功能 通过OV2640捕获图像…

Flutter UI组件库(JUI)

Flutter UI组件库 (JUI) 介绍 您是否正在寻找一种方法来简化Flutter开发过程&#xff0c;并创建美观、一致的用户界面&#xff1f;您的搜索到此为止&#xff01;我们的Flutter UI组件库&#xff08;JUI&#xff09;提供了广泛的预构建、可自定义组件&#xff0c;帮助您快速构建…

为什么会配置足够打LOL等网游很卡?12代大小核处理器最典型

卡顿原因及优化建议 大小核调度问题&#xff1a; 调度不当&#xff1a;某些游戏未针对大小核进行优化&#xff0c;可能导致系统将负载分配到效率核&#xff08;小核&#xff09;&#xff0c;而性能核&#xff08;大核&#xff09;未被充分利用。操作系统调度策略&#xff1a;尽…

15.6 JDBC数据库编程6——可滚动和可更新的ResultSet

目录 15.6 引言 15.6.1 可滚动的ResultSet 15.6.1 可更新的ResultSet 15.6 引言 可滚动的ResultSet是指在结果集对象上不但可以向前访问结果集中的记录&#xff0c;还可以向后访问结果集中记录。可更新的ResultSet是指不但可以访问结果集中的记录&#xff0c;还可以更新…

文件操作(1) —— 文件基础知识

目录 1. 为什么使用文件&#xff1f; 2. 文件种类【按功能分】 3. 文件名 4. 数据文件种类【按存储方式细分】 5. 文件的打开和关闭 5.1 流和标准流 5.2 文件指针 5.3 文件的打开和关闭函数 6. 文件缓冲区 1. 为什么使用文件&#xff1f; 如果没有⽂件&#xff0c;我…

Vue笔记-浏览器窗口改变时,重新计算表格高度并设置

当窗口大小改变时&#xff0c;你监听 window 对象的 resize 事件&#xff0c;然后在事件处理程序中重新计算表格的高度。在 Vue 中&#xff0c;可以在组件中通过 created 生命周期钩子来添加事件监听器&#xff0c;然后在组件销毁时移除事件监听器。 如下vue代码&#xff1a; …

Android GPU Inspector分析帧数据快速入门

使用 谷歌官方工具Android GPU Inspector (AGI) 可以对Android 应用进行深入和全面的系统性能分析和帧性能分析 。AGI 是一个非常强大的分析工具&#xff0c;尤其是在需要诊断 GPU 性能问题和优化应用时&#xff0c;可以帮助你精准找到性能瓶颈。本文介绍如何使用该工具对帧数据…

24V转3.3V2A同步降压WT6030

24V转3.3V2A同步降压WT6030 WT6030 是一种高效同步整流降压开关模式转换器&#xff0c;集成内部功率 MOSFET&#xff0c;能在宽输入电源范围内提供较高的输出电流&#xff0c;以下是使用 WT6030 将 24V 降压到 3.3V 输出 2A 电流的相关设计要点&#xff1a; 1. 电路设计 输入电…

零基础Java第九期:一维数组(二)和二维数组

目录 一、数组的练习 1.1. 顺序表查找 1.2. 二分查找 1.3. 冒泡排序 二、二维数组 2.1. 二维数组的性质 2.2. 不规则二维数组 一、数组的练习 1.1. 顺序表查找 题目描述&#xff1a;给定一个数组, 再给定一个元素, 找出该元素在数组中的位置。 利用for循环去遍历数组&am…

听一听语音助手的声音

分享自制树莓派语音助手的博文也有一些日子了&#xff0c;今天咱们来听听语音助手自己的声音。 上图是本次对话的log记录&#xff0c;从图上可以看到&#xff0c;主要的对话耗时是用于录音&#xff08;默认5秒&#xff09;和语音识别&#xff08;平均5秒&#xff09;这两个组件…

【数据结构】包装类简单认识泛型-Java

包装类 在Java中&#xff0c;由于基本类型不是继承自Object&#xff0c;为了在泛型代码中可以支持基本类型&#xff0c;Java给每个基本类型都给了一个包装类型 基本数据类型和对应的包装类 基本数据类型包装类ByteByteshortShortint Integer longLongfloatFloatdoubleDoublec…

洞察前沿趋势!2024深圳国际金融科技大赛——西丽湖金融科技大学生挑战赛技术公开课指南

在当前信息技术与“互联网”深度融合的背景下&#xff0c;金融行业的转型升级是热门话题&#xff0c;创新与发展成为金融科技主旋律。随着区块链技术、人工智能技术、5G通信技术、大数据技术等前沿科技的飞速发展&#xff0c;它们与金融领域的深度融合&#xff0c;正引领着新型…

模型的部署:服务端与客户端建立连接(Flask)

目录 一、服务端部署&#xff08;使用Flask&#xff09; 1.安装Flask 2.加载模型&#xff08;这里以识别图片的类型模型为例&#xff09; 3.定义API端点 4.运行Flask应用 二、客户端请求 1.安装HTTP客户端库 2.发送请求 请求成功示例&#xff1a; 监控与日志 总结 在…