zoukankan      html  css  js  c++  java
  • 使用Gitolite搭建Git服务器

    使用Gitolite搭建Git服务器

    需要用到的软件

    其实Gitolite的搭建过程中,Gitweb、Apache不是必须的,Gitweb、Apache跟Gitolite一起使用,看到的效果就像这个一样 http://git.chromium.org/gitweb/

    环境

    假设Server用的是Ubuntu 12.04

    Client能通过SSH连接至Ubuntu Server

    Server、Client都安装好Git,怎么安装?Google一下吧!

    如何搭建?

    Server:

    添加一个计算机用户,并设置密码,如git:

    1. # -s指令用于指定用户的默认shell,不指定的话,默认是/bin/sh,这个shell在ssh下支持有问题
    2. sudo useradd -m git -s /bin/bash
    3. sudo passwd git

    Client:

    设置你本机的git用户信息(非必须):

    1. git config --global user.name “xxx”
    2. git config --global user.email xxx@email.com

    创建一个SSH公钥/私钥对:

    1. ssh-keygen -t rsa

    上传公钥到服务器:

    1. scp ~/.ssh/id_rsa.pub git@server(ip):/home/git/admin.pub

    SSH连接到Server:

    1. ssh user@server

    Server:

    server取得root,安装gitolite:

    1. sudo -sH
    2. apt-get install gitolite

    切换至git用户,运行gitolite安装脚本:

    1. su - git
    2. gl-setup /home/git/admin.pub

    客户端获取gitolite管理库:

    1. git clone git@server:gitolite-admin.git
    2. cd gitolite-admin

    编辑gitolite配置文件,进行项目、用户添加等操作:

    1. sudo vim conf/gitolite.conf

    怎么对库进行管理、用户添加、授权等操作,gitolite的文档里都有详细介绍的。

    配置好以后,push到Server上即可!

    Gitweb的安装、配置(都是在Server上)

    首先安装一下Apache:

    1. sudo apt-get install apache2

    安装Gitweb:

    sudo apt-get install gitweb

    安装完成后,修改下gitweb.conf:

    1. sudo vim /etc/gitweb.conf
    2. $projectroot = "/home/git/repositories"

    重启下Apache

    1. sudo service apache2 restart

    若 "/home/git/repositories" 可被访问,即可通过 http://server/gitweb 访问你的git库了!


    补充: 修改git相关文件与目录的权限,以支持gitweb的访问。

    1. vi ~/.gitolite.rc
    2. # 将 $REPO_UMASK = 0077; 改为 $REPO_UMASK = 0027; 以支持gitweb的权限。
    3. # 在每次push后,gitolite会修改相关的repo的权限。
    4. chmod g+r /home/gitolite/projects.list
    5. chmod -R g+rx /home/gitolite/repositories

    下面还有更简单的方法


    安装gitolite以及git,只需要指定gitolite就可以,gitolite依赖git,apt-get会自动的寻找到依赖包,并安装。

    1. sudo apt-get install gitolite

    创建git用户,并切换到git用户下, 用户名最好为git,这样用ssh方式迁出的格式为:git@server:repo,如果是其他用户名的话,那么@前就为相应的用户信息。

    1. sudo useradd -m git -s /bin/bash
    2. passwd git
    3. su - git

    准备gitolite管理员的公钥文件,win下可以用putty生成,只要注意把Key comment的内容设置为空,再把公钥拷贝出来后黏贴到相关的文件就好了。

    1. # 用vi创建相关的文件,并在其中贴入公钥信息
    2. vi ~/admin.pub

    执行gitolite的安装,命令后跟的是管理员的公钥文件。

    1. gl-setup ~/admin.pub

    根据需要修改配置文件,完成安装。

  • 相关阅读:
    linux命令行 238
    C语言语法分析器 238
    有穷自动机的构造与识别 238
    简单词法分析实验报告238许锦沛 238
    javascript获得鼠标的坐标值
    滚动条颜色设置(IE、chrome浏览器)
    获取元素的页面位置,兼容各浏览器
    js闭包的作用
    javascrpt绑定事件之匿名函数
    javascript 函数及作用域
  • 原文地址:https://www.cnblogs.com/zgray/p/3311124.html
Copyright © 2011-2022 走看看