Я разрабатываю интерфейс для нашей установки Subversion с использованием WebDAV, таблиц стилей XSL и некоторых сценариев php для взаимодействия с двоичным файлом svn. Я написал простой сценарий оболочки, который настраивает проект на основе нашей технической политики (довольно стандартный материал). Однако сценарий не будет работать должным образом, если он будет запущен пользователем apache _www (сервер OS X). Он жалуется на то, что не получил пароль для _www. Мы выполняем аутентификацию через открытый каталог, поэтому нет файлов .htaccess, управляющих аутентификацией.
Могу ли я каким-то образом предоставить доступ к _www, не вводя пароль, чтобы мои сценарии могли работать не интерактивно?
Добавление этого в Limit не помогло (хотя полное удаление тега Limit из conf, очевидно, работает!):
Require user _www _www@MYSERVER
Следует отметить, что _www имеет рекурсивные права собственности на каталог, в котором находятся мои репозитории.
Если репозиторий Subversion находится на том же компьютере, что и веб-сервер, решение довольно простое. Тебе просто нужно
chown -R _www /path/to/repo
и этого должно быть достаточно. Убедитесь, что у пользователя есть доступ на чтение / запись (и выполнение в каталогах). Убедитесь, что вы получаете доступ к репозиторию через file:///
протокол, и вам вообще не потребуется пароль.
Если репозиторий должен принадлежать другому пользователю, вы можете вместо этого использовать группы для установки разрешений.
Если у вас есть удаленный репозиторий, все становится немного сложнее. В таком случае я исправлю свой ответ :)