Это сводило меня с ума. Я выполняю мерзавца 1.7.8.rc4 с Apache/2.2.14 на Ясной Ubuntu и настроенной аутентификацией LDAP. Аутентификация, кажется, хорошо работает, и я могу вытянуть, но я не могу продвинуть, не получая 403 ошибки.
[Fri Dec 16 20:04:25 2011] [error] [client 10.60.226.130] client denied by server configuration: /opt/tools/libexec/git-core/git-http-backend
Мой апачский файл сайта:
SetEnv GIT_PROJECT_ROOT /opt/git
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAlias /git/ /opt/tools/libexec/git-core/git-http-backend/
<Directory "/opt/git">
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
<Directory "/opt/tools">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<LocationMatch "^/git/.*/git-receive-pack$">
Order deny,allow
Deny from all
AuthName "GIT Repo"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://10.59.10.40:389/dc=shopping,dc=com"
Require valid-user
</LocationMatch>
Все, что я нахожу относительно "клиента отклоненный конфигурацией сервера," говорит, "Добавляют 'Порядок, позволяет, отклоняет / Позволяют от всех' корректной Записи каталога". Это там, и это все еще не работает. Какие-либо идеи? Я знаю, что я действительно близок и являюсь, вероятно, чем-то супер простым.
] Решено. Проблема заключалась в блоке LocationMatch:
Order deny,allow
Deny from all
вызывал ошибку 403. Измените его на разрешающий, как в блоке Directory, и он изменится на 401, что оказалось проблемой с аутентификацией LDAP. Я изменил AuthBasicProvider на «внешний» и использовал pwauth согласно ( pyxzl.net/store/authnz.php )