Apache+PHP+Mod_DAV_SVN

erotic

Добрый день.
Если кто разбирается во всех трех вещах сверху - дапоможите.
Есть Apache, в нем как модуль установлен PHP. Есть Subversion, в нем репозиторий site, установки выглядят так:
 
 
<IfModule mod_dav_svn.c>

<Location /svn/>

DAV svn
SVNParentPath "/srv/svn/"
SVNPathAuthz off
SVNListParentPath on
AuthType Basic
AuthzSVNAccessFile /srv/svn/authz.conf

</Location>
<Location /svn/site>
Action application/x-httpd-php /usr/bin/php
AddHandler application/x-httpd-php .php
</Location>
</IfModule>


Поскольку доступ к репозиторию осуществляется через Apache, то хотелось бы иметь возможность зайдя в репозиторий, сразу посмотреть на работающий сайт, т.е. чтобы запрашиваемые в репозитории .php-скрипты отдавались не просто как текст, а обрабатывались предварительно сервером.
Файлам .php проставлено свойство svn:mime-type = application/x-httpd-php.
В httpd.conf есть настройка AddType application/x-httpd-php .php
Т.о. PHP на апаче работает, но файлы из репозитория все равно им не обрабатываются. Пробовал сделать так, как написано выше - прописать action на CLI версию PHP и поставить этот обработчик на файлы, но картина все равно не меняется.
Кто-нибудь может помочь по этому вопросу?
P.S. Сразу добавлю, что есть вариант поставить скрипт на обновление репозитория, который выкачивал бы обновленную копию в отдельную директорию и уже ее отдавал по HTTP. Это простой и удобный вариант, но все-таки меня интересует, решается ли проблема другим путем.

conv3rsje

если посмотришь на тип отдаваемых файлов у свина - то увидишь что это text/plain
если я правильно понимаю, mod_dav пускает данные в обход всяких апачевских обработчиков
да и как иначе
видимо вариант с "демо-версией" обновляющейся из репозитория наиболее разумен
да и локальные настройки там можешь сделать
если хочешь чтоб репозиторый был сразу и рабочей (в смысле апача) версией - используй всякие рцсы типа darcs/git
у них файлы (точнее рабочая копия) лежат просто в фс и апач может их зохавать
при этом можно делать всякие pull'ы/checkout'ы
зы звиняй за сумбур, по-другому не умею

erotic

Не, это не так. Есть такое свойство: svn:mime-type. Какое выставишь - такое и будет отдаваться. Если, к примеру, для картинки.jpg не выставлено свойство, то по умолчанию отдается как текст, и в браузере видишь набор кракозябров. Если выставишь image/jpeg - браузер покажет картинку. Если выставшь application/x-httpd-php, браузер скажет, что не рюхает

conv3rsje

и правильно скажет он же напрямую отдает вроде?
если мне не изменяет память в доках про этот дав_свн писалось что в принципе вы можете руками выдергивать нужные версии, только бровзер этого не умеет
соответственно это все идет в обход апача
выставление mime-type'ов - не более чем фича для бровзера и более удобного просмотра (для клиента, а не для сервера)
правда, возможно и ошибаюсь
ЗЫ
Применение server-side обратки для репозиториев типа свина (точнее для дав_свн) вроде вообще не может быть применена, иначе у тебя при checkout'е стянется не файл а его результат обрабтки
Оставить комментарий
Имя или ник:
Комментарий: