转自http://www.flatws.cn/article/program/python/2011-06-06/29177.html
在Ubuntu 10.04上配置gitosis作为git服务器的操作步骤
在服务器端<server>
#安装所需软件
ubuntu@<server>:~$ sudo apt-get install git-core openssh-server openssh-client
#将git数据保存在/data/repo目录下
ubuntu@<server>:~$ sudo mkdir /data/repo
#使用git用户作为服务器端管理用户
ubuntu@<server>:~$ sudo useradd -m git
ubuntu@<server>:~$ sudo passwd git
#只有git用户有权限
ubuntu@<server>:~$ sudo chown git:git /data/repo
ubuntu@<server>:~$ sudo chmod 700 /data/repo
#配置全局信息
ubuntu@<server>:~$ git config --global user.name "<user name> git server"
ubuntu@<server>:~$ git config --global user.email "<email>"
#安装gitosis
ubuntu@<server>:~$ sudo apt-get install python-setuptools
ubuntu@<server>:~$ cd /tmp
ubuntu@<server>:/tmp$ git clone git://eagain.net/gitosis.git
ubuntu@<server>:/tmp$ cd gitosis
ubuntu@<server>:/tmp/gitosis$ sudo python setup.py install
#链接/data/repo 到 /home/git/repositories
ubuntu@<server>:/tmp/gitosis$ su git
$ ln -s /data/repo /home/git/repositories
$ exit
在客户端<pc1>,将本地的公钥拷到服务器上
<pc1>:~ admin$ scp .ssh/id_dsa.pub git@<server>:/tmp
在服务器端<server>
#让gitosis运行起来
ubuntu@<server>:/tmp/gitosis$ sudo chmod a+r /tmp/id_dsa.pub
ubuntu@<server>:/tmp/gitosis$ sudo -H -u git gitosis-init < /tmp/id_dsa.pub
#如果没有设置过root密码,则设置一下,否则跳过
ubuntu@<server>:/tmp/gitosis$ sudo passwd root
#进去看一眼
ubuntu@<server>:/tmp/gitosis$ su
root@<server>:/tmp/gitosis# cd /home/git/repositories
root@<server>:/home/git/repositories# cd gitosis-admin.git/
root@<server>:/home/git/repositories/gitosis-admin.git# ls
branches description gitosis-export hooks info refs
config gitosis.conf HEAD index objects
root@<server>:/home/git/repositories/gitosis-admin.git# sudo chmod 755 /data/repo/gitosis-admin.git/hooks/post-update
root@<server>:/home/git/repositories/gitosis-admin.git# exit
#创建一个测试项目teamwork.git
ubuntu@<server>:/tmp/gitosis$ su - git
$ cd /data/repo
$ mkdir teamwork.git
$ cd teamwork.git
$ git init --bare
$ exit
在客户端<pc1>
#git权限管理本身也是通过一个git仓库来管理的, 将gitosis-admin.git复制clone下来
<pc1>:projects admin$ git clone git@<server>:gitosis-admin.git
<pc1>:repo admin$ cd gitosis-admin/
#将别的用户<pc2>的pub公钥加进来, 我是把它先copy到~/Downloads/下了
<pc1>:gitosis-admin admin$ cp ~/Downloads/id_rsa.pub ./keydir/<user2@pc2>.pub
#修改权限配置
<pc1>:gitosis-admin admin$ vim gitosis.conf
----------------------------------------
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = ubuntu@server user1@pc1
[group hello]
writable = teamwork
members = user1@pc1 user2@pc2
------------------------------------------
<pc1>:gitosis-admin admin$ git add .
<pc1>:gitosis-admin admin$ git commit -a -m "add my netbook user"
<pc1>:gitosis-admin admin$ git push origin master
<pc1>:repo admin$ mkdir teamwork-ori
<pc1>:repo admin$ cd teamwork-ori/
<pc1>:teamwork-ori admin$ git init
<pc1>:teamwork-ori admin$ vim README
<pc1>:teamwork-ori admin$ git add .
<pc1>:teamwork-ori admin$ git commit -a -m "initial version"
<pc1>:teamwork-ori admin$ git remote add origin git@<server>:teamwork.git
<pc1>:teamwork-ori admin$ git push origin master
然后从pc2的机器上,也就clone下来git仓库来使用了,很棒!
注意,中间如果遇到这样的错误,很可能是gitosis.conf配置的不对
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
有可能是:
1. gitosis 中写的用户名,和keydir里面的key的名字没有完全对应上
2. 有的地方写错了,比如我把members写成了member,汗
[补充]:
1. 默认remote为master的配置方法:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
分享到:
相关推荐
ubuntu10.04界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-zh-hans_1%3a10.04+20100421_all.deb language-pack-zh-hans-base_1%3a10.04+20100421_all.deb language-pack-...
《Ubuntu 10.04完整版》这本书是针对Ubuntu 10.04 LTS(长期支持版)发行版的一份详尽指南,旨在帮助读者深入理解和熟练掌握这个流行的Linux操作系统。Ubuntu是一款基于Debian的开源操作系统,以其用户友好、易用性...
Ubuntu 10.04 安装配置手记 本文档记录了 Ubuntu 10.04 的安装配置过程,包括硬盘安装、Grub4Dos ...通过这篇文章,读者可以了解 Ubuntu 10.04 的安装配置过程,并掌握相关的知识点,可以更好地使用 Ubuntu 操作系统。
综上所述,Ubuntu 10.04 LTS是一个兼顾稳定性和前瞻性的操作系统,其长期技术支持保证了用户在较长时间内的安心使用。如果你下载的是"ubuntu10.04"这个压缩包,那么里面应该包含的是Ubuntu 10.04的安装镜像,通过这...
7. 虚拟化支持:加强了对KVM、VirtualBox等虚拟化技术的支持,便于在Ubuntu上运行其他操作系统。 8. APT包管理系统:通过命令行或Synaptic包管理器,用户可以方便地安装、更新和管理软件包。 9. Ubuntu One:这是...
在深入探讨如何安装Ubuntu 10.04的全过程之前,我们先来了解下Ubuntu 10.04以及为何选择在VMware Workstation虚拟机中进行安装。 ### Ubuntu 10.04简介 Ubuntu 10.04 LTS(长期支持版本),代号为“Lucid Lynx”,...
- 在 Ubuntu 10.04 上安装 OpenCV 2.2.0 需要准备必要的依赖库。通过命令 `apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev ...
这些配置步骤,针对的是基于Ubuntu 10.04 LTS的嵌入式开发环境的基本搭建。由于嵌入式设备的多样性,开发者可能需要根据具体的目标硬件来定制开发环境,包括安装特定的硬件支持库、编译工具链和调试工具等。 需要...
Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part
本文档详细介绍了在Ubuntu 10.04操作系统上搭建LAMP平台的步骤和要点,适合想要搭建此类开发环境的用户参考。 首先,搭建LAMP平台之前,需要准备一台安装了Ubuntu 10.04的计算机,或使用虚拟机软件(如VMware)来...
本篇将详细介绍如何使用VM7来安装Ubuntu 10.04 LTS(Lucid Lynx)操作系统。 一、VMware Workstation 7简介 VMware Workstation 7是VMware公司推出的一个版本,支持创建、配置和运行虚拟机。它提供了丰富的功能,如...
介绍最新版本Ubuntu10.04的安装,配置,shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02
【VMware Workstation安装Ubuntu 10.04详细教程】 VMware Workstation是一款流行的虚拟机软件,允许用户在同一台物理计算机上运行多个操作系统。在这个教程中,我们将详细讲解如何在VMware Workstation中安装Ubuntu...
Ubuntu 10.04 安装配置指南 本文档提供了一个详细的 Ubuntu 10.04 安装配置指南,涵盖了从准备安装到配置输入法的所有步骤。首先,用户需要下载 Ubuntu 光盘镜像文件,并校验其 MD5 值,然后备份数据,最后可以选择...
### Ubuntu 10.04 版中文版使用教程知识点概览 #### 一、Ubuntu 概述 **1.1 关于开源** - **开源软件定义:** 开源软件是指其源代码可以被任何人查看、修改和使用的软件。开源软件通常遵循特定的许可证,这些许可...
### Ubuntu 10.04 DSL 上网配置详解 #### 引言 随着Linux操作系统的日益普及,越来越多的用户开始尝试使用Linux系统替代传统的Windows操作系统。对于初学者而言,Linux的强大功能与灵活性往往伴随着较高的学习曲线...
官方的chrome 只支持12.04以上的版本,由于所需的库不同 ubuntu 10.04 只能用之前的版本
"Ubuntu 10.04 软件安装指南" 从标题和描述中,我们可以了解到这篇文章的主要内容是关于 Ubuntu 10.04 的软件安装和基本配置的指南。从标签中,我们可以看到这是一个文档类型的资源。 从部分内容中,我们可以看到...