解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题
解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题
前几天出了教程本地部署gogs,在后期运行时发现两个问题:
第一:邮件明明配置了,后台显示未配置,不生效
第二:在新建仓库时勾选“使用选定的文件和模板初始化仓库”报500错误或者其他各种奇葩错误,在网上查了各种资料都无法解决,最终耗时48个小时,终于解决了。
先解决邮件问题,直接替换成如下配置即可。
vim XX/gogs/custom/conf/app.ini ## gogs所在的真实路径
将以下代码复制到mailer下
[mailer]
[email]
ENABLED = true;启用邮件配置在这里呢
;进入电子邮件配置部分。
ADD_PLAIN_TEXT_ALT = true
SUBJECT_PREFIX = [%(BRAND_NAME)s]
;设置主题行的前缀。这个前缀会在邮件主题的最前面出现,通常用于标识邮件的来源。%(BRAND_NAME)s是一个占位符,可能会在实际发送邮件时被替换为相应的品牌名称。
HOST = smtp.126.com:25 ;SMTP服务器的主机和端口126的邮箱也是一个大坑,端口是25
FROM = XXX@126.com ;指定邮件发送者的邮箱地址。不要填写别的内容,否则QQ邮箱将无法正常接受邮件!!!!
USER = XXX@126.com ;指定登录SMTP服务器所需的用户名,与发件人邮箱地址相同。
PASSWORD = DIRHLXGDRQADXTQO ;这里不是邮箱密码!!不是邮箱密码!!不是邮箱密码!!是授权码!!! 授权码!!!授权码!!!
DISABLE_HELO =true ;控制是否禁用HELO操作,当主机名不同时使用。HELO是SMTP协议的一部分,用于在SMTP会话开始时标识发件人的主机。
;HELO_HOSTNAME = ;指定用于HELO操作的自定义主机名。
;SKIP_VERIFY = false ;控制是否跳过验证服务器的证书。设置为“false”表示不跳过,即会验证服务器的证书。
;USE_CERTIFICATE = false ;控制是否使用客户端证书进行身份验证。
;CERT_FILE = custom/email/cert.pem ;指定客户端证书文件的路径。
;KEY_FILE = custom/email/key.pem ;指定客户端私钥文件的路径。
;USE_PLAIN_TEXT = false ;控制是否使用“text/plain”作为邮件内容的格式。控制是否在发送HTML邮件时附加纯文本备用。这样做是为了支持老版本的邮件客户端,并让垃圾邮件过滤器更加愉快。如果需要启用,这里设置为true
;对于 DISABLE_HELO 和 HELO_HOSTNAME 两个配置项:
DISABLE_HELO:
;这个选项用于控制是否禁用 SMTP 协议中的 HELO 操作,当发件人的主机名与实际主机名不匹配时。通常,SMTP 服务器在会话开始时会发送一个 HELO 或 EHLO 命令,以标识自己的主机名。如果设置为 true,表示禁用这个标识;如果设置为 false,则会使用系统的主机名。一般情况下,建议将其设置为 false,除非有特殊需求。
HELO_HOSTNAME:
; 这个选项用于指定自定义的主机名,用于在 SMTP 会话开始时发送 HELO 或 EHLO 命令时使用。如果 DISABLE_HELO 被设置为 true,那么这个选项就不会起作用。如果需要自定义 HELO 操作中使用的主机名,就需要设置这个选项。一般情况下,如果没有特殊需求,可以将其保持为空或者与系统的实际主机名一致。
天坑 在[mailer] 里边直接配置ENABLED = true是不生效的,结果就是茹茹
一定一定要配置到[mailer][email]里边,邮件配置完毕,务必重启gogs!务必重启gogs!务必重启gogs!
[mailer]
;ENABLED = true ;注释掉
[email]
ENABLED = true
按照以上配置邮件,则可以正常使用。如果是gmail的话,还需要进行授权。
错误描述:Gmail 发送返回 Error 534: Please log in via your web browser and then try again
可能原因:这是因为 Google 不信任您的服务器导致的。
解决方案:
访问 https://accounts.google.com 并登录。
访问 https://accounts.google.com/DisplayUnlockCaptcha 单击 continue。
重试发送。
第二个问题 解决gogs勾选“使用选定的文件和模板初始化仓库”报错500
An error has occurred : initRepository: initRepoCommit: git push: warning: push.default 未设置,它的默认值将会在 Git 2.0 由 'matching' 修改为 'simple'。若要不再显示本信息并在其默认值改变后维持当前使用习惯, 进行如下设置: git config --global push.default matching 若要不再显示本信息并从现在开始采用新的使用习惯,设置: git config --global push.default simple 参见 'git help config' 并查找 'push.default' 以获取更多信息。 ('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git, 为保持兼容,请用 'current' 代替 'simple' 模式) No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'. fatal: The remote end hung up unexpectedly error: 无法推送一些引用到 '/git/gogs-repositories/zero/create_new_git.git'Application Version: 0.13.0
这一段的意思很明确,如果意思git版本小于2.0则 ‘matching’ 修改为 ‘simple’,反之则是小于2.0版本的我们需要执行git config --global push.default matching即可,我执行了,gogs重启了,结果没有毛用,依旧报错。废话不多,直接上思路及解决方法。【git小于2.0版本的有设置成功的欢迎留言/私信交流】
问题排查
第一:先查看git版本
git --version
如果git小于2.0版本,不要挣扎了,直接升级git版本。以下为升级的全部过程,这里我升级的2.9.5版本 _ 升就升到最新
git的官网下载链接 点此下载git
第一步 安装依赖,这里一行一行的写,方便各位码友复制也方便各位码友理解
yum groupinstall "Development Tools" -y # 安装Development Tools包工具
yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel libcurl-devel expat-devel perl-ExtUtils-MakeMaker -y
第二步 下载git
wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz --no-check-certificate #可以不用 --no-check-certificatec 如果报错错误: 无法验证 www.kernel.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:颁发的证书已经过期。要以不安全的方式连接至 www.kernel.org, 就加上 个人建议直接加上个
第三步 解压git包 并进入git文件
tar -zxf git-2.9.5.tar.gz && cd git-2.9.5
第四步 进行编译 这里将git安装到/usr/local/git目录中
make prefix=/usr/local all
如果没有报错,直接进行安装即可
make prefix=/usr/local install
第五步 如上图则表示安装成功,查看git版本是否为2.9.5
git --version
第六步 非常豪横的执行设置simple
git config --global push.default simple
设置完毕之后查看是否设置成功
git config --list
如果则表示设置成功。
第七步 将gogs进行重启,以下为配置server服务的重启方式
systemctl restart gogs
第八步 查看gogs的运行状态
systemctl status gogs
到这里就彻底OK了,打开gogs新增一个试试
截止到此 gogs勾选“使用选定的文件和模板初始化仓库”报错500彻底解决啦。
在多讲一下,如何更换gogs的模板,这里只讲操作流程,自行实践
第一步 将源码克隆下来,建议放到/opt目录下,你可以随便放,但是一定一定一定不要放到gogs目录中
git clone https://github.com/gogs/gogs.git gogs
克隆完毕之后找到templates 这里边就是页面源文件
想要修改那个页面,就把哪个页面的文件夹复制过去。
看官网介绍,在gogs的/custom目录下建立一个templates目录
如果需要修改静态文件,如icon图标,logo等,则查看下图
写在最后,模板文件是.tmpl结尾,前端小伙伴肯定非常熟悉,不熟悉的就把它当做html写即可。
***
如果各位码友在实际操作中遇到任何问题,欢迎留言或私信交流。
相关文章:

解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题
解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题 前几天出了教程本地部署gogs,在后期运行时发现两个问题: 第一:邮件明明配置了,后台显示未配置,…...

数字后端——DEF文件格式
文章目录 MACRO的不同orientationDEF中在macro orientation定义前需要留空格 MACRO的不同orientation DEF中在macro orientation定义前需要留空格 像下图中这种方向和分号之间没有空格的情况,就是有问题的格式。...

【可做课设、附完整技术文档】流式、异步、实时的Django聊天室!(需进一步定制可联系本人)
介绍 完整源码以及完整项目文档请看源码链接。 此Django项目实现了一个精致易扩展的实时聊天室,可直接作为网页开发的课程设计提交,也可二次开发,比如添加更好看的样式,或者更多更酷炫的功能。 实现了如下功能: 流…...

网络编程:基于TCP和UDP的服务器、客户端
1.基于TCP通信服务器 程序代码: 1 #include<myhead.h>2 #define SER_IP "192.168.126.121"//服务器IP3 #define SER_PORT 8888//服务器端口号4 int main(int argc, const char *argv[])5 {6 //1.创建用于监听的套接字7 int sfd-1;8 sf…...

kubectl 命令行管理K8S(上)
目录 陈述式资源管理方式 介绍 命令 项目的生命周期 创建 kubectl create命令 发布 kubectl expose命令 更新 kubectl set 回滚 kubectl rollout 删除 kubectl delete 应用发布策略 金丝雀发布 陈述式资源管理方式 介绍 1.kubernetes 集群管理集群资源…...
Redis 之四:Redis 事务和乐观锁
事务特点 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。不具备原子性。 在事务执…...

C# WPF编程-创建项目
1.创建新项目 选择“WPF应用程序”》“下一步” 设置项目 设置项目名称,保存位置等参数>下一步 3.选择框架 4.项目创建成功 5.运行项目...
密码学及其应用(应用篇15)——0/1背包问题
1 问题背景 背包问题是一个经典的优化问题,在计算机科学和运筹学中有着广泛的应用。具体到你提到的这个问题,它是背包问题中的一个特例,通常被称为0/1背包问题。这里,我们有一系列的正整数 ,以及一个正整数,…...

基于springboot+vue的实验室管理系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
华为OD技术面试案例5-2024年
背景 985本计算机专业,目标院校。 1.15 投递 在某BOSS上投递的简历,HR人很nice,非常负责任。 1.19 收到机试通知 第一题是一个哈夫曼编码,第三题是一个动态规划,机试整体难度不算高,刷leetcode hot100…...

【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】
文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…...
Unity(第二十部)效果 粒子、线条和拖尾
1、粒子系统 粒子系统介绍 Unity 粒子系统是 Unity 引擎中用于创建和控制粒子效果的工具。它可以模拟各种自然现象,如火焰、烟雾、雨滴等,也可以用于创建特效,如魔法光芒、爆炸效果等。 粒子系统组成 在 Unity 中,粒子系统由发射…...
全量知识系统问题及SmartChat给出的答复 之6 三套工具之1
Q15. 提出想法和问题 前面说过,DDD在我要设计的全量知识系统中位于中间层,是专门用来解决“知识汤”问题的。 解决的思路就是以将为在特定领域中的公司经营提供一个责任-权限平面为目的,帮助他们调整商业模式以及组建恰当的组织,…...

[RoarCTF 2019]Easy Calc
这题考查的是: 字符串解析特性目录读取文件内容读取 字符串解析特性详解:PHP字符串解析特性 ($GET/$POST参数绕过)(含例题 buuctf easycalc)_参数解析 绕过-CSDN博客 ascii码查询表:ASCII 表 | 菜鸟工具 …...
完美解决 git 报错fatal: Not a git repository (or any of the parent directories): .git
问题描述 错误提示是找不到.git文件,无法执行git指令,意思是 当前你要提交的文件夹中没有.git这个文件 解决方案 执行如下命令: git init...
electron无法设置自己的图标?渲染进程require报错?
electron无法设置自己的图标? 极有可能是图标太大,或者宽高不同 我推荐的网址icon转换 选着20x20一般就可以 渲染进程无法使用require?一直报错? webPreferences: {nodeIntegration: true, enableRemoteModule: true, contextIsolation: …...

vscode连接服务器与FileZilla上传到服务器
https://www.cnblogs.com/qiuhlee/p/17729647.html(这个是vscode连接服务器) 主机:就是服务器的主机号 使用者名称:比如ALmax的用户名 密码:比如ALmax的密码...

练习 1 Web EasySQL极客大挑战
CTF Week 1 EasySQL极客大挑战 BUUCTF 典中典复习 Web SQL 先尝试输入,找一找交互页面 check.php 尝试万能语句 a’ or true SQL注入:#和–的作用 get传参只能是url编码,注意修改编码,输入的字符串要改成url格式。 POST请求和…...

matlab生成模拟的通信信号
matlab中rand函数生成均匀随机分布的随机数,randn生成正态分布的随机数; matlab来模拟一个通信信号; 通信信号通过信道时,研究时认为它会被叠加上服从正态分布的噪声; 先生成随机信号模拟要传输的信号,s…...
Altair® SimLab® 以流程为导向的多学科仿真环境,可连接CAD 的多物理场工作流程
Altair SimLab 以流程为导向的多学科仿真环境,可连接CAD 的多物理场工作流程 SimLab 是一种以流程为导向的多学科仿真环境,能够精确分析复杂装配体的性能表现。包括结构、热和流体动力学在内的多物理场可以通过高度自动化的建模任务轻松设置,有助于大幅…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...