Я настроил сервер 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 , а gitolite под 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 ответ1

0

Я "исправил" это, хотя для меня это похоже на хак. Я добавил это

    <Directory /var/www/bin>
            Order allow,deny
            Allow from all
    </Directory>

... в конфиг vhost. Я бы предположил, что это на самом деле не должно быть необходимым, так как это не фактический запрос клиента, который открывает этот каталог?

Мне также пришлось переназначить моего пользователя и группу git, так как suexec был скомпилирован, чтобы заставить uid/gid> 1000, но установщик gentoo сделал их системными учетными записями, что привело к низкому идентификатору.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .