ubuntu下git服务器的搭建

来源:互联网 发布:php前端模板 编辑:程序博客网 时间:2024/06/05 03:06

1首先创建git专用用户 并设置密码
  sudo adduser git
  passwd git
2 下载gitolite(git用户下) 
  git clone git://github.com/ossxp-com/gitolite.git
  
3:还是git用户下
    mkdir -p $HOME/bin $HOME/share/gitolite/conf  $HOME/share/gitolite/hooks   // 建立命令,conf,和hooks目录

    cd gitolite/src

    gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks

   把export PATH=/home/git/bin:$PATH写入到bash.rc里
4:修改gitolite/gl-setup
    cd bin 
    vim gl-setup
    把GL_PACKAGE_CONF变量改成上面安装gitolite的配置目录,如:
    GL_PACKAGE_CONF=/home/git/bin/gitolite/share/gitolite/conf/   // 否则会打开一个空的~/.gitolite.rc,就不知道该如何往里写配置信息了
5:准备个admin用户  
   使用 ssh-keygen 生产管理员的公钥密钥对  默认目录在用户根目录下 .ssh/下 (也可以指定目录ssh-keygen -f xxxx)
   将公钥 admin.pub copy 进 git 用户下
6:进入git 用户
    gl-setup admin.pub (拷贝过来的公钥名字随便起)
    会自动打开的.gitolite.rc文件:
    修改$GL_PACKAGE_HOOKS,改成gl-system-install指定的hook目录即/home/git/bin/gitolite/share/gitolite/hooks
     否则($GL_ADMINDIR(~/.gitolite)/hooks目录中将没有钩子脚本)钩子就不能正确设置, 就失去了gitolite提供给各个仓库的钩子功能
     也可以修改gitolite自动建立的仓库根目录的名称$REPO_BASE, 默认是repositories, 也可以改成其他名字,如 repos本文使用默认repositories
    但gl-setup执行之后就不要修改该名字
     -- .gitolite.rc编辑完成后保存退出,继续自动执行:
    出现如下信息就表示成功
         create mode 100644 conf/gitolite.conf                                                      //  添加授权配置文件,包含了gitolite-admin & testing两个库的授权
         create mode 100644 keydir/xxx.pub                                                           //  将gl-setup指定的公钥文件添加到keydir/下面
7:然后进入管理员的用户  
     git clone git@xxx.xxx.xxx.xxx:gitolite.git
8 进入clone 出的 gitolite-admin 目录 会有conf 和 keydir 目录  到此git服务器搭建完成可以添加用户了
0 0
原创粉丝点击