歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS上搭建git服務器

CentOS上搭建git服務器

日期:2017/2/27 16:00:56   编辑:Linux教程
安裝setuptools
  1. wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
  2. tar zxvf setuptools-0.6c11.tar.gz
  3. cd setuptools-0.6c11
  4. python setup.py build
  5. python setup.py install

在服務器(CentOs)上首先安裝git軟件

  • yum insatll git

安裝gitosis

  1. git clone git://github.com/res0nat0r/gitosis.git
  2. cd gitosis
  3. python setup.py install

添加用戶git

sudo useradd -r -s /bin/sh -c 'git version control' -d /home/git git

設置權限

mkdir -p /home/git

chown git:git /home/git

ssh登陸驗證

  • cat kailuzhe_rsa.pub >> authorized_keys authorized_keys存在,追加
  • mv kailuzhe_rsa.pub authorized_key authorized_keys不存在,改名

生成公鑰

  • ssh-keygen -t rsa

上傳公鑰

  • scp ~/.ssh/id_rsa.pub USER@YOUR_SERVER:/tmp

在服務端生成管理庫

  • sudo -H -u git gitosis-init < /tmp/id_rsa.pub

看到如下提示說明安裝成功

Initialized empty Git repository in /var/spool/gitosis/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /var/spool/gitosis/repositories/gitosis-admin.git/

修改上傳權限

  • chmod 755 /var/spool/gitosis/repositories/gitosis-admin.git/hooks/post-update

同步配置文件

創建新的repositories

打開gitosis.conf文件,你將看到

[group gitosis-admin]

writable = gitosis-admin

members = nasa127@localhost

這個是管理組的權限,members中的用戶名就是剛才上傳的公鑰裡面的用戶名。 在這個文件後面加入:

[group myteam]

members = nasa127@localhost

writable = diablo3_spider

這裡你定義了一個叫myteam的組,授予nasa127@localhost這個用戶寫“diablo3_spider”這個repo的權限

git commit -a -m "Allow nasa write access to diablo3_spider"

git push

上面的操作就更新了服務端的權限。 下面就開始創建diablo3_spider的repo

mkdir diablo3_spider

cd diablo3_spider

git init

隨便加一些文件提交代碼:

git remote add origin git@YOUR_SERVER_HOSTNAME:diablo3_spider.git

git add .

git commit -a -m "initial import"

git push origin master:refs/heads/master

接下來,可以增加成員的公鑰到系統中了

cd gitosis-admin

cp ~/[email protected] keydir/

cp ~/[email protected] keydir/

git add keydir/[email protected] keydir/[email protected]

修改gitosis.conf
[group fractalist]
members = nasa127@localhost Administrator@SUNPX-PC tongzhongqian@localhost
writable = GTFund-iPad

提交修改:
git commit -a -m "Granted sunpx and qtz commit rights to diablo3_spider"
git push
其它成員就可以獲取代碼了
git clone git@YOUR_SERVER:diablo3_spider.git

其他
對Git設置端口號
git+ssh://git@YOUR_SERVER:PORT/GTFund-iPad.git
git remote add origin git+ssh://git@YOUR_SERVER:PORT/GTFund-iPad.git

Copyright © Linux教程網 All Rights Reserved