使用gogs搭建git服务器记录

昨晚半夜网上一个朋友找到我,说是使用gogs搭建git服务器,使用ssh操作要免密啥啥啥的~也没描述清楚。就是要ssh的方式,提交时候不要账号密码,心想这不就三下的事情吗?结果折腾到晚上一点,没好~敢肯定的是他按照网上的毒教程,被坑了!还是自己本地虚拟机配置一下吧~

环境说明

  • 本机Ubuntu16.10
  • virtualbox上运行的是Centos7
  • 虚拟机中mysql已经安装好
  • 虚拟机中firewall已禁用,安装了iptables
  • 虚拟机中已经安装git

步骤

  • 去gogs网站下载,这里下载的是0.10.18版本,文件名是linux_amd64.zip
  • mysql建立gogs数据库
  • 新建用户名字为git的用户(用户目录/home/git)
  • 解压下载的文件,然后运行程序
  • 配置,安装
  • 现在已经可以访问了,也可以使用http方式进行clone和提交了
  • 配置ssh方式

下载gogs

去gogs网站下载,https://dl.gogs.io/ ,我下载的是0.10.18,linux 64位版本。

建立gogs数据库

在mysql中建立gogs数据库。

新建git用户

在虚拟机Centos中新建一个git用户。

  • 创建git组:sudo groupadd git
  • 创建git用户,分到git组中:sudo useradd -g git git
  • 设置git用户的密码:sudo passwd git

接下来切换到刚才新建的git用户,一定要切换到这个git用户!!!!

切换用户:su git

解压文件,运行

现在已经切换到git这个用户了,切记一定要切换到git这个用户才能执行以下步骤。

首先进入/home/git目录下,将下载的文件解压到/home/git目录下并重新命名,我这里是命名为gogs。然后进入gogs文件夹下,运行./gogs web,应该没啥错。

配置,安装

上面运行完成之后,打开浏览器输入:http://localhost:3000/install ,就可以看到安装配置页面了,里面配置根据自己需要配置(请先阅读文档了解清楚了,再自定义配置。)我这里填了mysql的密码,其他基本都是默认值。点击保存,有可能会提示git的path问题,请安装git!

测试http方式

现在已经可以访问了,访问:http://localhost:3000 不出意外,可以看到页面了。接下来需要注册一个用户,然后登录,添加一个仓库,在局域网中使用http的方式clone,我猜应该没啥意外情况。我这里是http://192.168.1.104:3000/dachengxi/gogs-test.git,你的根据情况来。

使用ssh方式

首先需要在你的机器上生成ssh公钥:ssh-keygen -t rsa -C "your_email@example.com",各种回车之后完成,生成的文件在你的用户主目录下的.ssh文件夹下,其中id_rsa.pub文件中的内容是我们需要的。打开此文件,复制所有内容。

然后打开gogs页面,点击右上角头像,找到用户设置,然后选择管理SSH密钥,在这里添加一个密钥,名字随便输,下面内容是你刚才复制的那个id_rsa.pub文件中的内容,添加进去保存,就好了。(其实这一步就是在你git用户主目录下的.ssh文件夹下生成一个叫做authorized_keys的文件,里面内容就是上面你添加的内容)。

测试ssh方式

上面的步骤没出啥错,现在已经可以使用,我这里是git@192.168.1.104:dachengxi/gogs-test.git,你的根据自己情况来定。

其他

其他各种高级功能不做讨论,请自己找文档找文章找自己!

请确认虚拟机防火墙开放了3000端口,22端口。

请确认git已经安装。

请确认你运行gogs的时候,是你新建的git用户。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,801评论 19 139
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 14,340评论 4 54
  • 题目 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考...
    六尺帐篷阅读 5,806评论 0 0
  • 161103 自开学来最最最最最痛苦的一天,怎么能,怎么可以如此粗心! 啊,眼前仿佛出现着小学考试分析时试卷上的字...
    XxXxXxN阅读 1,364评论 1 1
  • 《慰失恋者》 选择一条路前行 是相信前方有自己的风景 选择一份情经营 是希望前行路上有一陪伴 如果 前行的路,断了...
    平生随烟雨阅读 1,112评论 0 0

友情链接更多精彩内容