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

Предоставление пользователю apache прав на изменение репозиториев Subversion

Я разрабатываю интерфейс для нашей установки 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:/// протокол, и вам вообще не потребуется пароль.

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

Если у вас есть удаленный репозиторий, все становится немного сложнее. В таком случае я исправлю свой ответ :)