git 简单易用,为了一探究竟,同时知足好奇心,想深刻学习了下如何搭建git服务器。同时会简单说下步骤。linux
一、建立一个 git
用户专门管理 Git 仓库管理,并设置密码git
添加 git 这个用户shell
useradd git
复制代码
注:若是权限不够,可加 sudo
. 我是直接使用 root 登陆,能省点麻烦。vim
添加用户密码安全
passwd git
复制代码
二、在服务器上选择/建立一个目录做为版本库存地址bash
由于有了 git 用户,我也想把库的地址放在这个用户下一块儿,因此是进入 git 用户下文件夹里。服务器
cd /home/git/
mkdir -p gitLib
复制代码
三、在这个目录下建立你新建的项目地址,并把项目进行初始化。ssh
mkdir -p gittest.git
git init --bare gittest.git
复制代码
四、更改文件权限,更改成git用户学习
chown -R git:git gittest.git/
复制代码
五、测试 clone 代码到本地测试
git clone git@server:/home/git/gitLib/gittest.git
复制代码
说明:server
是你服务器的公网 ip ,/home/git/gitLib/gittest.git
是上面建立的远程仓库路径.
再输入 git 的登陆密码就能够 clone 代码。
其实如今就已是能够算是部署完成了,可是涉及到安全性以及每次输入密码都很不爽,因此咱们须要禁止 shell 登陆,可是仍能够经过 ssh 正常使用 git。
设置ssh免密码登陆linux也是比较简单,网上不少教程。www.jianshu.com/p/e9db116fe…
禁止 shell 登陆
vim /etc/passwd
复制代码
git:x:1000:1000::/home/git:/usr/bin/bash
# 修改成
git:x:1000:1000::/home/git:/usr/bin/git-shell
复制代码
注:此处有两个地方须要注意:
/home/git/.ssh
/usr/bin/
是否存在 git-shell
文件命令,git-shell 随 git 安装到 git 目录下,可是没有配置在/usr/bin/
下,因此须要使用软连接把 git-shell 配置到 /usr/bin/
,或者git:x:1000:1000::/home/git:/usr/bin/git-shell
修改成服务器 git-shell 的文件路径。总结体会: