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

ubuntn20 搭建 redmine

安装数据库

更新包列表:sudo apt update
安装MySQL服务器:sudo apt install mysql-server
运行安全性脚本:MySQL服务器安装后,运行以下命令以加固安装:sudo mysql_secure_installation
这个脚本将引导您完成几个安全选项,包括设置root密码、删除匿名用户、禁用远程root登录等。(可选)设置远程访问:默认情况下,MySQL服务器配置为仅在本地主机上监听。如果您想允许远程访问MySQL服务器,请编辑MySQL配置文件,如下所示:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address行,并将其注释掉或更改为服务器的IP地址,以允许远程访问。保存并关闭文件。重启MySQL服务:sudo systemctl restart mysql
验证MySQL服务是否正在运行:sudo systemctl status mysql
现在,您已经成功在Ubuntu 22.04上安装了MySQL 8.0,并且可以开始使用它

安装ruby


sudo apt updatesudo apt install ruby-fullruby --version # 查看 ruyby 版本

更新 gem 源


gem -v # 查看 gem 版本# gem 更换淘宝源gem sources --remove https://rubygems.org/gem sources -a http://ruby.taobao.org/

部署redmine


# 依赖安装sudo apt install -y libmysqlclient-dev libmagickwand-dev  imagemagick          cd /opt/www # 根据自己情况存放sudo wget https://www.redmine.org/releases/redmine-5.0.2.tar.gzsudo tar zxvf redmine-5.0.2.tar.gzcd redmine-5.0.2

修改配置文件


cp config/database.yml.example config/database.yml# 修改数据库配置文件sudo vim config/database.ymlproduction:adapter: mysql2database: redminehost: localhostusername: redminepassword: "my_password# 安装bundle install --without development test时间会有点久耐心等待

创建config/secrets.yml 


# 生成 config/initializers/secret_token.rb 文件rake generate_secret_token# 获取 secret_key_basecat config/initializers/secret_token.rb# 创建 config/secrets.yml 并复制 secret_key_base 至 production - secret_key_base 处vim config/secrets.ymldevelopment:secret_key_base:test:secret_key_base:production:secret_key_base: 'b412935c5e7d4042aefaf0659e4529832d429e66cededb5d8aca47f05ccd08d2127dff59e8c1d633'

导入数据库数据 


rake db:migrate RAILS_ENV="production"

文件夹授权 


# 添加 redmine 组sudo groupadd -r redmine# 创建 redmine 并加入到 redmine 组,不允许 redmine 用户直接登录系统sudo useradd -s /sbin/nologin -g redmine -r redminesudo chown -R redmine:redmine files log tmp public/plugin_assetssudo chmod -R 755 files log tmp public/plugin_assets

 

sudo chmod -R 777 /opt/www/redmine-5.0.2/tmpbundle exec rails server -u webrick -e production -d 
测试下能否打开如果存在问题
···
Could not load server "webrick". Maybe you need to the add it to the Gemfile?gem "webrick"Run `bin/rails server --help` for more options.
···
执行下bundle add webrick 再跑bundle exec rails server -u webrick -e production -d 如果想要关闭服务,可以通过查看该服务的PID来关闭:cat /opt/www/redmine-5.0.2/tmp/pids/server.pidkill -9 [PID]

相关文章:

ubuntn20 搭建 redmine

安装数据库 更新包列表:sudo apt update 安装MySQL服务器:sudo apt install mysql-server 运行安全性脚本:MySQL服务器安装后,运行以下命令以加固安装:sudo mysql_secure_installation 这个脚本将引导您完成几个安全选…...

每日五道java面试题之java基础篇(三)

第一题. switch 是否能作⽤在 byte/long/String 上? Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。从 Java 5 开始,Java 中引⼊了枚举类型, expr 也可以是 enum 类型。从 Java 7 开始,expr 还可以…...

如何升级 gpt4?快速升级至ChatGPT Plus指南,爆火的“ChatGPT”到底是什么?

提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来,就受到国内外狂热的追捧和青睐,上线2个月,月活突破1个亿!!! 而且还在持续上涨中。因为有很多人都在使用 ChatGPT 。无论是各大头条、抖音等 App、…...

【实习】深信服防火墙网络安全生产实习

一、实习概况 1.1实习目的 1.掌握防火墙规则的作用2.掌握代理上网功能的作用3.掌握端口映射功能的作用 1.2实习任务 1.防火墙的WEB控制台 2.需要在防火墙上配置dnat …...

怎么把视频音乐提取成mp3?分享详细工具和方法!

在数字媒体时代,音乐已经成为我们生活中不可或缺的一部分。有时候,我们会在社交媒体、视频分享网站或在线视频平台上看到一些非常喜欢的视频音乐,想要将其保存为MP3格式以便随时随地聆听。那么,如何从视频中提取音乐并转换为MP3格…...

代码随想录算法训练营第44天 | 完全背包理论基础 518.零钱兑换II 377.组合总和 Ⅳ

