centos下配置gitosis服务器
背景:
- 一台windows电脑,Xshell可以登录centos服务器(centos7.2 64位,有root用户权限),windows电脑已经安装好git和tortoies
- 在windows下下载和上传文件用的是tortoies工具,tortoies版本是1.6(安装过程中选择的是tortoiesgitplink)
博客内容大致分以下几部分:
- 安装gitosis
- 修改gitosis*权限
- 创建管理员用户
- 配置gitosis仓库,初始化
- 添加项目和项目成员
配置步骤:
1、 在centos下,安装gitosis。安装git,用git来下载gitosis安装包,由于安装gitosis依赖python库,在安装gitosis之前安装python的setuptools,接着安装gitosis。
1) 安装python-setuptools。
root用户下:
#yum install python python-setuptools //安装python-setuptools

2) 安装git 2.5。
root用户下:
#wget https://www.kernel.org/pub/software/scm/git/git-2.5.0.tar.gz //下载git压缩包 #tar -zxf git-2.5.0.tar.gz //解压 #cd git-2.5.0 # ./configure --prefix=/usr/local/git # make && make install //安装git # ln -s /usr/local/git/bin/* /usr/bin/ # git --version //查看git版本,有版本信息则安装成功



3) 下载gitosis 2.0,暂存在tmp目录下。
root用户下:
#cd /tmp #git clone https://github.com/res0nat0r/gitosis.git //下载gitosis安装包
# cd gitosis # sudo python setup.py install //安装gitosis



有finish表示安装成功。
2、在centos下,修改gitosis文件的权限,将权限改为755,使得root用户有可写可读可执行权限,组和其他用户有可读可执行权限。
1) 修改/tmp/gitosis目录的权限,改成755.
-----root用户
将/tmp/gitosis目录下的所有文件的权限改成755,进去gitosis目录下检查看看是否所有文件的权限是否都改成了755,确保权限改好了:
root用户下:
#chmod -R 755 gitosis
#ls -la

2)在/usr/bin目录下找到gitosis的文件,若权限不是755,则修改成755,然后检查下权限是否都修改好了:
root用户下:
#cd /usr/bin # ls -l git* //查找文件,看看gitosis文件权限 #chmod 755 gitosis* //修改gitosis文件权限


3)进入到/usr/lib/python2.7/sit*下,将 /usr/lib/pyth*/sit*/ gitosis-0.2-py2.7.egg目录下的文件改成755权限。
---root用户下:
# cd /usr/lib/python*/sit* //进入/usr/lib/pyth*/sit*目录
# chmod -R 755 gitosis*

3、在window下,生成私钥和公钥,将公钥上传到centos服务器,然后在centos服务器上修改公钥权限(改为755)。
1)在windows下,打开git bash(默认安装好了git),输入ssh-keygen,回车三次,出现如下图则说明密钥生成成功,密钥默认保存在c:\usr\电脑名称\.ssh目录下,截图上有生成密钥的地址:
$ssh-keygen //生成公钥和私钥

公钥:id_rsa.pub 私钥:id_rsa
2)将公钥上传到centos服务器/tmp目录下,在这个过程中需要输入root用户的密码。
---git bash下:
//此处我的root用户名是root,服务器IP地址格式类似:111.11.11.11,将公钥上传的目录是/tmp
scp ~/.ssh/id_rsa.pub root用户名@centos服务器地址:/tmp

3)在centos服务器上tmp查找公钥权限,将权限改为755。
---root用户下:
#cd /tmp
#chmod 755 id_rsa.pub
4、 新建gitosis管理员gittest(管理员名字任意取,我这里取gittest),设置密码。
1)创建用户gittest和设置密码
---root用户下
#useradd gittest //创建用户gittest
#passwd gittest //给用户设置密码
//然后在输入两遍你设置的密码,显示授权信息则创建成功
2)在上一步创建用户之后,默认会在home目录生成一个gittest的目录,将gittest目录的权限改为755.
---root用户下
#chmod -R 755 /home/gittest
5、用公钥初始化gitosis,在/home/gittest目录下生成两个文件,一个是gitosis,另一个是repotories仓库。
---root用户下
//gittest是gitosis的管理员,/tmp/id_rsa.pub是放置公钥的目录
#sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub
出现以下信息则配置成功:

6、在本地电脑上新建一个文件夹(默认安装好了tortoies),然后下载gitosis-admoin仓库。
1)在文件夹空白处,右键git clone,填写URL和添加私钥,然后就把仓库clone下来了,生成了一个gitosis-admoin的目录。
注:由于我安装tortoiesgit过程中,默认选择的是tortoiesgitplink,需要将私钥由id_rsa改成id_rsa.ppk。用tortoiesgitplink.exe加载id_rsa,然后保存为私钥id_rsa.ppk。

2)在gitosis-admoin的目录下有keydir和gitosis.conf文件:keydir是放置gitosis用户的公钥(格式是git用户名.pub);gitosis.conf是配置gitosis仓库中项目和项目用户的文件。

至此只有管理员gittest可以管理仓库gitosis-admin。
7、增加项目test,将管理员gittest和xiaoming加入到项目test中,管理员配置test仓库。配置test仓库授权给管理员gittest和xiaoming后,管理员gittest和xiaoming可以在本地下载test仓库,上传项目test文件及代码到服务器和和从服务器上下载项目test文件及代码。
1)在git用户的window电脑下,让git用户按照第3步中生成私钥和公钥的方式生成公钥和私钥,然后将公钥交给管理员gittest。git用户xiaoming将私钥保管好,后面需要用到。
2)在gittest管理员window电脑上,gittest管理员将xiaoming的公钥放置在第6步中的keydir目录下,将公钥重名为git用户名.pub(按照我生成密钥的方法,在公钥末尾有git用户名,暂时取名叫lenovo@xiaom)。

