奋斗我的青春

linux/Centos搭建git服务器环境

发布时间:2个月前热度: 68 ℃评论数:

查看当前git版本号(原来没有git的话会提示报错)

git --version

如果嫌弃版本太低的花可以删除旧版本的git

yum remove git

先安装git编译需要的依赖包

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
yum -y install gcc perl-ExtUtils-MakeMake

下载git的源码包 :《查看git所有版本》

cd /usr/local/src/
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

解压下载的文件,解压到/usr/src目录下

tar -zxvf git-2.9.5.tar.gz -C /usr/src
cd /usr/src/git-2.9.5/

编译安装,编译和安装,都是在user/local/git目录下;需要等一段时间

//编译
make prefix=/usr/local/git all
//安装
make prefix=/usr/local/git install

配置环境变量,上一步安装是在user/local/git的目录下,在/etc/profile文件的末尾加上

echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/profile

刷新配置文件

source /etc/profile

查看是否安装成功

git --version

由于安装路径是/usr/local/git,不是默认路径,所以需要建立链接文件

ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack

创建一个git用户组和用户用于运行git服务

//创建git用户组
groupadd git
//在git用户组下创建git用户
useradd git -g git
//设置git用户密码
passwd git

在本地电脑创建私钥和密钥

ssh-keygen -t rsa -C "你的邮箱地址"

在服务器里创建/home/git/.ssh/authorized_keys,将本地公钥文件id_rsa.pub里的公钥导入到服务器/home/git/.ssh/authorized_keys文件里

 cd /home/git/
//创建.ssh目录并赋予权限
mkdir .ssh
chmod 700 .ssh
//创建authorized_keys文件并赋予权限
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
//更改目录拥有者
chown -R git:git .ssh
//将公钥导入
echo "你本地电脑里的公钥" >> .ssh/authorized_keys

在/srv/git/目录初始化test.git仓库

cd /srv
mkdir git
cd git
//加上--bare参数创建裸库
git init --bare test.git

至此完成,现在可以克隆代码了

git clone git@你的服务器地址:/srv/git/test.git


安全起见,禁止git用户shell登陆

编辑/etc/passwd

vim /etc/passwd

git:x:git:x:1002:1002::/home/git:/bin/bash

改为

git:x:1002:1002::/home/git:/usr/local/git/bin/git-shell

即可

也可以把shell默认端口改了

vim /etc/ssh/sshd_config

#Port 22

前面的#号注释去掉,22改成你想要的端口,记得防火墙要对应放行该端口

//放行端口
firewall-cmd --zone=public --add-port=端口/tcp --permanent
//重启防火墙
systemctl restart firewalld.service
//查看端口放行是否成功
firewall-cmd --list-ports

重启sshd服务

systemctl restart sshd.service

更改端口后克隆命令要写成这样

git clone ssh://git@你的服务器地址:端口/srv/git/test.git

linux,Centos,git,搭建,服务器,环境

手机扫码访问