ubuntu不能联网怎么搭建git服务器

ubuntu不能联网怎么搭建git服务器,第1张

我使用的gogs+cetos6搭建git服务器,因为gogs搭建服务器比较简单

我给您大概说一下搭建过程

linux服务器上安装mysql,并创建gogs数据库

linux服务器上安装git

linux服务器上安装gogs

运行/gogs web ,然后可以通过浏览器访问: localhost:3000配置服务器

最后是开启防火墙端口3000(gogs默认端口)

因为不熟悉Ubuntu,但是过程是一样的,您可以尝试一下 :)

首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便。这步默认你会,就不讲了。

有了CentOS,那么如何搭建Git服务器呢?

1、首先需要安装Git,可以使用yum源在线安装:

[root@localhost Desktop]# yum install -y git

2、创建一个git用户,用来运行git服务

# adduser git

3、初始化git仓库:这里我们选择/data/git/learngitgit来作为我们的git仓库

[root@localhost git]# git init --bare learngitgit

Initialized empty Git repository in /data/git/learngitgit/

执行以上命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以git结尾。然后,把owner改为git:

[root@localhost git]# chown git:git learngitgit

4、在这里,Git服务器就已经搭得差不多了。下面我们在客户端clone一下远程仓库

Zhu@XXX /E/testgit/834

$ git clone git@192168834:/data/git/learngitgit

Cloning into 'learngit'

The authenticity of host '192168834 (192168834)' can't be established

RSA key fingerprint is 2b:55:45:e7:4c:29:cc:05:33:78:03:bd:a8:cd:08:9d

Are you sure you want to continue connecting (yes/no) yes

Warning: Permanently added '192168834' (RSA) to the list of known hosts

git@192168834's password:

这里两点需要注意:第一,当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'githubcom (xxxxxxxx)' can't be established

RSA key fingerprint is xxxxxxxxxx

Are you sure you want to continue connecting (yes/no)

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:

Warning: Permanently added 'githubcom' (RSA) to the list of known hosts

这个警告只会出现一次,后面的操作就不会有任何警告了。

如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。

第二,这里提示你输入密码才能clone,当然如果你知道密码,可以键入密码来进行clone,但是更为常见的方式,是利用SSH的公钥来完成验证。

5、创建SSH Key

首先在用户主目录下,看看有没有ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsapub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@examplecom"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到ssh目录,里面有id_rsa和id_rsapub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsapub是公钥,可以放心地告诉任何人。

6、Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1RSAAuthentication yes

2PubkeyAuthentication yes

3AuthorizedKeysFile ssh/authorized_keys

这里我们可以看到公钥存放在ssh/authorized_keys文件中。所以我们在/home/git下创建ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

Zhu@XXX/E/testgit/834

$ git clone git@192168834:/data/git/learngitgit

Cloning into 'learngit'

warning: You appear to have cloned an empty repository

Checking connectivity done

7、禁用git用户的shell登陆

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

最后一个冒号后改为:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

Mac好用的GIt管理器推荐:TowerMac版

TowerforMac是应用于macos平台上一款非常强大的Git客户端,Git是目前最流行的版本管理工具之一,TowerGit具有强大的Git资源库管理、版本控制、分支管理等等,并且能够和Xcode、github、Beanstalk、BBEdit等软件无缝结合使用!

TowerMac版

TowerforMac软件特色

1、便于使用

无需记住复杂的命令(及其参数)。Tower使许多高级操作像拖放一样简单。

2、撤消一切

撤消本地更改

恢复旧版本

还原提交

恢复已删除的提交

撤消分支删除

3、清晰的可视化,更好的理解

Tower的清晰视觉界面非常有用-并且使复杂场景更容易理解。

4、自信地使用Git

以简单,直观的方式解决合并冲突

立即查看哪些提交尚未与遥控器同步

停止使用SSH密钥,用户名,密码和身份验证令牌进行摔跤

GitLab是GitHub的免费私有库替代方案,并且安装与配置都很方便。

GitLab要求最少4GB内存,支持小团队使用没问题,实测2GB内存的VPS基本没法用,开swapfile也不行,动不动就60秒超时。因此4GB内存是必须的。

