Ubuntu下 git 服务器的搭建【转】

转自:http://www.open-open.com/lib/view/open1391477731082.html

搭建git服务器的4个步骤

1   配置服务器前的准备工作

首先ubuntu系统要联网 安装了git,openssh-server和openssh-client软件,并检测是否开启。

rpm -qa | grep -i git (查看是否安装git)

sudo apt-get install git

sudo apt-get install openssh-server

sudo apt-get install openssh-client

2   添加git 用户

新加用户git,该用户将作为所有代码仓库和用户权限的管理者:

geiao@ubuntu :~$ sudo useradd -m git

geiao@ubuntu :~$ sudo passwd git

建立一个git仓库的存储点,并且设置权限使除了git以外的用户对此目录无任何访问权限。

geiao@ubuntu :~$ sudo mkdir /home/pro_j

(建立个目录,作为存储点。)

geiao@ubuntu :~$ sudo chown git:git /home/pro_j

(把pro_j的权限给 git)

geiao@ubuntu :~$ sudo chmod 755 /home/pro_j (将文件pro_j设置为 rwxr_xr_x 除了git以外的用户对此目录无任何访问权限)

3   安装配置gitosis

初始化服务器的git用户 可以用cat ~/.gitconfig 查看

geiao@ubuntu :~$ git config --global user.name "your name"

geiao@ubuntu :~$ git config --global user.email your email

geiao@ubuntu :~$ cat ~/.gitconfig

[user] name = zhang mingjie

    email = Jghost@yeah.net

安装一下python的setuptool,也是为gitosis做准备:

geiao@ubuntu :~$ sudo apt-get install python-setuptools

获得gitosis包:

geiao@ubuntu :~$ mkdir osis

geiao@ubuntu :~$ cd osis

geiao@ubuntu :~/osis$ git clone git://eagain.net/gitosis.git

注意:执行上步骤会出错

Cloning into gitosis...
eagain.net[0: 208.78.102.120]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)

可使用:git clone https://github.com/res0nat0r/gitosis.git代替

geiao@ubuntu :~/osis$ cd gitosis

geiao@ubuntu :~/osis/gitosis$ sudo python setup.py install 默认状态下,gitosis会将git仓库放在git用户home下的repositories中,所以要做个链接: geiao@ubuntu :~/osis/gitosis$ su git

$ ln -s /home/pro_j /home/git/repositories

$ exit

成为管理员:无论是不是本机都可以通过生成ssh公钥的方法成为管理员

geiao@ubuntu :~$ ssh-keygen -t rsa 生成的密钥可以通过在~/.ssh 文件中找到。

在服务器上建管理员:

geiao@ubuntu :~/osis/gitosis$ sudo chmod a+r ~/.ssh/id_rsa.pub

[sudo] password for geiao:

让gitosis运行起来:

geiao@ubuntu :~/osis/gitosis$ sudo -H -u git gitosis-init< ~/.ssh/id_rsa.pub

Initialized empty Git repository in /home/pro_j/gitosis-admin.git/

Reinitialized existing Git repository in /home/pro_j/gitosis-admin.git/

如果在另外的一台机子上建管理员,必须把那台机子的公钥(改名)拷到服务器上 然后修改上面划线操作的地址就行了。

Gitosis 通过一个git仓库管理配置文件,仓库就放在/home/pro_j/gitosis-admin.git。因此要为一个文件加上可执行权限:

geiao@ubuntu :/home/git$ sudo passwd root

geiao@ubuntu :/home/git$ su

root@ubuntu :/home/git# cd repositories

root@ubuntu :/home/git/repositories# cd gitosis-admin.git

root@ubuntu :/home/git/repositories/gitosis-admin.git# sudo chmod 755 /home/pro_j/gitosis-admin.git/hooks/post-update root@ubuntu :/home/git/repositories/gitosis-admin.git# exit

4   管理gitosis的配置文件

gitosis本身的配置也是通过git来实现的。在你自己的开发机里,把gitosis-admin.git这个仓库clone下来,就可以以管理员的身份修改配置了。

geiao@ubuntu :~$ cd osis

geiao@ubuntu :~/osis$ mkdir pro

geiao@ubuntu :~/osis$ cd pro

geiao@ubuntu :~/osis/pro$ git clone git@服务器ip:gitosis-admin.git

geiao@ubuntu :~/osis/pro$ cd gitosis-admin

geiao@ubuntu :~/osis/pro/gitosis-admin$ ls

gitosis.conf keydir

gitosis.conf文件和keydir文件夹

gitosi.conf文件主要的作用是管理员可以编写其他人的权限,可以编写对gitosis-admin的成员,也可以编写对仓库的权限 :writable和 readonly . 这里设置权限 可以建立group设置。

keydir 文件夹是存放其他人公钥的地方。而且必须注意 谁的公钥谁的名字的要求来存放。

geiao@ubuntu :~/osis/pro/gitosis-admin/keydir$ ls geiao@ubuntu.pub jghost.pub 否则在会出现:

