CentOS7安装Git服务器

这次安装的是git 2.27.0

 

 准备安装

1. 删除原有Git, 由于系统默认使用的是1.8.3.1的git, 所以要先删除掉

# yum remove git
 

2. 下载git( 下载地址)

 

 

3. wget下载

wget https://github.com/git/git/archive/v2.27.0.tar.gz

 

 4. 解压git

# tar -zxvf git-2.27.0.tar.gz
 

5. 移动到 usr/local

# mv git-2.27.0 /usr/local/
 

 开始安装

 1. 首先安装依赖

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
 

2. 编译git, 编译不要着急,要花一点时间.

# cd /usr/local/git-2.27.0/
# make prefix=/usr/local/git-2.27.0 all
# make prefix=/usr/local/git-2.27.0 install
 

3. 修改PATH

# vim /etc/profile
在文件最后添加一下内容, 这里要注意路径哟..

export PATH="/usr/local/git-2.27.0/bin:$PATH"
 

4. 刷新PATH

# source /etc/profile
刷新后立即生效, 这是可以查询一下git的版本

# git --version
git version 2.27.0
 

5. 创建文件链接, 如果不执行这部, 后面提交会报错的...

# ln -s /usr/local/git-2.27.0/bin/git-upload-pack /usr/bin/git-upload-pack 
# ln -s /usr/local/git-2.27.0/bin/git-receive-pack /usr/bin/git-receive-pack


 6. 创建git用户和组

# groupadd git
# useradd git -g git
# passwd git
 

7. 切换到git用户, 注意. 创建仓库之类的一定要用git账户. 要不然权限设置很纠结的...

# su - git
 

 8. 创建ssh

# mkdir /home/git/.ssh
# chmod 700 .ssh
# cd /home/git/.ssh
# ssh-keygen -t rsa
一路回车后就是结果了

 

 9.创建authorized_keys

# touch authorized_keys
 

10. 创建一个git仓库文件夹用于存储git仓库,并设置权限

# mkdir /gitdata

# chown git:git /gitdata/

# chmod 777 /gitdata
 

11. 初始化一个git仓库用于测试

# cd /gitdata
# git init --bare mh.git
 

12. 启用公钥认证

# vim /etc/ssh/sshd_config
在文件末位加上一下内容, 主要要:wq保存哟..

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
 

13. 这时候需要在客户端安装git了.. 下载地址, 安装好之后使用Git Bush生成ssh

# ssh-keygen -t rsa -C "你的邮箱"
执行后会在你的 C:\Users\你系统的登录用户文件夹\.ssh 下面生成3个文件

 

 

14. 将ssh文件上传到ftp

 

 

15. 添加ssh

# cat /home/share/id_rsa.pub >> /home/git/.ssh/authorized_keys
这样ssh授权就加入了...以后就可以用这个邮箱进行版本管理了..

 

16. 克隆仓库, 在本地git bush中执行命令

# git clone git@106.16.166.222:/gitdata/mh.git


这样仓库就克隆到本地了...之后就是git之类的操作了...

# git add ./
# git commit -m "提交说明"
# git push
# git push origin master (如果上面报错,使用这个)

 

 


=======================

创建git多用户,进行git clone

 

创建用户组 ,如果已有git组

 

创建用户

useradd user1

useradd user2

 

禁用git用户的shell登录


git:x:1000:1000::/home/git:/usr/local/git-2.27.0/bin/git-shell

user1:1001:1001::/home/user1:/bin/bash

user2:x:1002:1002::/home/user2:/bin/bash

 

将用户添加到组

usermod -G git  user1

usermod -G git  user2

 

修改git仓库所在目录/gitdata/mh.git 的用户组为git,并修改目录权限。

chown -R git:git /gitdata/mh.git

chmod -R 777 /gitdata/mh.git

 

 

客户端测试

clinet# git clone git@106.16.166.222:/gitdata/mh.git

clinet# git clone user1@106.16.166..222:/gitdata/mh.git

clinet# git clone user2@106.16.166.222:/gitdata/mh.git

 

此时git clone 或 其他操作都需要输入密码。

 

 

配置ssh免密码

 

client#  ssh-keygen                                                                  生成密钥对

client#  ssh-copy-id user1@106.16.166.222                           上述生成的公钥上传到106.16.166.222服务器上(第一次需要输入服务器 用户user1密码 )

 

clinet#  git clone user1@106.16.166..222:/gitdata/mh.git      再次git clone,就不需要输入密码了
-----------------------------------
原文链接:

https://www.cnblogs.com/Troy-Lv5/p/9293846.html

posted @ 2022-01-28 21:03  超级宝宝11  阅读(646)  评论(0编辑  收藏  举报