centos6.3/debian6,7搭建一個git服務器
一.centos
os: centos63(Final)
git: 1.7.1
gitolite
步驟很簡單,需要安裝git, ssh支持,gitolite, 然後公鑰 . 本文全部采用的yum包過來的
1. 登錄服務器,安裝,(# 是root 登錄後的.)
#yum install perl openssh git
裝不上,那就裝下面的依賴
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
2.建立一個用戶
#adduser --system --shell /bin/sh --create-home --home-dir /home/git git
#cd /home/git
#mkdir repositories
#chown git:git -R ./repositories
#chmod 700 ./repositories
3.切換至剛建的git用戶 ($ 表示用戶)
#su git
$git clone git://github.com/sitaramc/gitolite
$mkdir -p $HOME/bin
$gitolite/install -to $HOME/bin
這裡可能會報錯缺少模塊,就需要 切換到root 安裝缺失模塊.比如perl-Time-HiRes 這個
$su -
輸入服務器root密碼
#yum install perl-Time-HiRes
#su git
$gitolite/install -to $HOME/bin
然後這裡安裝的就完了.
本機, 本機我這裡是debian,
#ssh-keygen
#cd /root/.ssh
裡面有id_ras.pub 和id_rsa ,一個是公鑰,一個是私鑰. 如果之前你裝過openssl產生過密鑰,那這裡就不要覆蓋了
復制到服務器的/tmp
#scp ~/.ssh/id_rsa.pub server_username@server_host:/tmp
輸入密碼
回到服務器,
#cd /tmp
#mv id_rsa.pub admin.pub
為什麼要改成admin.pub 因為gitolite根據這個文件名來設立帳號.我這裡用admin
#su git 切換到git用戶
$$HOME/bin/gitolite setup -pk admin.pub
然後去/home/git/repositories 裡面,可以看見倉庫文件.gitolite-admin.git 和test.git 一個是管理倉庫的,一個是測試用
本機拉服務器代碼
#git clone git@server_host:gitolite-admin
進入倉庫後可以看到conf 和keydir ,conf/gitolite.conf 是添加用戶/倉庫的配置, keydir 是放對應用戶的公鑰.
修改好後可以直接push了.