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

Может ли Apache на CentOS работать с репозиторием Subversion, расположенным вне его дерева корневых каталогов документов?

Если да, то как?

Это связано с Вопрос 43805. Если репо правильно chmoded, но за пределами дерева корневых каталогов документов Apache жалуется, что не может получить доступ к format файл в корне репо. Если репо находится где-то в дереве корневого каталога документов, все работает.

Конечно, возможно, у меня есть настройка, аналогичная Дэвиду (моя - настройка по умолчанию для Centos):

DocumentRoot /var/www/html/

со следующим в моем /etc/httpd/conf.d/subversion.conf файл (без комментариев):

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
  DAV svn
  SVNParentPath /var/www/svn

  # Limit write permission to list of valid users.
  <LimitExcept GET PROPFIND OPTIONS REPORT>
     # Require SSL connection for password protection.
     # SSLRequireSSL

     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /etc/svn-auth-file
     Require valid-user
  </LimitExcept>
</Location>

У вас есть SELinux в принудительном исполнении? Возможно, вам потребуется правильно установить контекст файлов в вашем / var / www / svn месте.

В sestatus Команда покажет вам, находитесь ли вы в принудительном режиме или нет. Вы можете (временно) использовать setenforce 0 , чтобы переключиться с принудительного на разрешающий и попробуйте еще раз, чтобы проверить, не в этом ли проблема.

Вы хотите, чтобы метка для файла формата была system_u:object_r:httpd_sys_content_t:s0 (используйте ls -Z чтобы увидеть ярлыки SELinux для файлов). Вы можете исправить это, используя restorecon -R /var/www/svn.

Для дальнейшего чтения о SELinux я отсылаю вас к Руководство пользователя Fedora SELinux

Это прекрасно. Вы устанавливаете путь с помощью параметров SVNPath или SVNParentPath. Вы действительно должны иметь их вне корня вашего документа, так как они не предназначены для доступа таким образом.

У нас есть:

DocumentRoot /var/www/svn/ 

<Location /svn>
    SVNParentPath /var/svn
    DAV svn
</Location>