centos 6.3 搭建git/gitosis/gitweb
1. git的安装和配置
- yum install git
(2)创建git用户并设置密码
- #useradd --home /home/git git
- #passwd git
- //注意这里要设置一个密码,建议不要不设密码,网上很多资料都不设密码
(3)创建一个git仓库,验证git是否可用
- 在使用git之前,要设置git的两个全局变量,设置方式为:
- # git config --global user.name "dylan"
- # git config --global user.email "ustc.dylan@email.com"
- 设置git仓库目录的权限
- # su - git //切换到git用户
- $ chmod -R 755 /home/git //修改目录的权限
- 创建并初始化一个repository
- $ mkdir /home/git/repo //假设要创建的repository放在/home/git/repo目录下
- $ cd /home/git/repo
- $ mkdir test_repo
- $ cd test_repo
- $ git init --bare
- 测试新创建的repository是否可用
- su - test (test为另外一个user或者exit,使用root用户)
- $ cd /home/test
- $ mkdir repos
- $ cd repos
- $ git clone /home/git/repo/test_repo
如果显示" Initialized empty Git repository in /home/git/repo/test_repo/.git/",则说明成功的clone了一个local repository。之后就可以在此repository下进行开发了,比如,添加一个readme.txt文件。
- $ cd test_repo
- $ vim readme.txt (创建一个文件)
- $ git add . (注意后面有一个[.])
- $ git commit -a
- $ git push origin master
- $ chmod -R 777 refs/
- $ chmod -R 777 objects/
2. gitosis的安装
- #yum install python-setuptools
(2)gitosis的安装
- #git clone git://github.com/res0nat0r/gitosis.git//下载gitosis到你想存放的目录下
- #cd gitosis
- #python setup.py install //如果没有报错,则说明安装成功
(3)创建是用这个git server的用户的公钥
- # su - git
- $ ssh-keygen -t rsa
公钥生成了,默认放在/home/git/.ssh/id_rsa.pub下,如果生成公钥时设置了密码,注意记住密码,为了简单,我这里没有设置密码。
- 假设在于gitosis不同的另外一台机器上,使用git用户将gitosis-admin.git clone到本地。
- git clone git@192.168.x.xx:/home/git/repositories/gitosis-admin.git
- 修改gitosis配置文件gitosis.conf
- $ vim gitosis.conf
- //会看到如下内容
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = git@compute-29-01.local
gitosis.conf 文件是用来设置用户、仓库和权限的控制文件(对于gitosis.conf文件的详细含义,以及keydir目录下公钥的作用,将会另写文档说明,在此不再详述),只需知道gitosis仓库是可写的,支持的用户有git
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = git@compute-29-01.local
- [group test_repo] //新添加的仓库名称
- writable = test_repo //此仓库的读写权限,此处为可写
- members = user1@host1 user2@host2 //可以访问此仓库的用户名@主机名
假设当user1,来访问这个test_repo仓库时,需要输入如下命令:
- git clone user1@git_server_ip:/home/git/repo/test_repo.git
此时会要求输入user1的密码,此密码就是创建user1的公钥时输入的密码。那么gitosis又是怎么来确定user1的身份的呢? 这就要求必须事先将user1产生的公钥传给管理员,即对gitosis-admin有权限操作的管理人员,然后由他将公钥拷贝到keydir目录下,然后,执行git add,git push即可。
3. gitweb安装
- # yum install gitweb
4. gitweb配置
- $projectroot = "/var/www/git" //将projectroot修改为/var/www/git
(2)修改/etc/httpd/conf.d/git.conf
- Alias /git /var/www/git
- <Directory /var/www/git>
- Allow from all
- AllowOverride all
- Order allow,deny
- Options +ExecCGI
- AddHandler cgi-script .cgi
- DirectoryIndex gitweb.cgi
- SetEnv GITWEB_CONFIG /etc/gitweb.conf
- Dav On
- RewriteEngine Off
- </Directory>
(3)重启httpd
- /etc/init.d/httpd restart
(4)将gitosis仓库连接到/var/www/git下,完成web显示
- ln -s /home/git/repositories/test_repo.git /var/www/git/
- mkdir test.git
- cd test.git
- git init --bare
- //可以在这里添加源文件,也可以在client端clone之后添加
centos 6.3 搭建git/gitosis/gitweb的更多相关文章
- CentOS 6.4 搭建git 服务器
CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...
- Centos 6.4搭建git服务器【转】
前阵子公司需要,让我搭个Git服务器,把之前用的SVN上代码迁移到git上去,所以就在阿里云主机上搭了一个,记录了下安装过程,留存文档以备查阅.本篇本章只涉及搭建部分的操作,更多git的使用可以参考文 ...
- CentOS 6.8 搭建 Git 代码托管系统 Gitea
[荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统.Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快 ...
- [CentOS] 使用gitolite搭建git服务端
1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 p ...
- 在CentOS 7中搭建Git服务器
环境说明 - CentOS 7.x 最小安装 - 配置网络连接 1. 安装Git及创建用户 # 安装Git $ yum install git # 创建一个git用户组和用户,用来运行git服务 $ ...
- 自定义Git之使用centos搭建git 服务器
Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...
- CENTOS下搭建git代码仓库 ssh协议
centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限 git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或 ...
- debian下使用gitosis+gitweb搭建SSH认证的git服务器
搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
随机推荐
- 【Hadoop代码笔记】Hadoop作业提交之Job初始化
一.概要描述 在上一篇博文中主要描述了JobTracker和其几个服务(或功能)模块的接收到提交的job后的一些处理.其中很重要的一部分就作业的初始化.因为代码片段图的表达问题,本应该在上篇描述的内容 ...
- 如何判断Android设备是手机还是平板?
转自:http://blog.csdn.net/zuolongsnail/article/details/8682950 Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平 ...
- JVM系列五:JVM监测&工具[整理中]
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案.正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并 ...
- C++11对象构造的改良
[C++11对象构造的改良] C++03中一个构造函数无法构造另一个构造函数,因为A()实际上意味着生成一个临时对象,存在语音混淆.详情请看参考2. C++11中允许直接在初始化列表中调用其它的构造函 ...
- poj 3060 Visible Lattice Points
http://poj.org/problem?id=3090 Visible Lattice Points Time Limit: 1000MS Memory Limit: 65536K Tota ...
- c# 解决IIS写Excel的权限问题
c# 解决IIS写Excel的权限问题 from: http://www.jb51.net/article/31473.htm 发布:mdxy-dxy 字体:[增加 减小] 类型:转载 使用以上方法必 ...
- Codeforces 707 E. Garlands (二维树状数组)
题目链接:http://codeforces.com/problemset/problem/707/E 给你nxm的网格,有k条链,每条链上有len个节点,每个节点有一个值. 有q个操作,操作ask问 ...
- C# JSON使用的常用技巧(一)
获取JSON无格式的字符串: new JArray().ToString(Newtonsoft.Json.Formatting.None): 如: {"A":123,"B ...
- CGI 是什么
CGI是公共网关接口,是Java Servlet 的前身,Java Servlet 是运行在服务器端的小程序.
- bmp格式解析
最近一直在写图像处理的作业,好多啊 bmp格式简介 a.格式组成 1:位图头文件数据结构,它包含BMP图像文件的类型.显示内容等信息: 2:位图信息数据结构,它包含有BMP图像的宽.高.压缩方法,以及 ...