说到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是搭建基于Git的分布式版本控制系统的一个强大工具,它允许用户轻松地管理和控制对Git仓库的访问权限。Git自身虽然提供了强大的版本控制功能,但对用户权限的管理相对简单,不适合大规模协作环境。...
在本文中,我们将深入探讨如何在Ubuntu 12.04服务器上安装Git以及与之相关的gitolite工具,这是一个用于管理和控制Git仓库的强大系统。首先,我们将介绍如何使用包管理器安装Git,接着设置SSH访问,最后我们将详细...
Gitolite是一款基于Perl编写的Git服务器管理工具,它可以方便地控制用户对Git仓库的访问权限,实现细粒度的读写控制。结合Git,Gitolite允许团队成员安全地进行代码共享和协作,同时确保数据的安全性。 TortoiseGit...
git gitolite repo 代码服务器配置记录 为android等源码创建repo服务器,通过gitolite管理权限
安装完成后,`/home/git/repositories`目录下会生成`gitolite-admin.git`和`testing.git`,前者是管理员仓库,用于添加用户和配置权限。通过编辑`gitolite-admin.git`并将其推送到服务器,即可完成用户和权限的设置...
- **安装与测试**:涉及下载、安装、配置和测试Gitolite的整个流程,确保服务正常运行。 - **用户管理与权限控制**:Gitolite提供了强大的用户和仓库管理功能,包括新增用户、设置仓库权限等,使得团队协作更加有序...
Git 安装配置手册是指在 CentOS 环境下安装和配置 Git 服务器的详细步骤,这篇手册将指导您从零开始安装和配置 Git 服务器,并掌握 Git 的基本概念和使用方法。 一、Git 服务器安装 Git 服务器的安装需要在 ...
3. **Gitolite简介**:Gitolite是一个轻量级的、易于配置的Git服务器管理系统,支持多用户、多仓库、权限管理等功能。 #### 四、搭建步骤 1. **安装Git和SSH** - 在Ubuntu服务器上安装Git和SSH两个核心软件。 ```...
总的来说,Gitolite构建Git服务器的过程涵盖了从基础的SSH协议理解,到Gitolite的安装配置,再到精细的权限管理等多个方面。通过对这些环节的深入了解和实践,可以构建出既安全又高效的Git服务器环境,满足企业级...
在搭建Git服务器端时,我们可以选择不同的工具,如GitLab、GitHub、Gitolite或Gitblit。这里我们将重点讨论Gitblit,一个轻量级且易于配置的Git服务管理器。 三、安装Gitblit 1. 下载Gitblit:访问Gitblit官网下载...
超实用的git服务器的安装与配置 教程与指导说明文档,欢迎下载使用
这是 gitolite 的概念证明 git-lfs 存储服务器助手。 它已被编写为与 django-git-lfs 配合使用,请参阅: : 要求 Gitolite Perl:JSON 和 LWP (HTTP) 安装 在 gitolite 中设置 LOCAL_CODE。 将 LFS_URL 添加到 ...
### CentOS下的Git服务器:Gitosis 安装与配置详解 #### 一、Git与Gitosis简介 Git是一款非常流行的分布式版本控制系统,最初由Linux内核的开发者Linus Torvalds为了更好地管理Linux内核的开发而创建。Git因其高效...
在Amlogic公司的内部环境中,为了实现团队间的代码共享与协作开发,通常需要设置一个git服务器。git作为一种分布式版本控制系统,能够在本地独立运行,但如果需要与他人共享代码或者进行团队协作,则需要搭建一个...
本教程将详述如何在Linux系统上安装并配置Git服务器。 首先,我们需要确保Linux系统已经安装了必要的基础软件包。通常,这包括SSH(Secure Shell)服务,因为Git通常通过SSH协议进行安全通信。大多数Linux发行版在...
6. **测试和调整**:验证gitolite配置是否正确,如有问题,进行相应的调整。 在实际操作中,需要确保服务器和客户端之间的网络通信无障碍,且客户端的hosts文件已经设置好服务器的IP地址和主机名,以确保可以通过...
3. **快速部署**:Gitolite的安装过程相对简单,只需要在服务器上执行几个命令即可。一旦安装完成,你可以通过推送更新到特殊仓库的方式来管理权限和用户配置。 4. **集中式管理**:所有配置都在一个名为`gitolite....
安装 Gitolite 需要执行一系列命令,包括克隆 Gitolite 仓库、设置环境变量、配置 SSH 密钥等。升级 Gitolite 只需更新仓库并重新部署配置。 #### 2.1.3 SSH 主机别名 配置 SSH 主机别名可以简化与 Gitolite 服务器...
首先确保服务器上已经安装了Git。如果没有安装,可以通过以下命令进行安装: ```bash sudo yum install git ``` **2. 创建必要目录** 接着,创建存放Git仓库的数据目录以及子目录`git`。 ```bash sudo mkdir /...
Gitolite是一款强大的Git服务器权限管理系统,它允许管理员对Git仓库进行精细的权限控制,包括读、写、推送等操作。...通过了解和掌握Gitolite的使用,你可以更好地掌控你的Git服务器,确保团队协作的顺畅与安全。