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

3 篇文章 0 订阅
2 篇文章 0 订阅

解决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写即可。

在这里插入图片描述

***

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


  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值