Назад | Перейти на главную страницу

suexec не работает с псевдонимами скриптов без журналов

Я пытаюсь установить gitolite 3 на сервер apache2. Поэтому мне нужно запустить сценарий CGI, принадлежащий git:git. Моя конфигурация для достижения этой цели (в основном на основе этот) является:

<VirtualHost myserver.com>
  ServerName myserver.com
  ServerAlias git
  SuexecUserGroup git git
  ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" \
  /srv/www/gitolite_suexec_wrapper.sh/$1
</VirtualHost>

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда запрос соответствует моему регулярному выражению псевдонима stript, клиент получает 403, и мои журналы ошибок apache (настроенные на уровень отладки) сообщают мне следующее:

client denied by server configuration: /srv/www/gitolite_suexec_wrapper.sh

На моем сервере apache2 есть пользователь wwwrun и группа www. Модуль suexec запущен, поэтому я тестирую, что все в порядке, вот так:

su -c "/usr/sbin/suexec2 true" wwwrun
suexec policy violation: see suexec log for more details

Таким образом, этот пользователь может запустить suexec. Раньше у меня были неправильные разрешения на моем /srv/www/gitolite_suexec_wrapper.sh и были зарегистрированы линии /var/log/apache2/suexec.log, теперь у меня ничего нет, поэтому я полагаю, что мои права установлены правильно в отношении suexec и сценария упаковки.

И я все еще не уверен, должен ли этот скрипт принадлежать wwwrun:www или git:git владелец скрипта, который мне нужен для запуска apache2. Я думаю из suexec справка что это должно быть wwwrun:www, в любом случае я пробовал оба, и оба не работали.

su -c "/srv/www/gitolite_suexec_wrapper.sh" wwwrun

Дает вывод, поэтому я думаю, что мои разрешения установлены правильно для этого скрипта.

Что еще я должен проверить? Что я сделал не так?

Заранее спасибо за вашу помощь!

Хорошо, я нашел решение, мне пришлось предоставить доступ к файлу сценария следующим образом (на том же виртуальном хосте):

<Directory "/srv/www">
  <Files "gitolite_suexec_wrapper.sh">
    Order allow,deny
    Allow from all
  </Files>
</Directory>

И тогда это хорошо.