Gogs简介和私有云部署
Gogs是国人用go语言开发的一个Git网页管理程序,它功能比较简单,部署也非常方便,支持多种数据库。虽然功能简单,但是基本涵盖了我们需要的各种常用的功能,本篇文章将会简单介绍一下Gogs的基本部署以及部署的时候碰到的一些问题。
本次部署还是在我的NAS上,因此不能部署比较复杂的应用,正是因为看中了Gogs的精简和高效,虽然Gitlab很受欢迎,并且群晖里面直接有套件,但是我还是觉得用不到那么多功能,并且也没有那么多的资源,所以还是用了Gogs + sqlite3,这个基本上是资源要求最少的组合了。
部署流程
首先我们要建立一个运行应用的用户,并给这个用户分配运行程序的目录和用于保存数据的目录。我们可以通过如下的命令新建一个用户:
# create new user
sudo adduser git
# add current to new user group
sudo usermod -aG git current_user
我们可以下载解压Gogs应用:
wget https://cdn.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
x gogs_0.11.91_linux_amd64.tar.gz
解压之后我们把解压之后的gogs
目录权限分配给新建的git
用户:
sudo chown -R git:git gogs
之后我们通过su git
切换到新的用户之后运行./gogs web
就可以开启服务了,我个人将这个服务放到了Nginx
后面,访问http://127.0.0.1:3000
就可以进行安装了,安装过程记得默认使用git
用户运行。
碰到的一些问题
最开始为了方便就么有新建用户,直接使用了当前用户,结果服务起来之后,添加公钥之后,我的ssh就登陆不上去了,这个是非常不靠谱的,因为Gogs会使用系统的ssh服务,所以相应的配置会有变化,并且authorized_key
也会变化,为了安全,gogs
也会禁用shell登录,这也就造成了我ssh登录不上去。
其实解决也比较简单,关掉gogs服务之后,把authorized_keys
文件改成之前的状态就可以了,当然gogs
还是要用单独的用户重新部署。
最后更新于 2019-10-06 22:18:03 并被添加「私有云」标签,已有 2656 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。