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,该用户将作为所有代码仓库和用户权限的管理者:

[email protected] :~$ sudo useradd -m git

[email protected] :~$ sudo passwd git

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

[email protected] :~$ sudo mkdir /home/pro_j

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

[email protected] :~$ sudo chown git:git /home/pro_j

(把pro_j的权限给 git)

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

3   安装配置gitosis

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

[email protected] :~$ git config --global user.name "your name"

[email protected] :~$ git config --global user.email your email

[email protected] :~$ cat ~/.gitconfig

[user] name = zhang mingjie

    email = [email protected]

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

[email protected] :~$ sudo apt-get install python-setuptools

获得gitosis包:

[email protected] :~$ mkdir osis

[email protected] :~$ cd osis

[email protected] :~/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代替

[email protected] :~/osis$ cd gitosis

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

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

$ exit

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

[email protected] :~$ ssh-keygen -t rsa 生成的密钥可以通过在~/.ssh 文件中找到。

在服务器上建管理员:

[email protected] :~/osis/gitosis$ sudo chmod a+r ~/.ssh/id_rsa.pub

[sudo] password for geiao:

让gitosis运行起来:

[email protected] :~/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。因此要为一个文件加上可执行权限:

[email protected] :/home/git$ sudo passwd root

[email protected] :/home/git$ su

[email protected] :/home/git# cd repositories

[email protected] :/home/git/repositories# cd gitosis-admin.git

[email protected] :/home/git/repositories/gitosis-admin.git# sudo chmod 755 /home/pro_j/gitosis-admin.git/hooks/post-update [email protected] :/home/git/repositories/gitosis-admin.git# exit

4   管理gitosis的配置文件

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

[email protected] :~$ cd osis

[email protected] :~/osis$ mkdir pro

[email protected] :~/osis$ cd pro

[email protected] :~/osis/pro$ git clone [email protected]服务器ip:gitosis-admin.git

[email protected] :~/osis/pro$ cd gitosis-admin

[email protected] :~/osis/pro/gitosis-admin$ ls

gitosis.conf keydir

gitosis.conf文件和keydir文件夹

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

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

[email protected] :~/osis/pro/gitosis-admin/keydir$ ls [email protected] jghost.pub 否则在会出现:

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

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

[email protected] :~/osis/pro$ mkdir proj

[email protected] :~/osis/pro$ cd proj

[email protected] :~/osis/pro/proj$ git init

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

[email protected] :~/osis/pro/proj$ touch README

[email protected] :~/osis/pro/proj$ git add README

[email protected] :~/osis/pro/proj$ git commit -a -m "add readme"

[email protected] :~/osis/pro/proj$ git remote add origin [email protected]:proj.git

[email protected] :~/osis/pro/proj$ git push origin master

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

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

时间: 2024-10-13 12:37:48

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

ubuntu下tftp服务器的搭建

1.下载软件 安装tftp-server sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa(如果不需要客户端可以不安装) tftp-hpa是客户端 tftpd-hpa是服务器端 2.配置TFTP服务器 sudo vim /etc/default/tftpd-hpa 将原来的内容改为: TFTP_USERNAME="tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_DIRE

Ubuntu中Git服务器搭建

git服务器搭建过程 参考网上资料搭建git服务器过程记录 如下: 需求 硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到. 软件需求:git-core, gitosis, openssh-server, openssh-client, Apache2(Gitweb) 安装配置git服务器 安装git和openssh: [email protected]:~$sudo apt-get install git-core openssh-server openssh-cli

【Linux学习】Ubuntu下 samba服务器搭建

1.安装samba,smbfs 2.配置smb.conf文件 配置文件之前需要先备份一下需要配置的文件(养成好的习惯) 输入命令: 进入到smb.conf文件中,在文件的最后添加下列语句 保存后,退出. 3.启动服务 4.现在在samba共享的文件夹下有一下文件 然后通过windows访问共享目录,输入 \\172.16.42.6后看到共享的temp文件夹, [Linux学习]Ubuntu下 samba服务器搭建,布布扣,bubuko.com

Windows下Git服务器搭建[转]

Windows下Git服务器搭建 作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格.其他步骤基本一路Next即可. Git-1.8.1.2-preview20130201.exe Copssh_4.1.0_Installer.exe

关于git服务器的搭建

Git 服务器可搭建在多个系统平台上. 本篇以 Windows 和 Ubuntu 系统为例,简单介绍 Git 服务器的构建. 最后使用 eclipse 的 egit 插件和 git clone 这两种方法来克隆版本库. 一.概览 无论在 Windows 平台还是 Linux 平台下,Git 服务器搭建就是构建一个验证机制的过程. 通过该机制,Git 版本库的使用者能够使用不同的验证方式,来获取库中资源. 常用的验证方式有两种:公钥私钥对和用户密码. 以下说下不同平台下构建过程中的注意点. 要值得

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

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

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

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

Ubuntu 下ftp服务器的安装配置

Ubuntu 下ftp服务器的安装配置 FTP服务器是平时应用最为广泛的服务之一.VSFTP是Very Secure FTP的缩写,意指非常安全的FTP服务.VSFTP功能强大,通过结合本地系统的用户认证模块及其多功能的配置项目,可以快速有效的搭建强大的多用户FTP服务. 首先我们考虑搭建FTP服务需要关注的都有哪些方面?比如我们最经常关注的有: 1.如何添加FTP用户?  2.如何临时冻结某FTP用户?  3.FTP用户登入后的默认目录?是否可以改变?  4.如何锁定FTP用户可访问的目录范围

ubuntu 下 mysql数据库的搭建 及 数据迁移

1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配置mysql管理员密码 sudo mysqladmin -u root 当前密码 新密码 安装的时候貌似也没遇到什么障碍 3.查看mysql的状态 sudo netstat -tap | grep mysql 4.启动/停止/重启mysql sudo  /etc/init.d/mysql start