解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题

news2024/10/2 18:21:16

解决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-certificatec   #可以不用  --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 allcc

在这里插入图片描述

如果没有报错,直接进行安装即可
make prefix=/usr/local allcc

在这里插入图片描述

第五步 如上图则表示安装成功,查看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写即可。

在这里插入图片描述

***

如果各位码友在实际操作中遇到任何问题,欢迎留言或私信交流。


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

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

相关文章

如何实现多账户管理?海外代理IP推荐

伴随着互联网的发展,目前越来越多的用户开始拥有不止一个社交媒体或者电商平台等类型的账号,但实际上不论是社交平台还是电商平台对于用户的多账号使用行为都十分的抵制。如果用户不采取任何措施直接长时间进行多账户操作的话,可能会遇到以下…

SpringBoot原理篇

文章目录 SpingBoot原理1. 配置优先级2. Bean管理2.1 获取Bean2.2 Bean作用域2.3 第三方Bean 3. SpringBoot原理3.1 起步依赖3.2 自动配置3.2.1 概述3.2.2 常见方案3.2.2.1 概述3.2.2.2 方案一3.2.2.3 方案二 3.2.3 原理分析3.2.3.1 源码跟踪3.2.3.2 Conditional 3.2.4 案例3.2…

Python爬虫技术详解:从基础到高级应用,实战与应对反爬虫策略【第93篇—Python爬虫】

前言 随着互联网的快速发展,网络上的信息爆炸式增长,而爬虫技术成为了获取和处理大量数据的重要手段之一。在Python中,requests模块是一个强大而灵活的工具,用于发送HTTP请求,获取网页内容。本文将介绍requests模块的…

sql-labs第46关 脚本盲注

我们直接可以从界面中得知传参的参数为SORT 查看源码 我们令参数即sort为1尝试输入:即 ?sort1 令参数即sort为2 看到按照字母顺序进行了排序,所以使用了order by语句。 用 rand()盲注 这里首先假设给true以及false两个来观察回显 ?sortrand(true) …

苹果iPad通过Code APP应用实现SSH连接服务器远程进行开发

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 本文主要介绍开源iPad应用IDE Code App 如何下载安装,并…

Linux-实用操作(黑马学习笔记)

各类小技巧(快捷键) ctrl c 强制停止 ● Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl c ● 命令输入错误,也可以通过快捷键ctrl c,退出当前输入,重新输入 ctrl d 退出或登…

用Python实现创建十二星座数据分析图表

下面小编提供的代码中,您已经将pie.render()注释掉,并使用了pie.render_to_file(十二星座.svg)来将饼状图渲染到一个名为十二星座.svg的文件中。这是一个正确的做法,如果您想在文件中保存图表而不是在浏览器中显示它。 成功创建图表&#xf…

本地部署ChatGPT

发布一下我之前做的一个本地大模型部署,不需要API key,但要有自己的账号 利用Docker 的Pandora做本地ChatGPT模型部署 先下载安装Docker,设置好运行如下 会要求升级核心,cmd运行如下命令就OK 安装Pandora 再管理员cmd中输入如下命令拉取Pandora镜像 docker pull pengzhi…

索引学习以及索引原理

有时候,建索引并不一定会加快查询效率。但是,有时候,表的数据量是大数据量的话,还是要看下是否能使用索引优化查询效率。 1、建索引的几大原则: 1.1、最左前缀匹配原则非常重要的原则,mysql会一直向右匹配…

3分钟快速实现串口PLC远程下载程序操作说明

3分钟快速实现串口PLC远程下载程序操作说明 搜索蓝蜂物联网官网,即可免费领取样机使用!!先到先得!!! 一. 适用产品型号 其余型号网关此功能正在开发中,敬请期待。 二. 远程下载功能使用流程 …

HTTP/HTTPS协议

什么是HTTP协议 HTTP被称为超文本传输协议(里面不仅仅可以是字符串,还可以是图片,特殊字符等),这是一种应用非常广泛的应用层协议. HTTP协议诞生于1991年,现在是最主流使用的一种应用层协议.它从诞生到现在为止迭代了多个版本. 但目前最主流使用的还是HTTP1.1和HTTP2.0. HTTP协…

图像处理ASIC设计方法 笔记3 跨时钟域处理思想

P43第二章 数据路径并行策略 全并行、全串行、半并行 P47 第三章 时序问题和解决方法 锁存器的时序分析,工具做不到,需要设计者手工分析 存储器中SRAM可以直接做到ASIC里面(CMOS工艺)而DRAM不行 P55 作者是不是把sensor翻译成 成像器 成像器向ASIC输入被处理数据 片外…

【ECharts】调用接口获取后端数据的四种方法

使用eacharts做大屏,需要使用后端数据,下面的方法是自己试过有效的,有什么不对的,望各位大佬指点。 目录 方法一:在mounted中使用定时器调用eacharts方法(定时器可以获取到data中的数据) 方法…

MySQL的SQL语句

1.MySQL连接 连接命令一般是这样写的 mysql -h$ip -P$port -u$user -p比如:mysql -h127.0.0.1 -P3306 -uroot -p -h 指定连接的主机地址;-P 指定连接端口号;-u 指定用户名 -p指定用户名密码 2.SQL分类 DDL(Data Definition Language) 数据定义语言&…

STM32F103学习笔记(六) RTC实时时钟(应用篇)

目录 1. RTC 实时时钟的应用场景 2. RTC 的配置与初始化 2.1 设置 RTC 时钟源 2.2 初始化 RTC 寄存器 2.3 中断配置 2.4 备份寄存器配置 2.5 校准 RTC 3. 实例演示代码 4. 总结 1. RTC 实时时钟的应用场景 实时时钟(RTC)在嵌入式系统中具有广泛…

(二十三)Flask之高频面试点

目录: 每篇前言:Q1:为什么把request和session放在一起?Q2:Local对象的作用?Q3::LocalStack对象的作用?Q4:一个运行中的Flask应用程序分别包括几个Local/LocalStack&#…

msvcr110.dll找不到怎么修复?多种解决msvcr110.dll缺失方法分析

面对如“程序无法启动,因为电脑中缺失msvcr110.dll”这样的错误提示时,你的日常工作或游戏娱乐很可能会被迫暂停。这种问题在Windows用户中相当普遍,它们来源于某些共享的系统文件缺失。不过,好消息是解决此类错误通常并非困难任务…

springboot集成quartz定时任务并接入后台管理系统(copy即用)

说明:项目启动后会根据设置的时间进行执行,业务代码根据自己的需求更改,数据库文件在最后(记得清空数据库哦~)这里需要注意的一点就是className字段表示的是下面的对应的DynamicTask的路径如:com.example.demo.quartz.task.DynamicTask,如有多个定时任务copy并更改Dynam…

Oracle ADG相关介绍

文章目录 一、ADG原理1、ADG介绍2、ADG搭建流程 二、ADG相关参数三、增量修复 一、ADG原理 1、ADG介绍 Oracle ADG(Advanced Data Guard)是Oracle数据库的一项高可用和灾难恢复技术,它通过将数据保持在物理备库中来提供数据保护和容灾能力。…

FariyGUI × Cocos Creator 3.x 弹窗制作

在fgui里制作一个弹窗 新建一个按钮,作为返回按钮 新建一个标签 做成这个样子 其中包含两个节点,名称分别为title和closeButton 可以阅读fgui的源码window.js得到,closeButton按钮只需要输入名称即可在contentPane设置时自动绑定。 且会…