yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.16.2。想要安装最新版本的的 Git,只能下载源码进行安装。
1.查看 yum 源仓库的 Git 信息:
yum init git
2.依赖库安装
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
3. 卸载低版本的 Git
yum remove git
4. 下载新版的 Git 源码包(我放的了 /usr/java/git 的目录下了,git是我自己mkdir的目录)
cd /usr/java/git
wget https://github.com/git/git/archive/v2.16.2.tar.gz
5.解压到当前目录
tar -xzvf v2.16.2.tar.gz
6.编译安装
# cd git-2.16.2
# make prefix=/usr/java/git all
# make prefix=/usr/java/git install
7.添加环境变量
vim /etc/profile
#如果没有vim,则安装vim工具 yum install vim
添加这一条: export PATH="/usr/java/git/bin:$PATH"
source /etc/profile #是配置立即生效
8.查看版本号
# git --version
git version 2.16.2
第二步:创建git用户组和用户用来运行git
$ groupadd git
$ useradd git -g git
$ passwd git #参数是用户名
查看CentOS内核版本,确定架构(x64、x86还是arm)
uname -a
下载与其对应的二进制安装包:
wget https://dl.gogs.io/0.11.34/linux_amd64.tar.gz
将安装包解压至git用户目录下(/home/git)并修改其权限和所有者:
sudo tar -xf linux_amd64.tar.gz -C /home/git
sudo chmod -R 700 /home/git/gogs
sudo chown -R git:git /home/git/gogs
使用git用户运行gogs:
sudo su - git -c "cd /home/git/gogs && ./gogs web &"
使用浏览器访问http://IP:3000,完成配置安装,
在实行以上安装的过程中,遇到过一个问题,系统提示:“ Fail to test 'git' command: exec: "git": executable file not found in $PATH (forgotten install?)”,这个主要是gogs要求git命令在/bin/git之中,这里可以做一个软连接。ln -s /usr/java/git/bin/git /bin/git 这样子就可以了。
配置文件地址:custom/conf/app.ini
配置liunx
至此我们只是可以运行gogs,如果我们通过终端连接过去启动,退出终端之后服务也会关掉。这个时候我们需要把gogs加入到系统服务之中去。在scripts文件夹下面有关于多个系统的服务脚本。其中init、systemd和windows目录分别是linux、windows下服务脚本。这里我们以Centos为例,进入到init下面看到有centos的脚本
1. 复制scrpits/init/centos/gogs到/etc/init.d/目录下面
cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d
2.在/etc/init.d目录下面为脚本赋予可执行权限
cd /etc/init.d
chmod +x gogs
3.使用服务管理命令管理服务
service gogs start/stop/restart/status
4.配置Gogs开机自启动
chkconfig --add gogs
参考文章
http://blog.csdn.net/hanchao_h/article/details/72805772