xiuxuan 发表于 2018-9-18 08:26:01

ubuntu下git服务器搭建过程

配置gitweb
  1. 安装gitweb
  sudo apt-get install gitweb
  2. 安装apache2
  sudo apt-get install apache2
  3. 配置gitweb
  (1)默认没有 css 加载,把 gitweb 要用的静态文件连接到 DocumentRoot 下:
  cd /var/ www/
  sudo ln -s / usr/ share/ gitweb/* .
  (注意后面的点)
  (2)修改配置:
  sudo vi /etc/ gitweb.conf
  将 $projectroot 改为gitosis-admin.git所在目录:/home/git/repositories
  (3)修改/home/git/repositories权限,默认情况下,gitosis将repositories权限设置为不可读的
  sudo chmod 777 -R /home/git/repositories
  11.编辑apache2配置文件,建立web站点(默认情况下可以忽略此步骤)
  (1) 编辑apache2配置文件
  ubuntu中默认的web目录是/var/www,默认的cgi目录是 /usr/lib/cgi-bin/,安装完成gitweb后,gitweb的gitweb.cgi会自动放置
  到该目录下。如果你的cgi路径不是默认的/usr/lib/cgi-bin/,需要将gitweb安装在/usr/lib/cgi-bin中的gitweb.cgi复制到原来配置
  的cgi-bin路径,并修改apache的配置文件/etc/apache2/apache.conf:
  SetEnvGITWEB_CONFIG   /etc/gitweb.conf
  gitweb.conf配置文件形如:(可自行修改,这里不做详细介绍)
  
  Options FollowSymlinks ExecCGI
  Allow from all
  AllowOverride all
  Order allow,deny
  
  SetHandler cgi-script
  
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^.* /gitweb.cgi/$0
  
  (2)重新启动apache:sudo /etc/init.d/apache2 restart,访问http://localhost/cgi-bin/gitweb.cgi

配 置web访问方式:Apache常用命令:  a2dissite gitserver 禁用
  a2ensite gitserver使能
  /etc/init.d/apache2 restart 重启
1.apt-get install apache22.手动安 装gitweb  git clone git://git.kernel.org/pub/scm/git/git.git
  cd git
  make GITWEB_PROJECTROOT=”/home/repo” prefix=/usr gitweb/gitweb.cgi
  cd gitweb
  cp -av git* /home/repo/
3.vim /etc/apache2/sites-available/gitserver  
  ServerName 172.20.146.39
  DocumentRoot /home/repo
  ScriptAlias /cgi-bin/ /home/repo
  
  Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
  AllowOverride All
  order allow,deny
  Allow from all
  AddHandler cgi-script cgi
  DirectoryIndex gitweb.cgi
  
  
4.赋予权限,很重要:chgrp -R www-data /home/repo  chmod a+r repo
  chmod a+x repo
mv hooks/post-update.sample hooks/post-update5.a2ensite gitserver  6./etc/init.d/apache2 restart
匿名访问方式:  git clone
http://192.168.1.1/alsa-lib.git  git clone http://192.168.1.1/alsa-utils.git
  git访问方式:
  git clone git@192.168.1.1:alsa-lib.git
  Web网页浏览:
  http://192.168.1.1
遇到的问题:  1.windows文件命名不区分大小 写,而linux支持。这样android源码下载时会出现一下问题。大约有15个文件存在这个问题。
  2.库的描述文件在.git文件夹的description文件中。编辑该文件,在gitweb页中就会有 description。
  3.gitosis库hooks下的post- update不是由post-update.sample重命名过来的,它们不一样。post-update可以更新工作目录,保持与库一致。没有它配置 文件是不会更新的。
  4.(1)git@hello:/home/git$ git add .
  error: readlink(“external/openssl/apps/md4.c”): No such file or directory
  error: unable to index file external/openssl/apps/md4.c
  fatal: adding files failed
(2)root@/external/openssl# git init  Initialized empty Git repository in /external/openssl/.git/
root@/external/openssl# git add .  error: readlink(“apps/md4.c”): No such file or directory
  error: unable to index file apps/md4.c
  fatal: adding files failed
  (3)
root@android-2.1_r2$rm -Rf .reporoot@android-2.1_r2$find . -name “.git” | xargs rm -Rf
页: [1]
查看完整版本: ubuntu下git服务器搭建过程