Changes between Version 39 and Version 40 of TipAndDoc/scm/git


Ignore:
Timestamp:
Jun 14, 2013 5:07:17 AM (11 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TipAndDoc/scm/git

    v39 v40  
    287287  * このサイトでは{{{RewriteRule (.*) $1 [E=AUTHREQUIRED:yes]}}}としているが、これではQUERY_STRINGが落ちてしまいうまく動かない 
    288288 
     289 * https://lab.mitty.jp/git/ で実際に用いている設定 
     290{{{ 
     291RewriteEngine On 
     292RewriteCond %{QUERY_STRING} =service=git-receive-pack [OR] 
     293RewriteCond %{REQUEST_URI} /git-receive-pack$ 
     294RewriteRule /git/ - [E=AUTHREQUIRED:yes] 
     295<Location /git> 
     296        SetEnv GITWEB_CONFIG /etc/gitweb/lab.conf 
     297        SetEnv GIT_HTTP_EXPORT_ALL 
     298        SetEnv GIT_PROJECT_ROOT /path/to/projectroot/lab 
     299        Order Deny,Allow 
     300        Deny from env=AUTHREQUIRED 
     301        AuthType Basic 
     302        AuthName "Authentication for lab.mitty.jp" 
     303        AuthUserFile /path/to/htpasswd.file 
     304        Require valid-user 
     305        Satisfy Any 
     306</Location> 
     307AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$          /path/to/projectroot/lab/$1 
     308AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /path/to/projectroot/lab/$1 
     309ScriptAliasMatch \ 
     310        "(?x)^/git/(.*/(HEAD | \ 
     311                        info/refs | \ 
     312                        objects/info/[^/]+ | \ 
     313                        git-(upload|receive)-pack))$" \ 
     314        /usr/lib/git-core/git-http-backend/$1 
     315Alias /git /usr/share/gitweb 
     316<Directory /usr/share/gitweb> 
     317        Options +ExecCGI 
     318        DirectoryIndex gitweb.cgi 
     319        AddHandler cgi-script .cgi 
     320</Directory> 
     321}}} 
     322 * gitweb/git-http-backend を一つのURLでアクセス可能にしている 
     323 * git fetchは認証なし、pushは要認証 
     324  * https://www.kernel.org/pub/software/scm/git/docs/git-http-backend.html でLocationMatchを用いて説明されている方法は古いため動かない 
     325  * man git-http-backend あるいは http://man7.org/linux/man-pages/man1/git-http-backend.1.html などにあるように、mod_rewriteが必要 
     326  * {{{Order Deny,Allow}}}、{{{Satisfy Any}}}などに注意 
     327 * /etc/gitweb/lab.conf 
     328{{{ 
     329$projectroot = "/var/git/lab"; 
     330@git_base_url_list = ($cgi->url(-base => 1) . '/git'); 
     331}}} 
     332  * GITWEB_CONFIGでgitwebインスタンスごとに設定ファイルを指定できる 
     333 * man git-http-backendではgitwebは{{{ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/}}}などとしているが、うまく動かない 
     334  * {{{/git/?p=lab.git}}}となるべきリンクが{{{/git?p=lab.git}}}となってしまう 
     335  * wiki:TipAndDoc/network/httpd#ScriptAlias にあるように、自身のURLが{{{/}}}で終わらない形になるためと思われる 
     336  * Alias + Directoryで対応 
     337 
    289338 = prompt = 
    290339 * bash