在阿里云服务器上部署Git
升级centos 自带的Git
yum库自带版本为git1.7.1-3.el6_4.1。
-------------------升级------------------------
如已安装GIT先删除
sudo yum remove git
编译安装Git
以前编辑安装过php,所以已安装了编译工具。
参考 http://www.tuicool.com/articles/eYZFFn
1. 下载 git 最新版本的源代码
cd ~ wget -O git.zip https://github.com/git/git/archive/master.zip
unzip git.zip
cd git-master
配置编译安装
autoconf ./configure make && make install
链接文件到/usr/bin
ln -s /usr/local/bin/git /usr/bin/
git --versio
git version 2.4.0.GIT (标记:好高的版本,2015年5月7日。)
######################################################
编译安装中出现两次错误
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
--------------下面是解决方法--------------------------------------------------------
执行:
yum install perl-ExtUtils-MakeMaker package
参考:http://wwwlouxuemingcom.blog.163.com/blog/static/209747822014518311337/
###########################################################
如果make的时候报错:/bin/sh: msgfmt: command not found
则需要:
yum install gettext-devel
###########################################################
git应用
初始化git目录
cd /git/
mkdir project.git
git init --bare
创建git用户及证书登录
useradd git #添加git用户 passwd git #设置密码 ssh-keygen -t rsa 生成证书 cd /home/git/.ssh cat id_rsa.pub >authorized_keys //将公钥加入到authorized_keys sudo chmod 400 authorized_keys //保护公钥证书。很重要,因为没有设置。造成登击忽略,提示输密码。
将私钥id_rsa下载到本地电脑
第五步,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd
文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
手动查一下/usr/bin下面有没有git-shell文件或链接文件。没有可以在 /usr/local/bin里面找
ln -s /usr/local/bin/git-shell /usr/bin/git-shell #PS 因为没有链接,造成登陆不成功,反复提示密码
这样,git
用户可以正常通过ssh使用git,但无法登录shell,因为我们为git
用户指定的git-shell
每次一登录就自动退出。
参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
http://www.cnblogs.com/trying/archive/2013/09/04/3301883.html
代码布置:
http://www.cnblogs.com/iidf/articles/4532126.html