最开始把github用上了ssh key,感觉挺好,于是想着把gitea也整一个,实际上遇到一些小问题,但是都克服了,记录一下:
因为gitea使用http是已经正常,打开ssh,上传了key之后,还是连接不上,调试一下发现了是用户名gitea没有给出权限,于是把gitea加入到了sshd_config里面,这里有点问题,网页上如果改动会覆盖这个修改。后面继续测试发现与本机公用一个sshd还是无法正常使用git命令(拉取代码仓库),于是放弃这种做法。
在google上先搜搜,发现一个更好的做法,在QNAP上安装Gitea – Cloud Mount
创建一个用户并且使用这个用户启动gitea,
直接修改Gitea对应的qpkg目录(例如/share/CACHEDEV1_DATA/.qpkg/Gitea)里的Gitea.sh脚本,将其中start里的直接运行Gitea改成
export $USER = git …… sudo -u $USER ./gitea web &这样,运行/etc/init.d/Gitea.sh restart后,Gitea的web服务就以git用户来运行了。
这个做法的好处是用户有自己的个人文件夹,用于存放ssh等配置,端口就不能共用。
目前没有创建特殊账户,默认gitea账号,文件夹为/tmp,感觉像是临时文件夹,重新开机后可能就没有了。
在app.ini的配置中,需要修改以下几行:
Gitea的很多配置是通过文件…/.qpkg/Gitea/custom/conf/app.ini设置的,
打开Gitea built-in SSH需要修改如下设置:
[server]
... ...
START_SSH_SERVER = true
SSH_PORT = xxxx
SSH_ROOT_PATH = /share/homes/git/.ssh
代表指定端口及启动sshd服务器,最后大功告成。
最后clone的时候发现,用jatushome.myqnapcloud.com需要很长时间,然而jatushome.asuscomm.com则不需要,发现是ipv6导致,ipv6连接失败后才尝试ipv4,ipv6不行的原因是路由器上默认把ipv6防火墙打开了。关闭后正常。