Gitweb on Ubuntu9.10

来源:互联网 发布:人的臂力 数据 编辑:程序博客网 时间:2024/05/16 00:26

1:install the tools

a:sudo apt-get install gitweb openssh-sever openssh-client lighttpd python-setuptools

 

2:config the server

a:edit the /etc/lighttpd/lighttpd.conf

 

server.modules              = (
            "mod_cgi", 
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_compress",
#           "mod_rewrite",
#           "mod_redirect",
#           "mod_evhost",
#           "mod_usertrack",
#           "mod_rrdtool",
#           "mod_webdav",
#           "mod_expire",
#           "mod_flv_streaming",
#           "mod_evasive"
)

 

server.document-root       = "/home/git/repositories"

 

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ,".cgi" )

 

$HTTP["host"] =~ "^10.1.1.4$" {
  cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl",
                               ".py"  => "/usr/bin/python" )   

  alias.url += (
    "/gitweb.css"      => "/usr/share/gitweb/gitweb.css",
    "/git-logo.png"    => "/usr/share/gitweb/git-logo.png",
    "/git-favicon.png" => "/usr/share/gitweb/git-favicon.png",
    "/"                => "/usr/lib/cgi-bin/gitweb.cgi"
  )
}

 

b:edit the /etc/gitweb.conf

$projectroot = "/home/git/repositories";

(网上说还应更改$projects_list = "/home/git/gitosis/projects.list";,通过gitweb=yes,daemon=yes来控制gitweb的显示,但是在不知道什么地方的设置有问题,如果修改了projects_list,那么gitweb就什么都不显示了)

 

c:sudo /etc/init.d/lighttpd restart 在浏览器中输入10.1.1.4就可以看到效果了。

 

3:edit the Gitosis

a:

# git clone git://eagain.net/gitosis.git

# cd gitosis

# python setup.py install

 

b:添加git 用户

 

c:

#sh-keygen -t rsa

#scp ~/.ssh/id_rsa.pub git@10.1.14:/home/git/

#su git (切换到git用户)

#gitosis-init < id_rsa.pub

#rm id_rsa.pub

#chmod 755 /home/git/repositories -R

 

d:

#su lcq(切换回工作目录)

#git clone git@10.1.1.4:gitosis-admin.git

 

gitosis-admin中的gitosis.conf为配置文件,keydir中位给用户的ssh key.现在添加一个新的项目如下

 

[gitosis]

 

[group gitosis-admin]
writable = gitosis-admin
members =
lcq@lcq-desktop

 

[group git-study]
writable = git-study
members =
lcq@lcq-desktop 

 

#git add .

#git commit

#git push

 

这样gitosis的配置就提交到服务器了。现在开始新建一个刚才在配置文件中新建的工程git-study

 

#mkdir git-study

#cd git-study

#touch hi.c

#git init

#git add .

#git commit

 

第一次提交时

#git remote add origin git@10.1.1.4:git-study.git
#git push origin master

或者

#git push git@10.1.1.4:git-study.git master

以后git push就可以了

 

e:添加用户(eg:test)

#sh-keygen -t rsa

#cp ~/.ssh/id_rsa.pub ~/test@test-desktop.pub

#su lcq

#cd gitosis-admin/keydir

#cp /home/test/test@test-desktop.pub ./

 

编辑gitosis.conf

[gitosis]

 

[group gitosis-admin]
writable = gitosis-admin
members =
lcq@lcq-desktop

 

 

[group git-study]
writable = git-study
members =
lcq@lcq-desktop  test@test-desktop

 

#git add .

#git commit

#git push

现在test用户就具有了读写git-study的权限了

原创粉丝点击