一 git伺服器的搭建
1.安裝git
yum install git -y
2.建立乙個git使用者(禁用shell登入)
useradd git -s /usr/bin/git-shell
3.建立證書登入檔案(authorized_keys)
cd /home/gitmkdir .ssh
touch .ssh/authorized_keys
chown -r git:git .ssh
chmod 600 .ssh/authorized_keys
4.初始化git倉庫
1.選定目錄/home/git/sample.git
mkdir -p /data/gitrootcd /data/gitroot
git init
--bare sample
.git
chown -r git:git sample.git
5.本地轉殖遠端倉庫
1.安裝git
yum install git -y
2.複製遠端版本庫ssh
-keygen
-t rsa -c
"msun"
#將使用者根目錄下的.ssh/id_rsa.pub 編輯到ssh公鑰到遠端倉庫
/home/git/.ssh/authorized_keys
git clone git@ip:版本庫路徑
二 gitosis管理(
) gitosis就是用來管理authorized_keys檔案和實現簡單連線限制的指令碼。
1.安裝依賴python-setuptools
yum install python
-setuptools -y
2.安裝gitosis
cd
git clone git
://github
.com
/res0nat0r
/gitosis
.git
cd gitosis
python setup
.py install
3.預設gitosis會把/home/git做為儲存所有git倉庫目錄,所以做需做軟連線。
ln -s/data
/gitroot//
home
/git
/repositories
4.備份已存在的authorized_keys檔案
mv
/home
/git
/.ssh
/authorized_keys
/home
/git
/.ssh/ak
.bak
chown -r git:git /data/gitroot/
5.恢復git使用者的登入shell
sed -i
's#/usr/bin/git-shell#/bin/bash#g'
/etc
/passwd
6.配置gitosis
#從git使用者獲得他的公匙用於初始化,此公匙所有者將成為gitosis管理員
scp root@192
.168.1
.168
:/root
/.ssh
/id_rsa
.pub
/tmp
/
#初始化
sudo -h
-u git gitosis
-init
<
/tmp
/id_rsa
.pub
#post
-update
指令碼加可執行許可權
chmod
755/
data
/gitroot
/gitosis
-admin
.git
/hooks
/post
-update
以下配置都在公匙git使用者操作
7.嘗試連線測試
[
root@test2
~]#ssh git@192
.168.1
.166
pty allocation request failed on channel
0
error
:gitosis
.serve
.main
:need
ssh_original_command
inenvironment
.
connection
to 192.168
.1.166
closed
.
8.建立git庫,並完成初始化
mkdir
/gitcode
cd
/gitcode
/
git init
git config
--global user
.name
"msun"
git config
--global user
9.轉殖gitosis的控制倉庫
git clone git@192.168.1
.166
:gitosis
-admin
.git
[root@test2 ~]# tree gitosis-admin/
gitosis-admin/
├── gitosis.conf
└── keydir
└── msun.pub
#gitosis.conf檔案用來設定使用者、倉庫和許可權的控制檔案
#keydir儲存具有訪問全限的使用者
10.設定許可權
vim gitosis-admin
/gitosis
.conf
[
gitosis
]
[
group gitosis
-admin
]#組名稱
members
=msun
#成員名單
writable
=gitosis
-admin
#許可權
#追加測試
[
group mobile
]
members
=msun
writable
=iphone_project
11.提交修改
cd gitosis-admin/git add gitosis.conf
git commit -m
"test"
git push
Git 搭建git伺服器
環境 ubuntu16.4 1.以root使用者登陸linux後台,執行下面的命令安裝git apt install git2.建立git使用者 adduser git3.建立倉庫目錄 su git mkdir p repository myself.git4.初始化倉庫 cd repository...
Git 搭建Git伺服器
在遠端倉庫一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺服器...
搭建Git伺服器
在 遠端倉庫 一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺...