Can't commit to SVN configured in root of Apache named virtual host
При попытке комита в репозиторий с таким вот конфигом:
# SVN in root of virtual host
<VirtualHost x.y.z.s:pppp>
ServerName svn.domain.com
ServerAdmin info@svn.domain.com
DocumentRoot /home/admin/web/svn.domain.com/public_html
ErrorLog /var/log/httpd/domains/svn.domain.com.error.log
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /home/admin/web/svn.domain.com/public_svn
AuthType Basic
AuthName "Restricted Area"
Deny from all
AuthUserFile /home/admin/web/svn.domain.com/conf/htpasswd
Satisfy Any
Require valid-user
</Location>
<Files ~>
Order allow,deny
Allow from all
Satisfy all
</Files>
</VirtualHost>
будет происходить ошибка. В логах Apache:
(20014)Internal error: Can't open file '/home/admin/web/svn.domain.com/public_svn/error/format': No such file or directory
К проблеме могут приводить несколько причин:
Так что, чтобы избавится от проблемы можно изменить location c / на /svn
Или удалить все кастомные эрроры (ErrorDocument 403 /error/403.html) которые могут быть применены к этому виртуальному хосту. Как минимум из конфигов httpd.conf и localized-error-pages.
Shortly for english-speaking users
If you have errors with committing to svn (mod_svn) configured in root of apache virtual host:
(20014)Internal error: Can't open file '/home/admin/web/svn.domain.com/public_svn/error/format': No such file or directory
# SVN in root of virtual host
<VirtualHost x.y.z.s:pppp>
ServerName svn.domain.com
ServerAdmin info@svn.domain.com
DocumentRoot /home/admin/web/svn.domain.com/public_html
ErrorLog /var/log/httpd/domains/svn.domain.com.error.log
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /home/admin/web/svn.domain.com/public_svn
AuthType Basic
AuthName "Restricted Area"
Deny from all
AuthUserFile /home/admin/web/svn.domain.com/conf/htpasswd
Satisfy Any
Require valid-user
</Location>
<Files ~>
Order allow,deny
Allow from all
Satisfy all
</Files>
</VirtualHost>
будет происходить ошибка. В логах Apache:
(20014)Internal error: Can't open file '/home/admin/web/svn.domain.com/public_svn/error/format': No such file or directory
К проблеме могут приводить несколько причин:
- SVNParentPath находится внутри DocumentRoot. Лучше разнести их в разные папки одного уровня.
- Наличие ErrorDocument XXX /pathtofile, в том числе в главных конфигах Apache.
Так что, чтобы избавится от проблемы можно изменить location c / на /svn
Или удалить все кастомные эрроры (ErrorDocument 403 /error/403.html) которые могут быть применены к этому виртуальному хосту. Как минимум из конфигов httpd.conf и localized-error-pages.
Shortly for english-speaking users
If you have errors with committing to svn (mod_svn) configured in root of apache virtual host:
(20014)Internal error: Can't open file '/home/admin/web/svn.domain.com/public_svn/error/format': No such file or directory
- You just need remove all affecting this vhost custom errors - ErrorDocument XXX /pathtofile
You can find them in httpd.conf etc. - Don't set SVNParentPath inside DocumentRoot
Коментарі
Дописати коментар