ERROR:gitosis.serve.main:Repository read access denied

配置好后一定要做的操作事提交gitosis-admin的 改动,并commit 然后 git push 一下; 而且你不需要在服务器上建好一个空仓库,再导入项目。 Gitosis会在你建好项目推送到服务器上时自动创建。 然后就可以建立个项目 如proj.git(这点比较重要)

geiao@ubuntu :~/osis/pro$ mkdir proj

geiao@ubuntu :~/osis/pro$ cd proj

geiao@ubuntu :~/osis/pro/proj$ git init

Initialized empty Git repository in /home/geiao/osis/pro/proj/.git/

geiao@ubuntu :~/osis/pro/proj$ touch README

geiao@ubuntu :~/osis/pro/proj$ git add README

geiao@ubuntu :~/osis/pro/proj$ git commit -a -m "add readme"

geiao@ubuntu :~/osis/pro/proj$ git remote add origin git@10.10.4.229:proj.git

geiao@ubuntu :~/osis/pro/proj$ git push origin master

到此, 在ubuntu上建立git服务器基本上完成。 

原文地址:http://blog.chinaunix.net/uid-20620288-id-3152615.html

 

时间: 2024-07-29 06:47:56

Ubuntu下 git 服务器的搭建【转】的相关文章

项目实践中--Git服务器的搭建与使用指南(转)

  一.前言 Git是一款免费.开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.在平时的项目开发中,我们会使用到Git来进行版本控制. Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1.从服务器上克隆数据库(包括代码和版本信息)到单机上. 2.在自己的机器上创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并. 6.生成补丁(patch),

ubuntu下apache服务器操作方法小结_Linux

Linux系统为Ubuntu 一.Start Apache 2 Server/启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二. Restart Apache 2 Server/重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三.Stop Apache 2 Server/停止apach

Ubuntu下Telnet服务器的配置方法_Linux

1. 首先介绍linux中的守护进程 在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动.通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单.如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息.inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP

SVN使用图文教程之Windows下SVN服务器的搭建——用VisualSVN Server搭建SVN服务器

SVN需要客户端和服务端,其中服务端就是用来当作服务器存放备份内容的--记住这个备份内容可不是我们复制的一份又一份的文件,而是存的各个版本的不同之处.这里我们就介绍在Windows下通过VisualSVN Server搭建SVN服务端. 其实SVN Server的软件有许多,之所以选择VisualSVN Server是因为这个软件体积小,设置方便. 可以从VisualSVN Server的官方网站http://www.visualsvn.com/server下载到VisualSVN Server

Ubuntu 10.10服务器版搭建云环境的方法

Ubuntu一直以来都是Linux桌面操作系统的前锋,尽管是头把交椅,可他的欢迎度及用户的使用度则并不那么乐观,就在10月10日公布了服务器新版本Ubuntu 10.10,该版本正在试图从云计算上面,寻找突破口,运用云计算在现阶段的大势所趋,让自己的这个版本能够最大范围的得到用户体验. 其实,从Ubuntu 10.04版本开始,Canonical就开始通过Ubuntu One提供云服务的尝试,提供给用户2GB免费的线上存储空间,这已经是一个算一个小的突破,不过2GB并不能满足人们的所需,但如果想

ubuntu下AMP安装+webmin搭建web服务器例子

 一直用window的服务器系统,随着水平的提升,觉得window服务器越来越不能满足要求,大神们又都说Linux怎吗怎吗好,那决定从完全不懂Linux系统的角度,来研究一下Linux服务器系统. 我的目的很单纯,只是想用linux系统来发布网站系统,并不想过度的研究Linux安全什么的,好,开始吧. 各种Linux系统版本了解了一遍,我选择了ubuntu,你懂得,这个对菜鸟最友好,而且本地可以安装一个桌面版练手. 很容易就可以得到,下载地址:  http://www.ubuntu.org.cn

linux下NFS服务器的搭建配置教程

这里有两台主机,一台提供NFS服务,一台client ,具体信息如下: client : 192.168.1.100server: 192.168.1.200domain: 361way 一.NFS 服务端配置   1.安装软件包 # yum -y install nfs-utils 2.启动服务   # systemctl start rpcbind nfs-server nfs-server服务依赖rpcbind服务,如果不启动rpcbind服务时,直接启动nfs-server服务会出现报错

linux(centos)下SVN服务器如何搭建_Linux

虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN. 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件. 输入 svn --help可以查看svn的使用方法,如下图. 3.创建svn版本库目录 复制代码 代码如下: mkdir -

windows下svn服务器快速搭建图文教程_win服务器

服务器端VISUALSVN SERVER 3.3.1 下载地址 客户端TortoiseSVN 1.8.13下载地址: 1.安装服务器端程序  选择服务器和管理界面都安装 选择安装路径和版本库存放路径,选择版本库的访问方式为http或https 2. 创建新用户 users上右击创建两个测试用户xujian和yuanhai     3.创建两个组group1和group2,并把用户添加到用户组 4.创建版本库 在Repositories上右键-->Create NewRepository-->创