1

/var/log/apache2/error.logsmart-http を有効にして gitolite を実行しているサーバーに git clone を実行しようとすると、次のエラーが発生します。

[Wed Jul 25 21:53:36 2012] [error] [client 124.149.104.106] FATAL: warn\tUse of 
uninitialized value $rc{"UMASK"} in umask at /opt/git/gitolite-source/src/
gitolite-shell line 95, <DATA> line 1.<<newline>>

UMASK値が設定され0027ています/home/git/.gitolite.rc

のファイルから su_exec から呼び出されたときに値が設定されない理由はありますsites-availableか?

私は www-data として apache を実行しています -ここの指示に従って、さまざまなスクリプトにアクセス許可を設定しました- つまり:

install -d -m 0755 -o git -g git /var/www/bin
install -d -m 0755 -o www -g www /var/www/git

その後:

/var/www/binnamed内に shell スクリプトを作成し、gitolite-suexec-wrapper.shモードはus 0700​​er と group によって所有されますgit

4

1 に答える 1

1

了解しました。基本的に、最初から再インストールしました。

  1. gitoliteをインストールします(ディレクトリにソースをインストールし、を使用してユーザー/home/gitとしてセットアップを実行します)gitsu - git
  2. ここで警告を読んでください
  3. このドキュメントの手順を実行します(つまり、ファイルを実行せず、1行ずつ実行します)
  4. gitユーザーとしてgitoliteを実行するため、ここではエクスポートを実行しないでください
  5. apt-getを使用してgitwebをインストールします-リポジトリを指すように設定します/home/git/repositories
  6. ここでapacheサイト構成に以下を入力します/etc/apache2/sites-available/git.servername.com

    <VirtualHost *:80>
        ServerAdmin mail@servername.com
        ServerAlias git
        ServerName git.servername.com
    
        DocumentRoot /var/www/git
    
        <Directory /var/www/git>
          Options +Indexes
          AllowOverride none
          Order allow,deny
          Allow from all
        </Directory>
    
        SuexecUserGroup git git
        ScriptAlias /git/ /var/www/bin/gitolite-suexec-wrapper.sh/
        ScriptAlias /gitmob/ /var/www/bin/gitolite-suexec-wrapper.sh/
    
        <Location /git>
          AuthType Basic
          AuthName "Git Access"
          Require valid-user
          AuthUserFile /home/git/gitolite-http-authuserfile
        </Location>
        Loglevel warn
        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined
    </VirtualHost>
    
  7. ここからgitwebのスタイルを使用します。

  8. これで、 http://admin@git.servername.com/git/testing.gitを使用してssh経由で自分のサイトにアクセスできます 。git clone ssh://git@git.servername.com:gitolite-admin.git

    http://servername.com/gitwebで表示します

于 2012-08-05T00:30:29.447 に答える