Клиент отклонен из-за конфигурации сервера
Я настроил сервер Apache для хостинга gitolite. Я следовал этому руководству, но при доступе к серверу я получаю 403, и журнал ошибок apache содержит следующую строку:
[ошибка] [клиент 192.168.0.97] клиент отклонен по конфигурации сервера: /var/www/bin/gitolite-suexec-wrapper.sh
Насколько я понимаю, это означает, что пользователь apache не может открыть скрипт оболочки? Большинство страниц, описывающих сообщение "клиент отклонен из-за конфигурации сервера", пишут о каталогах, нуждающихся в Allow from all
, но так как /var/www/bin/
Каталог даже не должен просматриваться, это не должно быть проблемой, я думаю?
Часть suexec в конфигурации vhost выглядит так:
SuexecUserGroup git git
ScriptAlias /git/ /var/www/bin/gitolite-suexec-wrapper.sh/
ScriptAlias /gitmob/ /var/www/bin/gitolite-suexec-wrapper.sh/
Я использую gitolite 3.5.2 и apache 2.2.25 на сервере gentoo 3.10.7. Apache работает под пользователем apache
и гитолит под git
, Это права доступа к каталогам suexec:
# ls -la /var/www/bin/ /var/www/git/
/var/www/bin/:
total 12
drwxr-xr-x 2 git git 4096 Dec 9 21:26 .
drwxr-xr-x 5 apache root 4096 Dec 9 21:25 ..
-rwx------ 1 git git 249 Dec 9 21:27 gitolite-suexec-wrapper.sh
/var/www/git/:
total 8
drwxr-xr-x 2 apache apache 4096 Dec 9 21:25 .
drwxr-xr-x 5 apache root 4096 Dec 9 21:25 ..
Что еще я должен проверить?
1 ответ
Я "исправил" это, хотя для меня это похоже на хак. Я добавил это
<Directory /var/www/bin>
Order allow,deny
Allow from all
</Directory>
... в конфиг vhost. Я бы предположил, что это не должно быть на самом деле необходимо, так как это не фактический запрос клиента, который открывает этот каталог?
Мне также пришлось переназначить моего пользователя и группу git, так как suexec был скомпилирован, чтобы заставить uid/gid > 1000, но установщик gentoo сделал их системными учетными записями, что дало низкий идентификатор.