关于这一点,内存大户主要是Unicorn,基于ruby的http服务器。Unicorn会在启动后预先占用大部分内存,内存会随着使用逐渐增长,并且不会释放。根据GitLab和Unicorn的官方文档,这不是它们的锅,那么这个锅可能是ruby和rails了。解决方法是unicorn-work-kill,会根据请求次数和内存占用自动重启Unicorn。Omnibus版的GitLab是默认开启的。

GitLab分为社区版和企业版,在未付费的情况下,两者的功能是一样的。并且社区版整合了CI/CD,因此可以满足绝大部分的开发需求。

安装包主要包括Omnibus整合包,Docker、AWS等的云镜像,以及一些第三方维护的版本。其中Omnibus直接整合了所有服务端组件,适合自用和练手。

安装以Omnibus整合包为例,操作系统为Ubuntu1604。

Gitlab需要 curl,openSSH 和 ca-certificates 这几个组件:

不过服务器系统一般自带,所以是可选的。

邮件服务,用于GitLab发送找回密码的邮件:

不过如果服务器没有域名的话,大部分邮箱会拒收邮件,而管理员帐号可以直接重置其他账号的密码,所以是可选的。

官方提供的脚本:

这个脚本会自动添加源到apt 的source list,以及安全key。另外,如果自己服务器在国内,脚本会自动添加清华的镜像,速度还行。

先更新apt缓存:

推荐使用 apt 而不是 apt-get ,前者大多数情况下更简单一点。

然后是安装:

其中 EXTERNAL_URL ,改成自己的域名。没有域名的话,可以直接设置成IP的形式: http://1234 ,这个推测跟nginx服务以及GitLab中的项目地址有关,所以最好正确设置。当然也可以之后在配置文件里更改。

安装完成后,可以在配置文件中修改配置 /etc/gitlab/gitlabrb 。

比如之前的 EXTERNAL_URL :

官方还有一个关于 unicorn 的优化建议:

默认值是2,如果服务器只用于GitLab的话,官方建议是CPU核心数加一,可以提高服务器的响应速度。不过如果内存只有4G,或者服务器同时承载其他服务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1,服务器可能会卡死。

配置完成后,刷新配置:

每次修改完 gitlabrb ,都要刷新配置。

如果没有报错的话,GitLab就配置完毕并且正常运行了。接下来可以打开浏览器开始访问了。

centos安装设置基础软件仓库时出错 是安装错误造成的,解决方法为:

1、首先登陆CentOS服务器,连接上服务器之后我们使用yum remove git 命令删除已安装的Git。

2、若未安装过Git则忽略上一步,使用yum install git 或者yum insall -y git,加了一个-y在之后的安装过程中就全部自动了,不会再有任何需要确认的提示。

3、安装完成后,使用git --version命令查看Git的版本,我们可以看到如下的版本信息,说明Git安装成功了。

4、在CentOS上我们使用Git连接Gitee码云,首先我们需要在服务器上生成公钥,在命令行输入 ssh-keygen -t rsa -C "xxxxx@xxxxxcom"。

5、使用命令cat ~/ssh/id_rsapub查看公钥的内容,并且复制出来,粘贴到码云添加公钥的地方,粘贴后点“确定”按钮,此时会出现弹框,需要输入码云的密码,输入后会提示SSH公钥添加成功。

6、接下来回到CentOS服务器上,输入ssh -T git@giteecom,如果返回success则说明配置成功了。

注意事项:

版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥,还是比较方便的。

搭建环境:

服务器 CentOS66 + git(version 1831)

客户端 Windows10 + git(version 2111windows1)

1 安装Git相关软件

Linux是服务器端系统,Windows作为客户端系统,分别安装Git

安装客户端:

下载 Git for Windows,地址:https://git-for-windowsgithubio/

安装完之后,可以使用Git Bash作为命令行客户端。

安装Gitosis

出现下面的信息表示安装成功了

2 服务器端创建git用户来管理Git服务

3 配置公钥

在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行

4 配置gitosis

使用git用户并初始化gitosis

在Windows上机器上clone gitosis-admin到管理者主机

gitosisconf: git服务器配置文件

keydir: 存放客户端公钥

配置 gitosisconf 文件

在Windows管理者机器上创建本地test仓库,并上传到git服务端

提交到远程服务器

服务端会自动创建test仓库

5添加其他git用户开发者

由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsapub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。

推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ubuntu不能联网怎么搭建git服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情