一. 安装 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