centos8平台安装gitosis服务
一,git服务器端:准备gitosis需要的各依赖软件
1,确认openssh是否存在?如不存在,以下列命令进行安装
[root@yjweb ~]# yum install openssh openssh-server openssh-clients
2,安装git
[root@yjweb ~]# yum install git
判断git是否安装成功?
[root@yjweb ~]# git --version
git version 2.18.2
3,安装python工具
[root@yjweb ~]# yum install -y python2 python2-setuptools
检查python的setuptools是否安装成功?
[root@yjweb gitosis]# python2 -c "import setuptools"
如无任何输出,表示安装成功
如有报错输出,表示安装失败
说明:此处要使用python2
因为gitosis的初始化需要python2,
如果使用python3会报错
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,git服务器端:创建git服务专用管理用户
1,创建git用户
[root@yjweb ~]# groupadd git
[root@yjweb ~]# useradd -g git git
[root@yjweb ~]# grep git /etc/passwd
git:x:1003:1003::/home/git:/bin/bash
2,确保git用户对git目录有写入权限
[root@yjweb ~]# chown git:git /home/git
[root@yjweb ~]# ll /home/ | grep git
drwx------ 2 git git 62 Mar 9 17:00 git
三,git服务器端:安装gitosis
1,克隆gitosis这个项目到本地的source文件夹
[root@yjweb source]# git clone https://github.com/res0nat0r/gitosis.git
Cloning into 'gitosis'...
remote: Enumerating objects: 734, done.
remote: Total 734 (delta 0), reused 0 (delta 0), pack-reused 734
Receiving objects: 100% (734/734), 147.40 KiB | 29.00 KiB/s, done.
Resolving deltas: 100% (458/458), done.
2,安装
[root@yjweb source]# cd gitosis/
[root@yjweb gitosis]# python2 setup.py install
说明:此处要使用python2
因为gitosis的初始化需要python2,
如果使用python3会报错
说明:如果看到下面的提示表示安装成功
Finished processing dependencies for gitosis==0.2
四,git服务器端:生成.ssh目录及授权文件:
[root@yjweb ~]# mkdir -p /home/git/.ssh
[root@yjweb ~]# chmod 700 /home/git/.ssh
[root@yjweb ~]# touch /home/git/.ssh/authorized_keys
[root@yjweb ~]# chown git.git -R /home/git
说明:authorized_keys文件用来供gitosis保存项目中的公钥
五,开发机客户端:生成密钥并上传到服务器上
说明:我们的开发机客户端,是一台运行ubuntu 19.10的机器
1,创建ssh密钥
说明:此处的客户端是一台ubuntu机器
root@kubuntu:~# ssh-keygen -t rsa
操作中一路回车即可,无需输入密码
2,检查密钥对是否生成
完成后可以从.ssh目录下看到生成的密钥对
root@kubuntu:~# ls .ssh/
id_rsa id_rsa.pub known_hosts
其中 id_rsa.pub 是我们所要使用的公钥
3,把生成的公钥上传到git服务器
用scp或ftp工具,把id_rsa.pub复制到git服务器上
放到/tmp目录下
此处假设git服务器的ip地址是:123.124.125.126,端口地址是12345
root@kubuntu:~# scp -P 12345 .ssh/id_rsa.pub sysop@123.124.125.126:/tmp/
sysop@123.124.125.126's password:
id_rsa.pub 100% 566 70.3KB/s 00:00
六,git服务器端: 初始化gitosis
1,切换到git账号,查看客户端上传的公钥是否存在?
[root@yjweb ~]# su git
[git@yjweb root]$ ll /tmp/id_rsa.pub
-rw-r--r-- 1 sysop sysop 566 Mar 9 18:46 /tmp/id_rsa.pub
2,初始化gitosis项目
[git@yjweb root]$ gitosis-init < /tmp/id_rsa.pub
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
3,初始化到底都做了哪些工作?
创建了一个gitosis目录和一个库目录
[git@yjweb ~]$ ls
gitosis repositories
在.ssh目录下的authorized_keys中写入了id_rsa.pub的内容
[git@yjweb ~]$ cd .ssh
[git@yjweb .ssh]$ more authorized_keys
### autogenerated by gitosis, DO NOT EDIT
command="gitosis-serve root@kubuntu",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2E
...
七,开发机客户端:克隆gitosis-admin项目
root@kubuntu:~# git clone ssh://git@123.124.125.126:12345/gitosis-admin.git
正克隆到 'gitosis-admin'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0)
接收对象中: 100% (5/5), 完成.
可以看到gitosis-admin这个项目已下载到客户端的机器本地
root@kubuntu:~# ls
gitosis-admin node_modules package.json work
八,客户端查看gitosis-admin项目的remote设置
root@kubuntu:~/gitosis-admin# git remote -v
origin ssh://git@123.124.125.126:12345/gitosis-admin.git (fetch)
origin ssh://git@123.124.125.126:12345/gitosis-admin.git (push)
九,查看本地centos的版本
[webop@yjweb ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
十,gitosis的使用
参见这一篇:centos8上使用gitosis管理git项目
地址:https://www.cnblogs.com/architectforest/p/12457035.html
centos8平台安装gitosis服务的更多相关文章
- windows平台安装redis服务
有时候我们需要在windows平台上使用redis作为缓存服务,这个时候就需要将redis安装为window服务. 现在将我安装过程记录下来,方便自己或者有类似需求的同学参考.主要是参考网上现有的例子 ...
- centos8平台安装ansible2.9
一,ansible的用途: ansible是基于python开发的自动化运维工具, 它基于SSH远程连接服务, 可以实现批量系统配置.批量软件部署.批量文件拷贝.批量运行命令等多个运维功能 因为基于s ...
- centos8平台安装redis6.0.1
一,redis的官网: https://redis.io/ redis6于5月3日正式发布,它的新增功能: acl 多线程io cluster proxy resp3协议 本文演示redis6.0.1 ...
- centos8平台安装zookeeper3.6集群
一,规划三台zk服务器构成集群 ip:172.18.1.1 机器名:zk1 对应myid: 1 ip:172.18.1.2 机器名:zk2 对应myid: 2 ip:172.18.1.3 机器名:zk ...
- centos8上使用gitosis管理git项目
零,centos8平台如何安装gitosis服务? 参见:centos8平台安装gitosis服务 地址:https://www.cnblogs.com/architectforest/p/12456 ...
- 在Kubernetes集群里安装微服务DevOps平台fabric8
转载于https://blog.csdn.net/wzp1986/article/details/72128063?utm_source=itdadao&utm_medium=referral ...
- centos 安装git 服务端
// 在服务端安装好git后,开始安装gitosis 3.在服务器安装gitosis sudo yum install python python-setuptools cd /usr/local/s ...
- linux下源码安装apache服务
1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...
- Windows平台安装配置mysql数据库
Windows平台安装配置mysql数据库 作者:Eric 微信:loveoracle11g 去下载mysql软件 https://www.mysql.com/downloads/ https://d ...
随机推荐
- pytest测试框架 -- assert断言和fixture固件
一.断言 (1)使用assert语句进行断言 # test_run.py @pytest.mark.assert def test_assert(self): r = requests.get(&qu ...
- java oop 修饰符&关键字
一.修饰符 Java中四种访问权限修饰符: private 缺省(default) protected public 修饰类的成员,用来限定对象对该类成员的访问权限. 修饰符 类内部 同一个包 不同包 ...
- x86-TSO : 适用于x86体系架构并发编程的内存模型
Abstract : 如今大数据,云计算,分布式系统等对算力要求高的方向如火如荼.提升计算机算力的一个低成本方法是增加CPU核心,而不是提高单个硬件工作效率. 这就要求软件开发者们能准确,熟悉地运用高 ...
- Mybatis快速逆向生成代码
先下载生成器的文件, 并在eclipse或者IDEA里面打开这个工程 热乎乎的链接 然后配置一下 选择你需要生成的数据的ip和端口 点击运行入口函数 运行成功 接着在浏览器输入localhost: 这 ...
- python类,魔术方法等学习&&部分ssti常见操作知识点复习加深
python类学习&&部分ssti常见操作知识点复习加深 在做ssti的模块注入的时候经常觉得自己python基础的薄弱,来学习一下,其实还是要多练习多背. 在python中所有类默认 ...
- Python推荐系统库Surprise
Surprise(Simple Python Recommendation System Engine)是一款推荐系统库,是scikit系列中的一个.简单易用,同时支持多种推荐算法.基础算法.协同过滤 ...
- ABP+WorkflowCore+jsplumb实现工作流
前言 ABP目前已经是很成熟的开发框架了,它提供了很多我们日常开发所必须的功能,并且很方便扩展,让我们能更专注于业务的开发.但是ABP官方并没有给我们实现工作流. 在.net core环境下的开源工作 ...
- Kafka 【的这些原理你知道吗】
如果只是为了开发 Kafka 应用程序,或者只是在生产环境使用 Kafka,那么了解 Kafka 的内部工作原理不是必须的.不过,了解 Kafka 的内部工作原理有助于理解 Kafka 的行为,也利用 ...
- spring ioc 源码分析之-- beanDefinition的加载过程以及ComponentScan,@componet,@import @Bean等注解解析过程
背景:我们启动主启动类后,相应的bean就被扫描进来了,原理是啥? 实现该功能的主要核心类就是:ConfigurationClassPostProcessor,我们看看他的继承体系: 它实现了Bean ...
- 0921 LCA练习
1.poj 1330 数据结构中的树,在计算机科学中是非常重要的,例如我们来看看下面这棵树: 在图中我们对每个节点都有编号了. 8号节点是这棵树的根.我们定义,一个子节点向它的根节点的路径上,任意一个 ...