完全背包理论基础 完全背包与01背包只相差在物品是无限取用的。因此和01背包相比第二层对背包容量的遍历应该是正序的&#xff0c;而且正因为这个正序&#xff0c;使得在纯完全背包问题中&#xff0c;背包容量和物品的遍历是可以倒过来的。 #include <bits/stdc.h> usi…...

深度解析与推荐:主流Web前端开发框架

一、引言 在信息化社会中,Web前端开发的重要性日益凸显。作为连接用户与后台服务的关键桥梁,前端界面不仅直接影响用户体验,更是企业品牌形象、产品价值传递的重要载体。随着互联网技术的飞速发展,用户对于网站和应用的交互性、响应速度以及视觉效果等方面的要求越来越高,…...

【React】如何使antd禁用状态的表单输入组件响应点击事件?

最近遇到一个需求&#xff0c;需要在<Input.textarea>组件中&#xff0c;设置属性disabled为true&#xff0c;使textarea响应点击事件&#xff0c;但直接绑定onClick并不会在禁用状态下被响应。 解决方法1 之后尝试了很多方法&#xff0c;比如设置csspointer-events:no…...

Apache Flink

前言 最近在学习室内融合定位服务架构&#xff0c;业务架构上&#xff0c;涵盖了数据采集、处理、状态管理、实时计算和告警等多个方面&#xff0c;但有些问题&#xff1a;这套系统中包含了大量的有状态计算&#xff0c;目前是通过自设计内存对象进行管理&#xff0c;并利用Re…...

SpringMVC速成(一)

文章目录 SpringMVC速成&#xff08;一&#xff09;1.SpringMVC概述2.SpringMVC入门案例2.1 需求分析2.2 案例制作步骤1:创建Maven项目步骤2:补全目录结构步骤3:导入jar包步骤4:创建配置类步骤5:创建Controller类步骤6:使用配置类替换web.xml步骤7:配置Tomcat环境步骤8:启动运行…...

通过nginx学习linux进程名的修改

目录 1. 缘起2. 背景知识3. 源码分析3.1 准备工作3.2 设置进程名字 1. 缘起 在运行nginx的时候&#xff0c;用ps查看nginx的进程信息&#xff0c;可能的输出如下&#xff1a; root 42169 3105 0 16:51 ? 00:00:00 nginx: master process ./objs/nginx root …...

【PyTorch】实现迁移学习框架DANN

