centos 6.3 搭建git/gitosis/gitweb

1. git的安装和配置

(1)使用yum源安装git

  1. yum install git

(2)创建git用户并设置密码

  1. #useradd --home /home/git git
  2. #passwd git
  3. //注意这里要设置一个密码,建议不要不设密码,网上很多资料都不设密码

(3)创建一个git仓库,验证git是否可用

  • 在使用git之前,要设置git的两个全局变量,设置方式为:
    1. # git config --global user.name "dylan"
    2. # git config --global user.email "[email protected]"
  • 设置git仓库目录的权限
    1. # su - git                           //切换到git用户
    2. $ chmod -R 755 /home/git             //修改目录的权限
  • 创建并初始化一个repository
    1. $ mkdir /home/git/repo   //假设要创建的repository放在/home/git/repo目录下
    2. $ cd /home/git/repo
    3. $ mkdir test_repo
    4. $ cd test_repo
    5. $ git init --bare
  • 测试新创建的repository是否可用
    1. su - test (test为另外一个user或者exit,使用root用户)
    2. $ cd /home/test
    3. $ mkdir repos
    4. $ cd repos
    5. $ git clone /home/git/repo/test_repo

    如果显示" Initialized empty Git repository in /home/git/repo/test_repo/.git/",则说明成功的clone了一个local repository。之后就可以在此repository下进行开发了,比如,添加一个readme.txt文件。

    1. $ cd test_repo
    2. $ vim readme.txt (创建一个文件)
    3. $ git add . (注意后面有一个[.])
    4. $ git commit -a
    5. $ git push origin master

注意:如果此时报错,最大的原因是test_repo的refs和objects目录的权限不够,执行如下操作即可(git server端的repository下的这两个目录)。

  1. $ chmod -R 777 refs/
  2. $ chmod -R 777 objects/

2. gitosis的安装

(1)python-setuptools的安装(因为gitosis的安装脚本是用python写的)

  1. #yum install python-setuptools

(2)gitosis的安装

  1. #git clone git://github.com/res0nat0r/gitosis.git//下载gitosis到你想存放的目录下
  2. #cd gitosis
  3. #python setup.py install    //如果没有报错,则说明安装成功

(3)创建是用这个git server的用户的公钥

