Centos7 yum安装git服务器

安装git

yum install git

检查git版本

git –version

发现不是较新的版本或者是我们想要的版本

移除该版本git

yum remove git

下载编译工具

yum -y groupinstall Development Tools

下载依赖包

yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel

下载 Git 最新版本的源代码

wget https://www.kernel.org/pub/software/scm/git/git-2.32.0.tar.gz

登录https://github.com/git/git/releases查看git的最新版。不要下载带有-rc的,因为它代表了一个候选发布版本。

https://github.com/git/git/archive/refs/tags/v2.32.0.tar.gz

解压

tar -zxvf git-2.9.5.tar.gz

进入目录配置

cd git-2.32.0

./configure –prefix=/usr/local/git

安装

make && make install

配置全局路径

export PATH="/usr/local/git/bin:$PATH"

source /etc/profile

以上即为安装的全部步骤。

后续使用中,遇到错误

Unable to find remote helper for ‘https’

解决方法:

将 /usr/libexec/git-core 纳入 PATH,至少在使用 git 之前,设置一下PATH

PATH=$PATH:/usr/libexec/git-core

或直接在 /etc/profile 中修改。

配置环境变量的备用方案:

[root@bogon git-2.3.0]# echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh

[root@bogon git-2.3.0]# source /etc/profile.d/git.sh

[root@bogon git-2.3.0]# git –version

下面是补充

使用SSH搭建GIT服务器,要做以下准备工作:

1、在服务器和客户端机器上分别安装git

2、在服务器上安装ssh服务

3、在客户端机器上安装SSH客户端

make clean 清除编译

yum remove git 卸载

安装服务端:

(1)首先先更新系统

sudo yum update

(2)安装依赖的包

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

(3)下载git源码并解压缩

wget https://Github.com/Git/Git/archive/v2.32.0.tar.gz

tar zxvf v2.32.0.tar.gz

cd git-2.32.0

make prefix=/usr/local/git all

如果出现错误:

libgit.a(utf8.o): In function reencode_string_iconv’: /root/git-2.3.0/utf8.c:463: undefined reference tolibiconv’ libgit.a(utf8.o): In function reencode_string_len’: /root/git-2.3.0/utf8.c:502: undefined reference tolibiconv_open’ /root/git-2.32.0/ut

make prefix=/usr/local/git install

安装libiconv

下载编译

cd /usr/local

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar -zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure –prefix=/usr/local/libiconv && make && make install

创建一个软链接到/usr/lib

ln -s /usr/local/lib/libiconv.so /usr/lib

ln -s /usr/local/lib/libiconv.so.2 /usr/lib

然后回到git目录继续编译

make prefix=/usr/local/git all

make prefix=/usr/local/git install

**(5)此时你如果使用git –version 查看git版本的话,发现git仍然是1.8.1版本。这是因为它默认使用了"/usr/bin"下的git。**

你可以用下面的命令查看git所在的路径:

$ whereis git

git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

**(6)我们要把编译安装的git路径放到环境变量里,让它替换"/usr/bin"下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。**

sudo vim /etc/profile

然后在文件的最后一行,添加下面的内容,然后保存退出。

export PATH=/usr/local/git/bin:$PATH

**(8)然后再次使用git –version 查看git版本,发现输出2.3.0,表明安装成功。**

**安装gitosis:**

下载setuptools放到你想放的目录,我自己放在/usr/local/src这里

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.0.tar.gz#md5=b921200449c8b52d62c7e70a47956b69 (https://pypi.python.org/pypi/setuptools#downloads)这个网址下载的,可以去下载最新

tar zxvf setuptools-19.0.tar.gz

cd setuptools-19.0

python setup.py install

cd /usr/local

git clone git://github.com/res0nat0r/gitosis.git

cd gitosis

**python setup.py install 显示Finished processing dependencies for gitosis==0.2即表示成功**

**在Linux服务器上**

**第一步,先创建一个专门由于git仓库的一个账号吧,这样也方便进行管理 (如果已经有账号则不需要执行这步)**

sudo groupadd git #新建一个git用户组

sudo useradd git -m -s /sbin/nologin -d /home/git -g git #新建一个git用户,创建目录,并禁止shell登录,添加到git用户组

sudo useradd git -m -s /bin/bash -d /home/git -g git #新建一个git用户,创建目录,并允许shell登录,添加到git用户组

**第二步:新建一个git空仓库。**

切换到你用来管理git的账号,本人是git账号:su git 或者你用root

cd /home/git/

mkdir www.laogao.com 项目文件夹,名字自定义

cd www.laogao.com

git init –bare

显示:Initialized empty Git repository in /home/git/www.laogao.com.git/ 表示已经建立成功

**第三步:添加用户的公钥**

1.切换到你操作git的用户,列如(su git)

mkdir /home/git/.ssh

chmod 700 .ssh

cd /home/git/.ssh

ssh-keygen -t rsa //默认会生成~/.ssh/id_rsa.pub公钥文件。

gitosis-init < /home/git/.ssh/id_rsa.pub //初始化

**初始化完出现3个文件**

**authorized_keys**

**id_rsa**

**id_rsa.pub**

最后:

chmod 600 authorized_keys

vim authorized_keys

“`

把你客户端生成的公钥复制进去就OK了

完成

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


在Docker中,挂载目录的权限问题通常可以通过以下方法解决: 使用 -v 参数指定挂载目录时添加权限相关的选项。可以通过在挂载的目录后面添加 :ro 或 :rw 来指定...
在Ubuntu命令行中设置中文可以通过以下几种方式实现: 安装中文输入法:可以通过在命令行中安装中文输入法来在终端中输入中文。常见的中文输入法包括Fcitx、IBu...
要查看CentOS中的重启记录,可以使用以下命令: 使用last命令查看系统启动和关机记录: last reboot 使用journalctl命令查看系统日志,可以筛选出重启相关的...
要判断哪个串口在工作,可以通过以下方法: 使用命令行工具:可以使用命令ls /dev来列出系统中所有的串口设备,通常串口设备的名称以ttyS或ttyUSB开头。可以使...
要查看Linux系统中数据盘的挂载点,可以按照以下步骤进行: 打开终端窗口,输入以下命令来查看系统中已挂载的磁盘和分区信息: df -h 在显示的结果中,找到...
要更改Ubuntu系统的启动项顺序,可以按照以下步骤操作: 打开终端,输入以下命令来编辑grub配置文件: sudo nano /etc/default/grub 在打开的配置文件中...
今天小编给大家分享一下excel图案样式如何设置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10设置...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...
这篇文章主要介绍“Linux中如何部署Golang应用程序”,在日常操作中,相信很多人在Linux中如何部署Golang应用程序问题上存在疑惑,小编查阅了各式资料,整理出
这篇文章主要介绍“Linux云服务器中如何使用sudo”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux云服务器中
这篇文章主要讲解了“linux怎么查看服务器开放和启用的端口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习...
这篇文章主要介绍“Linux下怎么安装PHP的memcache扩展”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下怎
本文小编为大家详细介绍“linux下忘记root密码如何找回”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux下忘记root密码如何找回”文章能帮助大家解决疑惑...
本篇内容介绍了“如何更新Linux云服务器的操作系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
这篇“Linux云服务器入侵如何排查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读
本篇内容主要讲解“Linux中的nohup命令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中的nohup...