1

/var/log/apache2/error.log当我尝试对运行 gitolite 并启用 smart-http 的服务器执行 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

我将 apache 作为 www-data 运行 - 并按照此处的说明设置了各种脚本的权限- 即:

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

进而:

/var/www/bin在named中创建一个 shell 脚本gitolite-suexec-wrapper.sh,使用 mode0700并由 user 和 group 拥有git

4

1 回答 1

1

好的 - 基本上我从头开始重新安装:

  1. 安装 gitolite(将源安装到/home/git目录并以git用户身份运行安装程序su - git
  2. 在此处阅读警告
  3. 运行本文档中的步骤(即不运行文件 - 仅逐行运行)
  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. 现在我可以使用 git clone ssh://git@git.servername.com:gitolite-admin.git http://admin@git.servername.com/git/testing.git通过 ssh 访问我的网站

    并在 http://servername.com/gitweb查看

于 2012-08-05T00:30:29.447 回答