因为gitosis的访问是通过ssh访问的,所以我们还需要创建一个ssh的访问公钥。找另外一台机器(如果条件允许)作为git server的客户端机器创建公钥,然后传到git服务器上。(如果为了简便,也可在git服务器上创建公钥,使用git用户或者其他用户都行。为了方便,这里采用git服务器,并且使用git用户。

  1. # su - git
  2. $ ssh-keygen -t rsa

公钥生成了,默认放在/home/git/.ssh/id_rsa.pub下,如果生成公钥时设置了密码,注意记住密码,为了简单,我这里没有设置密码。

(4)配置gitosis

gitosis对git的各种管理通过gitosis-admin.git这个项目来完成,gitosis-admin.git项目本身又被置于git下管理,所以需要先在client端clone gitosis-admin.git, 根据需求修改后,将修改提交到git server即可生效。

此处的含义就是:你想在哪对gitosis进行配置,就需要在哪clone到gitosis-admin.git.

  • 假设在于gitosis不同的另外一台机器上,使用git用户将gitosis-admin.git clone到本地。
    1. git clone [email protected]:/home/git/repositories/gitosis-admin.git
  • 修改gitosis配置文件gitosis.conf
    1. $ vim gitosis.conf
    2. //会看到如下内容
    3. [gitosis]
    4. [group gitosis-admin]
    5. writable = gitosis-admin
    6. members = [email protected]

    gitosis.conf 文件是用来设置用户、仓库和权限的控制文件(对于gitosis.conf文件的详细含义,以及keydir目录下公钥的作用,将会另写文档说明,在此不再详述),只需知道gitosis仓库是可写的,支持的用户有git

(5)新添加repository

修改gitosis-admin的配置文件gitosis.conf,新添加一个repository,例如:

  1. [gitosis]
  2. [group gitosis-admin]
  3. writable = gitosis-admin
  4. members = [email protected]
  5. [group test_repo]                        //新添加的仓库名称
  6. writable = test_repo                     //此仓库的读写权限,此处为可写
  7. members  = [email protected] [email protected]       //可以访问此仓库的用户名@主机名

假设当user1,来访问这个test_repo仓库时,需要输入如下命令:

  1. git clone [email protected]_server_ip:/home/git/repo/test_repo.git

此时会要求输入user1的密码,此密码就是创建user1的公钥时输入的密码。那么gitosis又是怎么来确定user1的身份的呢? 这就要求必须事先将user1产生的公钥传给管理员,即对gitosis-admin有权限操作的管理人员,然后由他将公钥拷贝到keydir目录下,然后,执行git add,git push即可。

3. gitweb安装

注意:redhat的iso源是没有gitweb安装包,但是centos的源中有,在上一篇文章中给出了如何让redhat使用centos的源,那么,只需采用如下命令即可安装。

  1. # yum install gitweb

4. gitweb配置

gitweb默认安装到了/var/www/git下,其配置文件在/etc/gitweb.conf下,另外,httpd的配置文件/etc/httpd/conf.d/git.conf。

(1)修改/etc/gitweb.conf

  1. $projectroot = "/var/www/git" //将projectroot修改为/var/www/git

(2)修改/etc/httpd/conf.d/git.conf

  1. Alias /git /var/www/git
  2. <Directory /var/www/git>
  3. Allow from all
  4. AllowOverride all
  5. Order allow,deny
  6. Options +ExecCGI
  7. AddHandler cgi-script .cgi
  8. DirectoryIndex gitweb.cgi
  9. SetEnv GITWEB_CONFIG /etc/gitweb.conf
  10. Dav On
  11. RewriteEngine Off
  12. </Directory>

(3)重启httpd

  1. /etc/init.d/httpd restart

(4)将gitosis仓库连接到/var/www/git下,完成web显示

  1. ln -s /home/git/repositories/test_repo.git /var/www/git/

(5)通过浏览器浏览

http://xxxx/git/

注意:  如果git clone  http://xxx/git/test_repo.git时出现git update-server-info错误,则在test_repos.git目录下执行 git update-server-info 命令即可(gitosis服务器的相应仓库下)。

5. 创建新的git repository

在git server的/home/git/repository目录下,执行如下命令:

  1. mkdir test.git
  2. cd test.git
  3. git init --bare
  4. //可以在这里添加源文件,也可以在client端clone之后添加

centos 6.3 搭建git/gitosis/gitweb

时间: 2024-10-08 14:59:32

centos 6.3 搭建git/gitosis/gitweb的相关文章

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器

[CentOS] 使用gitolite搭建git服务端

1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 passwd git 2. 创建ssh密钥 #切换到gitadmin > su gitadmin #创建ssh密钥 > ssh-keygen Generating public/private rsa key pair. #注意,下面的gitadmin是自己输入进去的 Enter file in w

在CentOS 7中搭建Git服务器

环境说明 - CentOS 7.x 最小安装 - 配置网络连接 1. 安装Git及创建用户 # 安装Git $ yum install git # 创建一个git用户组和用户,用来运行git服务 $ groupadd git $ adduser git -g git 禁止git用户登录: 修改/etc/passwd文件,修改 # 找到这句: git:x:503:503::/home/git:/bin/bash # 改为: git:x:503:503::/home/git:/bin/git-she

Centos 6.5搭建git服务器

安装依赖 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y Git安装 wget https://www.kernel.org/pub/software/scm/git/git-2.5.0.tar.gz tar zxvf git-2.5.0.tar.gz cd git-2.5.0 ./configure --prefix=/usr/local/git make &&

CENTOS下搭建git代码仓库 ssh协议

centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限    git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或者使用 源码包安装git-2.2.0.tar.gz(https://www.kernel.org/pub/software/scm/git/) 新建git用户与用户组 # useradd git # passwd git 二,新建git仓库(仓库位置自己随用户自己决定,例/var/git/testp

debian下使用gitosis+gitweb搭建SSH认证的git服务器

搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client端需要一个管理员gitadmin,一个开发者gituser.这里的环境,使用两台处于同一局域网内的两台机器作为server以及client,其中server端系统为debian 6,client端为fedora 16.1    建立server端账户git,用于安装git相关的服务. sudo us

ubuntu 16.04 下搭建git服务器(gitosis+git-daemon+gitweb)

近期公司为了方便管理项目,要搭建一个git服务器集中管理项目数据.通过请教同事,并在虚拟机上多次尝试终于搭建成功,特意将搭建过程分享给跟我一样的小白. 环境: 服务器端: git-server   192.168.92.128 客户端:   git-client   192.168.92.129 服务器端: 1.首先安装git 与 openssh  (openssh 安装过的,这步可以只安装git就行) [email protected]:~$ sudo apt-get install git-

CentOS 6.5下Git服务器搭建

1 关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.有以下三种版本控制系统: 1. 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别.这么做唯一的好处就是简单.不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复. 为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异.图示如下, 2. 集中化的版本控制系统 集中

CentOS搭建Git服务器及权限管理

声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSSH,如果您的系统没有,请自行安装. 查看ssh版本 $ ssh -V # 输出以下表示没问题,可以继续. 版本可能不一致,能用即可. OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013 避免系统环境和其他的不一致,请核对您系统的版本,其他发行版请对应修改