在Linux下搭建Git服务器

在Linux下搭建Git服务器,第1张

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

搭建环境:

服务器 CentOS6.6 + git(version 1.8.3.1)

客户端 Windows10 + git(version 2.11.1.windows.1)

1. 安装Git相关软件

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

安装客户端:

下载 Git for Windows,地址:https://git-for-windows.github.io/

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

安装Gitosis

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

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

3. 配置公钥

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

4. 配置gitosis

使用git用户并初始化gitosis

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

gitosis.conf: git服务器配置文件

keydir: 存放客户端公钥

配置 gitosis.conf 文件

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

提交到远程服务器

服务端会自动创建test仓库

5.添加其他git用户开发者

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

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

安装msysgit

安装步骤此处略去。

END

安装CopSSH

安装步骤此处略去。

END

修改配置

修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,确保如下行为非注释行,且设置为“no”:

END

生成用户帐号

1、在服务器上生成Windows用户,取消用户下次登录碧衡时须更改密码,设置密码永不过期:

2、将该用户隶属于GitUser组(如尚未生成改组,则先生成改组):

END

激活用户

1、在Windows启动程序组中,运行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2、进入COPSSH Control Panel应用对话框,正常情况下服务应该为正在运行(图标为绿色,如为红色,则山慧渣可尝试点选该按钮,启动该服务):

3、选择Users页面:

4、点选Add按钮,出现如下导航对话框:

5、选择Forward按钮,出现如下页面,选择欲激活的用户对应的域名及用户名:

6、选择Forward按钮,进入如下页面,选择Linux shell and Sftp,所有选项选中:

7、选择Forward按钮,进入确认页面,选择Apply:

8、回到如下页面,选择Apply后,关闭。

END

公钥文件上传

1、从用户处取得对应帐户的公钥文件authorized_keys,复制到C:\Program Files\ICW\home\ricky\.ssh目录下(\ricky\是对应的用户名);

2、Windows启动程序组中运行Start a Unix BASH Shell(或Windows运行中运行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3、运行如下unix命令行,如运行未出错,则完毕。

END

生成Git库容器目录

1、在服务器硬盘上生成一个目录,用来容纳Git库,比如生成E:\ GITTestRepo\目录;

2、鼠标右键点击该目录,选择共享和安全…;

3、在d出的该目录属性对话框的安全页中加入用户对应的组GitUser;

4、确认该用户组权限设置了允许修改、读取和运行、列入文件夹目录、读取、写入,选择确定后完毕。

END

确认防火墙开放了22端逗悄口

确认服务器的防火墙没有禁止22端口的TCP/IP通信。

END

修改用户登录运行脚本

1、修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是对应的用户名),在文件最后加入如下行:

1、环境准备

服务器:CentOS 7.3 + git (1.8.3.1)

客户端:win10 + git (2.17.0.windows.1)

2、服务器安装git

yum install -y git 

3、创建git用户,管理 git服务

[root@localhost home]# useradd git

[root@localhost home]# passwd git

4、服务器创建git 仓库

设置/home/git/戚镇repository-git 为git 服务器仓库,然后把 git 仓库的 owner 修改为 git 用户。

复制代衫坦码

[root@localhost git]# mkdir repository-git

[root@localhost git]# git init --bare repository-git/

Initialized empty Git repository in /home/git/repository-gt/

[root@localhost git]# chown -R git:git repository-git/

5、客户端安装git

下载 Git for Windows,地址:https://git-for-windows.github.io/

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

5.1、选择一个目录 F:\project\sell 作为本地仓库,右键进入Git Bash 命令行模式

初始化本地仓库:git init

5.2、尝试克隆一个服务器的空仓库到本地仓库

git clone git@192.168.116.129:/home/git/repository-gt

第一次连接到目标 Git 服务器时会得到一个提示:

The authenticity of host '192.168.116.129(192.168.116.129)' can't be established.

RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.

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

选择 yes:

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

此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12523263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存