文章目录 前言代码实现1、导入数据库关于torch.manual_seed(1)2、参数设置3、数据导入4、定义训练函数4.1 nn.CrossEntropyLoss()4.2 .detach()4.3 .size VS .shape4.4 .to(DEVICE)4.5 .max()4.6 optimizer.zero_grad()4.7 len(data...

thinkphp6入门(18)-- 中间件中除了handle函数,还可以有其它函数吗

在ThinkPHP 6的中间件中&#xff0c;除了 handle 方法外&#xff0c;还可以定义其他方法。这些额外的方法可以用于执行中间件中的不同逻辑&#xff0c;但是只有 handle 方法是中间件的入口点&#xff0c;其他方法则需要在 handle 方法中手动调用。 (图片来自https://www.cnblog…...

Java stream 流的基本使用

Java stream 的基本使用 package com.zhong.streamdemo.usestreamdemo;import jdk.jfr.DataAmount; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.util.ArrayList; import java.util.Comparator; import java.util.Li…...

C++面向对象 Part 2

文章目录 类六个默认存在的成员函数构造函数&#xff1a;析构函数&#xff1a;拷贝构造函数:拷贝构造详解及细节&#xff1a; 赋值运算符重载;取地址及const取地址操作符重载const修饰的含义&#xff1a; 类六个默认存在的成员函数 构造函数 析构函数 拷贝构造函数 赋值运算…...

海外云手机的核心优势

随着5G时代的到来&#xff0c;云计算产业正处于高速发展的时期&#xff0c;为海外云手机的问世创造了一个可信任的背景。在资源有限且需求不断增加的时代&#xff0c;将硬件设备集中在云端&#xff0c;降低个人用户的硬件消耗&#xff0c;同时提升性能&#xff0c;这一点单单就…...

CDN相关和HTTP代理

CDN相关和HTTP代理 参考&#xff1a; 《透视 HTTP 协议》——chrono 把这两个放在一起是因为容易搞混&#xff0c;我一开始总以为CDN就是HTTP代理&#xff0c;但是看了极客时间里透视HTTP协议的讲解&#xff0c;感觉又不仅于此&#xff0c;于是专门写下来。 先说结论&#xf…...

STM32的ADC电压采集

时间记录&#xff1a;2024/2/9 一、ADC相关知识点 &#xff08;1&#xff09;STM32的ADC时钟不要超过14MHz&#xff0c;不然结果的准确率将下降 &#xff08;2&#xff09;ADC分为规则组和注入组&#xff0c;规则组相当于正常运行的程序&#xff0c;注入组相当于中断可以打断…...

基于麻雀优化算法优化XGBoost参数的优化控制策略

目录 一、背景 二、算法流程图 三、附录 一、背景 为提高极端梯度提升&#xff08;Extreme Gradient Boosting, XGBoost&#xff09;集成算法在时间预测、信贷风险预测、工件参数预测、故障诊断预测等方面中的准确性&#xff0c;研究者提出了一种改进的麻雀算法&#xff08;…...

Python爬虫——请求库安装

目录 1.打开Anaconda Prompt 创建环境2.安装resuests3.验证是否安装成功4.安装Selenium5.安装ChromeDriver5.1获取chrom的版本5.1.1点击浏览器右上三个点5.1.2点击设置5.1.3下拉菜单&#xff0c;点击最后关于Chrome&#xff0c;获得其版本 5.2 打开网址 [chromedriver](https:/…...

告别笨重线性电源!用TL494打造高效BUCK模块,给你的老旧设备供电或做充电器

用TL494打造高效BUCK模块&#xff1a;老设备供电与智能充电的终极解决方案 老旧实验室设备嗡嗡作响的线性电源&#xff0c;不仅效率低下&#xff0c;发热严重&#xff0c;还占据宝贵的工作台空间。而一块基于TL494的高效BUCK模块&#xff0c;可以彻底改变这一局面。本文将带你…...

5分钟解决PDF转Markdown痛点:Marker工具全场景应用指南

5分钟解决PDF转Markdown痛点&#xff1a;Marker工具全场景应用指南 【免费下载链接】marker 一个高效、准确的工具&#xff0c;能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式&#xff0c;支持多语言和复杂布局处理&#xff0c;可选集成 LLM 提升精度&#xff0c;适…...

保姆级教程:在Mac/Linux上为RuoYi项目永久修复SQL Server的SSL连接问题

保姆级教程&#xff1a;在Mac/Linux上为RuoYi项目永久修复SQL Server的SSL连接问题 当你在Mac或Linux系统上使用RuoYi框架连接SQL Server数据库时&#xff0c;可能会遇到令人头疼的SSL协议错误。这些错误通常表现为连接池初始化失败或安全连接无法建立&#xff0c;核心问题往往…...

当柔性车间遇上强化学习:从传统规则到DRL的调度进化史

柔性车间调度的智能革命&#xff1a;深度强化学习如何重塑制造业决策 在当今快节奏、定制化需求激增的制造业环境中&#xff0c;传统的生产调度方法正面临前所未有的挑战。想象一下&#xff0c;一个典型的电子设备制造车间&#xff1a;数百种不同规格的订单不断涌入&#xff0c…...

Navicat Premium Mac版试用期重置技术解析与实战指南

Navicat Premium Mac版试用期重置技术解析与实战指南 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 问题导入&#xff1a;Navicat试用期限制的技术挑战 Navicat Premium作为一…...

最强AI剪辑工具盘点:免费直接用,小白秒变剪辑大师!

一、AI视频剪辑新时代&#xff1a;为什么选择这些工具&#xff1f; 2025年的AI视频工具已经不再是简单的滤镜和特效叠加&#xff0c;而是真正能够理解内容、自动完成剪辑全流程的智能助手。根据权威评测&#xff0c;真正优秀的AI剪辑工具应该具备以下特点&#xff1a; 真正免费…...

技术赋能B端拓客:号码核验行业的破局与价值深耕,氪迹科技法人股东核验筛选系统,阶梯式价格

2026年&#xff0c;B端市场进入存量竞争的深水区&#xff0c;“精准获客、降本增效”不再是企业的加分项&#xff0c;而是生存发展的必选项。号码核验作为B端拓客流程的前置筛选环节&#xff0c;直接决定了线索质量、人力效能与投入回报比&#xff0c;成为影响企业拓客竞争力的…...

告别窗口混乱:Loop如何让macOS窗口管理效率提升300%

告别窗口混乱&#xff1a;Loop如何让macOS窗口管理效率提升300% 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 痛点场景&#xff1a;被窗口吞噬的工作效率 产品经理陈默的桌面上永远摊着至少7个窗口&#xff1a;左侧是S…...

数据库字段ip地址varbinary、inet6_aton()、inet6_ntoa()等

文章目录准备数据inet6_aton()、 inet6_ntoa()其他函数为什么ip地址要用varbinary(16)?其他文档这里主要说下mysql的varbinary字段类型。准备数据 CREATE TABLE user_logs (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,ip VARBINARY(16) NOT NULL COMMENT 存储IPv4/IPv6地…...

PADS集成软件——HyperLynx

HyperLynx Thermal 是 PADS 软件集成的电路板热分析工具&#xff0c;专门用来在设计阶段模拟和预测 PCB 的温度分布&#xff0c;提前发现过热风险。简单来说&#xff0c;当完成 PCB 布局布线后&#xff0c;可以用它来回答一个重要问题&#xff1a;“这块板子通电后&#xff0c;…...