使用gitolite搭建git服务器

使用gitolite搭建git服务器使用gitolite搭建git服务器

大家好,又见面了,我是你们的朋友全栈君。

1:链接服务器
2:安装git

yum install git

3:安装perl(perl在linux下可以理解为增强版本的shell,是一种脚本语言,具有程序结构,很多内建功能,也方便调用其它程序)在安装perl的同时,最好把 cpan 也同时安装一下。

yum install perl
yum install cpan

4:安装openssh
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。

yum install openssh

5:添加git、gitadmin用户 ,删除用户

useradd git 

userdel -r gitadmin

6:添加用户的ssh登录密码

passwd git 

7:查看所有用户

cat /etc/passwd

这里写图片描述
大多都是系统自带的,而只有像root、git这样的以/bin/bash的,是可以使用ssh登录的

cat  /etc/shadow

8:.在 gitadmin 用户下生成公钥私钥

ssh-keygen

在当前目录ll -a 查看是否有.ssh文件
在.ssh文件里面有id_res和id_res.pub
cp id_res.pub /root/id_res.pub

9:在 git 用户下安装 gitolite
在git用户的/home下面,执行

git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
ls

可以看到有两个目录bin,gitolite

10:设置管理员的私钥
在git用户下的/bin目录下,执行

./gitolite setup -pk /root/res.pub

11:在git用户下会多出两个文件projects.list 、respositories:
respositories文件是所有的仓库,这里在git用户下只是做配置;
cd 到respositories目录下,我们查看一下目录下的东西:

12:切换到gitadmin用户下,clone git用户下的gitolote-admin.git

git clone git@ip地址:gitolite-admin

gitadmin用户下已经存在了这个目录,然后查看一下这个目录,下面有两个文件,
conf 仓库
keydir 这个文件是用来放置公钥的

13:本地生成公钥私钥,然后copy到gitadmin/gitolite-admin/keydir下,命令如下:

scp id_rsa.pub root@ip地址:/home/gitadmin/gitolite-admin/keydir/local.pub

在gitolite-admin目录下面,执行、

git status
git add *
git commit -m '公钥’ git push 

14:vim conf/gitolite.conf
这里写图片描述
其中几个仓库,是我随意添加的。添加以后,执行如下:

git status
git add *
git commit -m '公钥’ git push 

15:git clone git@ip地址:仓库名“

16:success

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105925.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cpu流水线工作原理_嵌入式工作原理

    cpu流水线工作原理_嵌入式工作原理现在的CPU处理器一般都是超流水线工作,动不动就是10级以上流水线,超高主频,这两者之间有什么关系呢?今天就跟大家科普下CPU流水线的工作原理,以及他们之间的关系。说到流水线,很多人会想到富士康;说到富士康,很多人会想到张全蛋。作为富士康3号流水线资深质检员,下面就请张全蛋给大家科普下什么是流水线,大家鼓掌欢迎。MichealJack眼中的流水线大家好,我是张全蛋,英文名叫MichealJack,法文名叫霍雷呆-杰Q赖,大家也可以叫我查理。作为iPhone手机3号流水线的资.

    2022年8月20日
    7
  • matlab维纳滤波器函数_逆滤波器

    matlab维纳滤波器函数_逆滤波器[Matlab]维纳滤波器设计​ 维纳滤波(wienerfiltering)一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声污染的信号。​ 从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值,而相应的装置称为…

    2025年8月21日
    2
  • 线程池实现原理_最通俗易懂的解读比特币相关原理

    线程池实现原理_最通俗易懂的解读比特币相关原理本篇内容综合广大网友提供内容,笔者经过整理,对数据库连接池原理和实现过程做个很系统的并且通俗易懂的分析讲解,以及手写一个连接池实现过程作为演示。一、早期通过JDBC方式操作数据库我们先来看早期使用JDBC的方式操作数据库的过程,这里以mysql数据库为例讲解JDBC操作数据库原理:一般来说,java应用程序访问数据库的过程是:   ①装载数据库驱动程序;   ②通过jdbc…

    2025年12月4日
    2
  • IntentService的原理及使用

    在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Ac

    2022年4月7日
    41
  • 常用电脑密码破解实用技巧

    常用电脑密码破解实用技巧

    2021年7月24日
    57
  • 全排列 leetcode_8的全排列

    全排列 leetcode_8的全排列原题链接给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解回溯即可class Solution {public: vector<vector<int> >res; vector<int>t; void dfs(int num,int len,vecto

    2022年8月9日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号