a、编辑gitosis.conf,增加项目test,添加参与这个项目的成员管理员和xiaoming。

b、进入gitosis-admin目录,在空白处右键git commit,出现如下对话框:

c、删除gitosis-admin目录,再在这个文件空白处,右键git clone,将仓库gitosis-admin下载下来(填写URL,由于之前填写过私钥地址,这次不用再次填写),可以看到之前修改的文件都改好了。
3)管理员在centos服务器上创建一个test项目的仓库并初始化。
----gittest用户
$ cd re*
$ mkdir test.git //创建test仓库,命名需要和gitosis.conf文件中的项目名称一样
$ cd liu*
$ git init --bare //初始化仓库test
//出现如下信息,说明初始化成功
Initialized empty Git repository in /home/gittest/repositories/test.git/
4)管理员可以在自己的电脑上,新建一个文件夹,右键git clone,然后填写URL:gittest@服务器IP地址:test.git和添加自己的私钥(私钥与添加到服务器上的公钥是一对的,意思是要是同时生成的),会出现test的目录;xiaoming可以在自己的电脑上,新建一个文件夹,右键git clone,然后填写URL:gittest@服务器IP地址:test.git和添加自己的私钥(私钥与添加到服务器上的公钥是一对的,意思是要是同时生成的),会出现test的目录。管理员和xiaoming可以在test目录下上传和下载test项目的代码和相关文件。

至此,gitosis的服务端和客户端都配置好了。
在此感谢冉华给予我的帮助 。
centos下配置gitosis服务器的更多相关文章
- centos下配置gitosis服务器遇到的困难
这篇博客主要讲的是在centos下配置gitosis遇到的问题. 背景:centos7.2 64 :gitosis2.0 1.困难1 1)产生的问题及原因.gitosis没有安装成功,没有出现fini ...
- Linux -- Centos 下配置LNAMP 服务器环境
1.Mysql centos 7 下mysql被替换掉,如有需要请看另一篇: centos 6.5下: yum install mysql mysql-server mysql-devel 启动mys ...
- CentOS下的Git服务器
[Gitosis]CentOS下的Git服务器:Gitosis [摘要] 详细介绍如何在CentOS上配置Gitosis 我们很多人知道Git可能是从Github开始的 ...
- CentOS下架设VNC服务器
CentOS下架设VNC服务器1.什么是VNC服务器?百度百科:VNC (Virtual Network Computer)是虚拟网络计算机的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&a ...
- CentOS下架设Telnet服务器
CentOS下架设Telnet服务器1.什么是Telnet?来自度娘的解释:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机 ...
- Centos下配置php环境
Centos下配置php环境 目录[-] 环境: GD2 2 安装PHP 5.2.14(FastCGI模式) 1)编译安装PHP 5.2.14所需的支持库: 2)编译安装MySQL 5.5.3-m ...
- centos6.8下配置https服务器
centos6.8下配置https服务器 1.1 环境 l 系统环境:内核环境为2.6.32版本 64位的CentOS release 6.8 (Final) [root@localhost ~] ...
- CentOS下配置防火墙 配置nat转发服务
CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network 这里可以更改主机 ...
- CentOS下配置iptables防火墙 linux NAT(iptables)配置
CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/syscon ...
随机推荐
- PCB布线经验
查看: 3645|回复: 11 [经验] PCB设计经验(1)——布局基本要领 [复制链接] ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...
- 【vue】vue生命周期解读 (流程+钩子函数)
参考详细说明一波简书 (vue中钩子函数解读) 1.实例渲染流程 2.生命周期钩子函数比 钩子函数详解简书一 钩子函数详解简书二
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession) - 转
说明: 1.该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2.本文将不再讲解NSURLConnection的使用,如有需要了解NSURLConnection如何发送请求. ...
- koa2实现简单的图片上传
1.安装koa-body 2.引入koa-body const koa = require('koa'); const fs = require('fs'); const koaBody = requ ...
- linux下pcf8563驱动时钟使用
环境: HelperA64开发板 Linux3.10内核 时间:2019.01.17 目标:PCF8563实时时钟驱动的使用 问题:因为pcf8563的驱动是linux内核自带的,网上也有很多分析的方 ...
- 运行第一个ruby程序
0x00 安装 首先需要安装一个ruby的环境,ruby分为win.linux.macOS版本.不用系统安装方法略有差异,不在这进行讲解. 0x01 运行第一个ruby程序 我这里是win环境,打开命 ...
- C语言入门教程-(5)格式化输入输出
1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...
- 【转载】Free Lunch is Over(免费午餐已经结束了)
原文:Free Lunch is Over(免费午餐已经结束了) 微软C++大师Herb Sutter的文章<The Free Lunch Is Over>翻译,以前自己也经常翻译,但是都 ...
- 2-[Mysql]- 初识sql语句
1.统一字符编码 强调:配置文件中的注释可以有中文,但是配置项中不能出现中文 mysql> \s # 查看字符编码 # 1.在mysql的解压目录下,新建my.ini,然后配置 #mysql5 ...
- centos中如何添加环境变量
在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ...