搭建git遠程服務器
實驗準備:
centos 6.5 x64 倉庫
centos 6.5 x64 線上應用服務器
win7 本地開發者電腦
1、linux安裝git
yum -y install git
2、創建git文件存放的目錄
mkdir -pv /data/git
3、創建git用戶
useradd giter
echo '123456' | passwd --stdin giter
4、切換到giter用戶及創建密鑰
su - giter
ssh-keygen -t rsa一路回車
5、下載密鑰對到win7和把公鑰存放到giter用戶
sz id_rsa*
cat `~/.ssh/id_rsa.put` >> authorized_keys
修改一下權限,否則無法登錄
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
6、測試利用密鑰登錄giter
登錄前還需要修改一下sshd_config,修改以下項。
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys
這項目最後再修改(不用密碼登錄)
PasswordAuthentication no
7、在服務器目錄生成倉庫(su -giter)
cd /data/git
git init --bare 3899w.git
chmod -R775 3899w.git
8、win7中clone倉庫到本地,我這裏是利用tortoisegit圖形界面處理(首頁需要安裝)
克隆地址:ssh://[email protected]:/data/git/3899w.git
到這裏遠程的服務器的搭建基本完成,但是一般這個只是一個倉庫,如果需要發佈到各個應用服務器就需要,利用web app工具進行界面上提交上線。
這裏我們先不介紹上線的web app,但是可以先搭建上線的命令行提交上線
接下來就是在應用服務器上面操作(需要一個上線代碼的用戶wwwgit-自己創建)
1、安裝git
yum -y install git
2、生成密鑰對
ssh-keygen -t rsa
3、上傳公鑰到giter服務器(這裏上傳需要giter密碼,這就是爲什麼前面要生前giter密碼,並且允許登錄的原因)
ssh-copy-id -i ~/.ssh/[email protected]
4、測試無密碼登錄giter
5、成功後就可以clone倉庫代碼到應用服務器應用即上線代碼
gitclone ssh://[email protected]:/data/git/3899w.git
6、最後記得修改不能讓人用giter賬號登錄服務器
vim/etc/passwd
/bin/bash-> /usr/bin/git-shell
這個過程當中可能有些需要修改目錄權限的問題,到時候直接把相關目錄所屬主和權限這樣修改
倉庫服務器
chown-R giter.giter /data/git
chmod-R 775 /data/git
應用服務器
chown-R www.wwwgit /data/www
chmod-R 770 /data/www
1