`

git服务器gitolite安装与简单配置

阅读更多

说到Git,作为Linus的另一大著名作品,目前已经成熟,与CVS和SVN相比优势明显,其分布式及灵活的分支合并功能,另外源码下载和上传的速度体验也相当凑合。
本文将分享下如何在centos5.6配置Git服务器(gitolite)。
目标
配置Git服务器有很多种方式,目标是配置能满足多人协作、可以细分权限的Git服务器,另外还要有较好的安全性,在迎合这种目标的各种组合中,最终选择了gitolite。
基础知识
你需要具有简单的linux基础知识,如ssh、用户及用户组、权限、密钥、git操作等。整个过程相当简单,按照下面的步骤操作,如无意外,就能成功!
安装git
服务器及客户端都要安装,去下载编译git最新版,以 git-1.7.5.1.tar.bz2为例
以root登录到服务器
tar xvfj  git-1.7.5.1.tar.bz2
cd  git-1.7.5.1
./configure
make
make install

或者通过:
yum install git

在服务器添加git用户和git用户组
mkdir -p /data/git
groupadd git
useradd -g git -d /data/git -s /bin/bash git
passwd git #设置git用户密码
#改变git目录权限
    chown -R git:git /data/git
    chmod -R 2755 /data/git
在客户端生成密钥
ssh-keygen -t rsa -f ~/.ssh/admin
scp ~/.ssh/admin.pub git.surpass.org:/tmp/admin.pub #将公钥拷到服务器待用,git.surpass.org为服务器的域名
安装gitolite
到服务器,进行gitolite安装:
su git
cd $HOME
git clone git://github.com/sitaramc/gitolite
cd gitolite
mkdir -p $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
src/gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
将$HOME/bin下的可执行程序加入系统PATH:
echo "PATH=$PATH:$HOME/bin" >> ~/.bashrc
暂时退出git用户,然后重切换进来,使环境变量生效:
exit
su git
gl-setup /tmp/admin.pub #设置admin.pub公钥,默认第一个公钥对应管理员
OK,到此,环境搭建一步基本大功告成了。

gitolite配置管理
添加用户
1.转到客户端,这里用的是gitadmin,git安装略:
su gitadmin

2.建立gitolite别名,采用admin公钥进行验证:
vi .ssh/config
输入内容
host gitolite
     user git
     hostname git.surpass.org
     port 22
     identityfile ~/.ssh/admin
    
3.修改.ssh/config权限
   chmod 0644 config
4.克隆gitolite-admin库
    git clone gitolite:gitolite-admin
5.添加一个权限
cd gitolite-admin/
cp tmp/a1.pub keydir/a1.pub
5.1执行 git add 命令,将公钥添加入版本库
git add keydir/
git status
5.2 配置git管理员信息。
git config --global user.email "gitadmin@git.surpass.org"
git config --global user.name "admin"
5.3 执行 git commit,完成提交。
git commit -m "add user:a1"
5.4 执行 git push,同步到服务器,才真正完成新用户的添加。
git push

到服务端的git用户下查看git/.ssh/authorized_keys文件,会发现新增的用户公钥也附加其中


关于授权参见gitolite手册

分享到:
评论

相关推荐

    git gitolite repo 代码服务器配置记录

    git gitolite repo 代码服务器配置记录 为android等源码创建repo服务器,通过gitolite管理权限

    git gitolite

    超实用的git服务器的安装与配置 教程与指导说明文档,欢迎下载使用

    以Copssh和msysgit在winxp上架设git服务器

    可以在Winxp上架设git服务器的解决方案 ...这个方案应该是大多数公司应该采用的版本控制管理系统架设模式(本文不予介绍,相关的安装参见“20100828 以cygwin和gitolite在winxp上安装git服务器.doc”)。

    Git中文学习手册 Git入门

    1 4 安装 Git 1 5 初次运行 Git 前的配置 1 6 获取帮助 1 7 小结 2 Git 基础 2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的使用 2 6 打标签 2 7 技巧和...

    gitolite-git-lfs:用于 git-lfs 集成的示例 gitolite 命令(适用于 django-git-lfs)

    这是 gitolite 的概念证明 git-lfs 存储服务器助手。 它已被编写为与 django-git-lfs 配合使用,请参阅: : 要求 Gitolite Perl:JSON 和 LWP (HTTP) 安装 在 gitolite 中设置 LOCAL_CODE。 将 LFS_URL 添加到 ...

    gitolite-meteor:使用 git hook、gitolite 部署meteor - git storage

    此脚本安装 gitolite,在您可以配置构建 Meteor 应用程序的 githook 后,将其放置在/webapp/<YOURGITUUSER>/apps/<APPNAME>/app/ ,并将 nodejs 放置在/webapp/<YOURGITUUSER>/apps/<APPNAME>/node/工作流程在这个...

    Git权威指南PDF完整版

    第5篇 搭建Git服务器 第27章 使用 HTTP 协议/ 398 27.1 哑传输协议/ 398 27.2 智能 HTTP 协议/ 400 27.3 Gitweb 服务器/ 401 27.3.1 Gitweb的安装/ 402 27.3.2 Gitweb的配置/ 403 27.3.3 版本库的 Gitweb 相关设置/ ...

    gitolite:托管git存储库-Gitolite允许您在中央服务器上设置git托管,具有非常细粒度的访问控制和许多(许多!)更强大的功能

    Gitolite自述文件 关于此自述文件 (Github用户:在通过github向我发送任何内容之前,请单击“ wiki”链接。...您正在某种形式的Unix机器上设置基于ssh的全新gitolite安装。 您具有root用户访问权限,或

    Git权威指南

    第5篇介绍了git服务器的架设,首先讲解了http协议、git协议、ssh协议的使用,然后讲解了gitolite、gitosis、gerrit等服务器的架设方法,最后还讲解了git版本库的托管。第6篇介绍了版本库的迁移,包括如何从cvs、svn...

    Git学习手册

    1 4 安装 Git 1 5 初次运行 Git 前的配置 1 6 获取帮助 1 7 小结 2 Git 基础 2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的使用 2 6 打标签 2 7 技巧和...

    gitolite-docker:Gitolite容器

    Gitolite 码头工人Gitolite 容器安装克隆这个仓库: git clone https://github.com/eviweb/gitolite-docker.git 如果需要,将您的 ssh 公钥添加到gitolite-docker/.user-keys目录中,否则将生成默认密钥并将其命名为...

    Git权威指南【样张】

    第5篇介绍了git服务器的架设,首先讲解了http协议、git协议、ssh协议的使用,然后讲解了gitolite、gitosis、gerrit等服务器的架设方法,最后还讲解了git版本库的托管。第6篇介绍了版本库的迁移,包括如何从cvs、svn...

    gitdir:仅目录一个简单轻便的SSH git托管

    该项目使托管安全git服务器的配置异常容易,并且可以轻松回滚。 它旨在解决其他git服务器具有的许多问题: 除二进制和git外,不需要任何外部依赖项 将其配置存储在自己管理的存储库中 不挂接到系统的用户帐户 ...

    git 学习资料大全,pro git 资料 gitweb资料实战

    群英汇Gitolite_构建_Git_服务器,apache+配置+gitweb(git+http匿名访问智能clone不能push)等,文件为pdf格式,需要的可以下载。

    uberspace-deployment:在 Uberspace 上使用 Git 进行(半)自动化部署

    这个脚本(一个皮条客的 Git“post-receive”钩子)允许你在每次推送到你的 Uberspace 服务器时开始自动部署你的应用程序。 它 … 停止您的应用服务的任何正在运行的实例 拉取当前修订的本地副本 执行可定制的...

Global site tag (gtag.js) - Google Analytics