centos + git + gitolite 服务搭建
文章目录
- 1、安装 Git
- 2、用户
- 3、安装 gitolite
- 4、配置gitolite
- 5、免密码登录
【 参考】
1、安装 Git
(1) 安装依赖包
[root@nginx ~]#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y
(2) 在线安装git
[root@bogon ~]# yum -y install git
(3) 下载安装包安装方式
[root@bogon git-2.2.0]#tar xf git-2.2.0.tar.gz
[root@bogon git-2.2.0]#cd git-2.2.0/
[root@bogon git-2.2.0]#make prefix=/usr/local/git all
[root@bogon git-2.2.0]#make prefix=/usr/local/git install
(4) 增加软连接
[root@bogon git-2.2.0]#ln -s /usr/local/git/bin/* /usr/bin/
(5) 验证结果,显示出版本号,表示安装成功
[root@bogon git-2.2.0]#git --version
git version 2.2.0
2、用户
(1) 创建 git 用户
[root@bogon ~]# useradd git
(2) 切换到git用户
[root@bogon ~]# su - git
[git@bogon ~]$ pwd #查看当前位置
/home/git
(3) 确认.ssh/authorized_key是否存在
[git@bogon ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
备注:
如果免密配置后,仍然无法免密登录,可以查看 /var/log/secure
文件,确定拒绝登录的原因。如果跟权限有关,那么应该修改相关目录的权限。
比如 .ssh 目录的权限应该为 700,如果权限给的过大,则会报错: Authentication refused: bad ownership or modes for directory /home/git/.ssh
3、安装 gitolite
创建bin目录并安装gitolite 到bin目录($ 表示普通用户)
[git@bogon ~]$ git clone https://github.com/sitaramc/gitolite
[git@bogon ~]$ mkdir $HOME/bin
[git@bogon ~]$ gitolite/install -to $HOME/bin
[git@bogon ~]$ cd bin/
[git@bogon bin]$ ls
commands gitolite gitolite-shell lib syntactic-sugar triggers VERSION VREF
4、配置gitolite
gitolite 使用特定的版本仓库 gitolite-admin
来管理用户和其他版本库。
(1) 用git用户生成公钥
注:如果你是接着上面一直做下来的,那么只需要输入cd ,然后回车,则就进入了该用户的目录,如果不是git用户,则需要输入su – git,来切换到git用户)
[git@bogon ~]cd
[git@bogon ~]$ ssh-keygen -t rsa
(2) 修改.ssh/id_rsa.pub 为 admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin
[git@bogon ~]$ mv .ssh/id_rsa.pub admin.pub
(3) 使用管理员公钥安装gitolite
[git@bogon ~]$ $HOME/bin/gitolite setup -pk admin.pub
去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和testing.git 一个是管理仓库的(只有管理员有读写权限),一个是测试用(所有人都有权限)
(4) clone 管理员管理仓库(不需要输密码)
[git@bogon ~]$ git clone git@127.0.0.1:gitolite-admin
进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公想·x钥.并且此时,admin.pub这个公钥可以删除了
(5) 编辑gitolite.conf
[git@bogon ~]$ vim gitolite-admin/conf/gitolite.conf
详细的配置规则,参考 gitolite
(6) 然后提交修改(注:修改用户或者增加版本库后在下图中的目录中提交修改,否则会提示修改失败)
提交修改:
[git@bogon conf]$ git add keydir/test.pub conf/gitolite.conf
[git@bogon conf]$ git add .
[git@bogon conf]$ git commit -am "new project"
[git@bogon conf]$ git push origin master
(7) 提交完后,查看管理仓库中多了一个project.git
[git@bogon ~]$ cd repositories/
[git@bogon repositories]$ ls
gitolite-admin.git project.git
这个时候,服务器已经搭建完毕了,只需要添加用户并给用户添加权限就可以了。下面我们添加用户测试
5、免密码登录
(1) 使用 ssh-keygen.exe 生成一对密钥文件: id_rsa, id_rsa.pub
(2) 将公钥文件 id_rsa.pub 修改为 用户名.pub
, 例如 xiaoming.pub,放置在 git 服务器的 /home/git/gitolite-admin/keydir
目录下
(3) 将私钥放置在用户的 .ssh 目录下
比如 windows 平台 C:\Users\xiaoming\.ssh
(4) 修改 gitolite.conf 文件,配置用户 xiaoming
的访问权限
修改用 git push 到仓库中
(5) 在客户机上验证
git clone git@192.168.100.100:testing.git
验证是否可以免密码操作!
centos + git + gitolite 服务搭建相关推荐
- CentOS 6.7 Gitolite 服务搭建及TortoiseGit配置连接
咳咳~好几天没写博文啦,这几天都在研究Git,没办法公司要要抛弃SVN转站Git,废话就不多说,下面我们进行操作演示: 环境:之前搭建的Redis-Master服务器一枚,配置一般般~ 工具:Tort ...
- GIT Windows服务端搭建笔记
GIT Windows服务端搭建笔记 所需软件: GIT服务端: Bonobo Git Server,下载最新版 https://bonobogitserver.com/ 一:配置服务端(基于Wind ...
- CentOS -OpenStack-pike 服务搭建
Centos-7 部署openstack-pike步骤详解 加入老张: 作者老张 关注老张微信公众号: 一. 环境准备: 控制节点与计算节点都做环境部署 1.1 两台虚拟机 两台ce ...
- CentOS下直播和点播服务搭建
转载自:CentOS下直播和点播服务搭建 一.准备环境 1.下载wget.lrzsz工具 yum install -y wget yum install -y lrzsz 2.备份系统原来的repo文 ...
- Centos RSYNC服务搭建
前言: 总结下RSYNC服务搭建 介绍: Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件. 特点: 能更新整个目录和树和文件系统 ...
- git gitolite 搭建git服务器
准备环境 centOS7 192.168.1.216 1. 在git服务器中安装git软件 [root@bogon ~]# yum -y install git 2. 添加git用户 [root@bo ...
- centos7 安装git_Centos7.4 Yapi 服务搭建
Centos Yapi服务搭建 转载请标明原文出处 参考以下网址,排名不分先后 https://github.com/YMFE/yapi https://blog.csdn.net/guangzhou ...
- git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git
服务器自动部署项目之GitHooks神器 - CSDN博客 -- 每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦.在项目开发中使用git的时候,push之后, ...
- Gitolite + repo 搭建安卓源码开发环境
Gitolite + repo 搭建安卓源码开发环境 转载请注明出处:http://blog.csdn.net/u011479494/article/details/50629669 相比gitosi ...
最新文章
- apache代理模块proxy使用
- 使用容器的正确方式,Docker在雪球的技术实践
- easyexcel读取合并单元格内容_一周一个小技巧 | excel不会核对内容?不会填充合并单元格?7个实用的EXCEL技巧,一起来看看吧...
- 苹果:AMD yes!官方开售显卡模块,价格1.8万起
- 算法学习--Day3
- 【转】SAP Fiori Design Guidelines基础篇
- GraphPad Prism 9.3 MacOS 2021科研绘图统计 支持Monterey 安装使用教程
- java数据结构有哪些_java有哪些数据结构?
- android中sp的意义_两分钟理解Android中SP与DP的区别
- 技术研究院005---如何基于DDD构建微服务架构
- Qt4_Find File对话框
- 程序员过了 30 岁就没人要了?!
- 慢动作重播~ 英伟达AI能把普通视频,变成高质量慢动作视频
- microsoft store 安装包_Stata 15软件安装包免费下载附安装教程
- 中国科学院全国名词委组合数学和计算机科学研究开发中心 顾同新,有关组合数学家陆家羲的几点史实澄清.doc...
- windows10打开natapp.exe 报Error: oppen NUL: The system cannot find the file specified.
- RTMP转HTTP-FLV视频流web端应用流程记录
- 服务器4块固态硬盘做raid5,RAID 5与RAID 10、硬盘和固态硬盘
- sturts2框架知识点(Struts2框架----今天脑子有点炸)
- unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