一. 安裝 libiconv
這個是很是規項 若是服務器原來已經裝過 能夠不裝 可是若是git安裝時候提示找不到libiconv 須要在git的安裝參數中指定安裝路徑
最新版是 1.15node
- wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
- tar -zxvf libiconv-1.15.tar.gz
- cd libiconv-1.15
- ./configure --prefix=/usr/local/libiconv && make && make install
- rm -rf /usr/lib/libiconv.so //刪除原有的軟鏈接
- rm -rf /usr/lib/libiconv.so.2
- ln -s /usr/local/lib/libiconv.so /usr/lib 新建軟鏈接
- ln -s /usr/local/lib/libiconv.so.2 /usr/lib
二. 卸載原有git 默認git通常版本都比較低 1.7 1.8的 如今已經2.9+了 因此先卸載原來老的git
- rpm -e --nodeps git
三 安裝git 具體版本本身找 本文以2.9.2爲例github
- cd ../ #返回上級目錄
- wget https://github.com/git/git/archive/v2.9.2.tar.gz
- tar -xzvf v2.9.2.tar.gz
- cd git-2.9.2
- make prefix=/usr/local/git all #若是報錯 使用下面的方式
- make prefix=/usr/local/git install #若是報錯 使用下面的方式
- make configure
- ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv #libiconv地址改爲本身的
- make && make install
- vi /etc/profile #添加到環境變量
export PATH="/usr/local/git/bin:$PATH"
source /etc/profile #是配置當即生效
- git --version #查看版本號
- 將git設置爲默認路徑,否則後面克隆時會報錯
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
四. 配置gitshell
-
Git服務器打開RSA認證
vi /etc/ssh/sshd_config #如下項前面的#去掉
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keysbash
-
禁止Shell登陸
vi /etc/passwd
git:x:502:502::/home/git:/bin/bash 修改爲下面的 git的路徑要設置成本身的
git:x:502:502::/home/git:/usr/local/git/bin/git-shell服務器
-
建立git用戶組和用戶
groupadd git
useradd git -g git
passwd git
su - git #切換到剛建立的git用戶ssh
-
建立用戶公鑰文件
cd /home/git/
mkdir .ssh #新建文件夾
chmod 700 .ssh
touch .ssh/authorized_keys #新建文件
chmod 600 .ssh/authorized_keys
後續用戶只須要向authorized_keys中添加本身的公鑰spa
五. 建立倉庫及使用
1. cd /home/git #在某個文件夾下建立
git init --bare test.git #建立一個空倉庫 倉庫名字叫 testcode
2. 本地克隆倉庫
git clone git@your-ip:test.git