apachemodulecentoscpanelmod-dav-svn

mod_rewrite prevents mod_DAV_SVN access, CPanel CentOS server


I followed the tutorial on http://sven.webiny.com/subversion-on-cpanel-3-with-centos-55-and-easyapache-32/ to allow mod_dav_svn (HTTP) access to SVN Repositories on my server.

Everything works fine, But the problem is on those hosts having .htaccess mod_rewrite on their web roots (like Wordpress for example), The mod_rewrite supersedes DAV_SVN and location directive (of Apache Conf.), Which is boring and stops me from being able to make /svn location use DAV_SVN.

A target example site is abiusx.com which doesn't always work on http://abiusx.com/svn


Solution

  • Well the answer was, you can't put another handler on roots of your virtual host, unless you specify all the error handler documents:

    <IfModule dav_svn_module>
    <IfModule authz_svn_module>
    <VirtualHost 127.0.1.1 178.162.154.252 178.162.154.252:443>
           ServerName abiusx.com
           SSLEngine on
        SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
        SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
    ErrorDocument 400 default
        ErrorDocument 401 default
        ErrorDocument 403 default
        ErrorDocument 404 default
        ErrorDocument 405 default
        ErrorDocument 408 default
        ErrorDocument 410 default
        ErrorDocument 411 default
        ErrorDocument 412 default
        ErrorDocument 413 default
        ErrorDocument 414 default
        ErrorDocument 415 default
        ErrorDocument 500 default
        ErrorDocument 501 default
        ErrorDocument 502 default
        ErrorDocument 503 default
    
    <Location />
        Options -All
        DAV svn
        SVNParentPath /home/abiusx/svn/
    
        AuthzSVNAccessFile /home/abiusx/svn/conf/authz
        Satisfy Any
        Require valid-user
        AuthType Basic
        AuthName "AbiusX Subversion"
        AuthUserFile /home/abiusx/svn/conf/.htpasswd
        SVNAutoversioning on 
    </Location>
    </VirtualHost> 
    
    
    ## valid certificate
    </IfModule>
    </IfModule>