CentOS 7中安装搭建Git服务器Gitolite

Gitolite是一款免费的开源Git服务器,如果要在单个服务器中托管多个git存储库,Gitolite应该时最完美的。 Gitolite是Git之上的访问控制层,因此您可以配置基于用户设置Git访问权限。 Gitolite提供对许多gitolite用户的访问,并控制对许多Git存储库的访问。

以下是Gitolite的图形概述:

CentOS 7中安装搭建Git服务器Gitolite

特色一目了然

关于Gitolite功能,我们可以列出以下内容:

非常强大的规则语言(根据分支/标签名称,触摸的文件/目录,更改的文件的大小,更改的文件的数量等决定)。

编写规则的方便功能(备份组,用户组,从LDAP获取用户组信息,包括文件,宏...)

高度可定制和可脚本化,特别是用户自定义命令。 许多内置的命令和选项。

强大灵活的镜像系统。

用户可以创建自己的回馈并设置访问权限(如果允许的话)。

在本教程中,让我们看看如何在CentOS 7最小服务器中安装搭建Git服务器Gitolite。

我的测试环境详细信息

为了本教程的目的,我将使用以下测试环境。

操作系统:CentOS 7 64位最小服务器
IP地址:192.168.1.150/24
主机名:server1.linuxidc.local

前提条件 1.更新服务器并安装先决条件

使用命令以root用户身份更新CentOS 7服务器:

[root@server1 ~]# yum update

安装以下前提条件:

[root@server1 ~]# yum install autoconf git 2.创建Gitolite用户

接下来,我们为Gitolite创建一个用户,并使用以下命令为用户设置密码:

[root@server1 ~]# adduser git [root@server1 ~]# passwd git 3.创建SSH公钥并将其复制到git用户

我们需要创建一个SSH公用密钥并将其发送到Gitolite服务器。

使用命令创建SSH密钥:

[root@server1 ~]# ssh-keygen

输出如下内容:

Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: de:5f:11:3e:ab:91:c2:6e:3d:99:82:36:54:8a:fd:9d root@server1.linuxidc.local The key's randomart image is: +--[ RSA 2048]----+ | | | | | . | | . . . | | oSo + | | ..+o . + | | ..o+oo+o | | +.+oE+ | | . o..o. | +-----------------+

CentOS 7中安装搭建Git服务器Gitolite

如上图所示,有两个keys生成。 一个是私钥,你应该保密,另一个是公钥。 你应该分享这个公钥,无论你想与谁沟通。 在我们的例子中,我们分享这个公钥给用户'git'。 记住我们以前的步骤已经创建了一个名为“git”的用户。

首先制作您的公钥的副本,如下所示。

[root@server1 ~]# cp .ssh/id_rsa.pub sk.pub

现在,让我们使用以下命令将公钥复制到用户'git'的主目录中:

[root@server1 ~]# cp sk.pub /home/git

如果您从远程系统复制该密钥,则应该使用以下命令:

[root@server1 ~]# scp sk.pub git@<ip-address>:/home/git

您可以验证密钥是否已成功传输到“git”用户的主目录:

[root@server1 ~]# ls /home/git/

运行以下命令来更新Bash:

 

[git@server1 ~]$ source .bash_profile

我们已经完成了必要的必备步骤。 现在,让我们继续安装Gitolite。

安装 Gitolite

使用命令切换到“git”用户:

[root@server1 ~]# su - git

在“git”用户的主目录中创建一个名为bin的目录。

要这样做,请运行:

[git@server1 ~]$ mkdir ~/bin

现在,git克隆到最新的Gitolite存储库,如下所示。

[git@server1 ]$ git clone git://github.com/sitaramc/gitolite

应该输出如下内容:

Cloning into 'gitolite'... remote: Counting objects: 9225, done. remote: Total 9225 (delta 0), reused 0 (delta 0), pack-reused 9224 Receiving objects: 100% (9225/9225), 3.79 MiB | 260.00 KiB/s, done. Resolving deltas: 100% (5269/5269), done.

CentOS 7中安装搭建Git服务器Gitolite

接下来,使用命令,在〜/ bin目录中创建Gitolite符号链接:

[git@server1 ~]$ gitolite/install -ln ~/bin

上述命令不会显示任何消息。 您将在〜/ bin目录中看到Gitolite符号链接。

[git@server1 ~]$ ls ~/bin

git@server1:~_007

最后运行以下命令,使用SSH公钥安装Gitolite:

[git@server1 ~]$ gitolite setup -pk sk.pub

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/88d3aea3443fd52702c1fa48a93b96bf.html