Svn – Subversion permissions problem

apache-2.2mod-dav-svnpermissionssvn

I have set up a subversion server through Apache http (mod_dav_svn). I created a Subversion project at /usr/local/svn. I can check out the project via svn co http://host/svn. However, when I try to commit, I get this error:

svn: Can't create directory '/usr/local/svn/db/transactions/0-1.txn': Permission denied.

I tried changing the owner and permissions of /usr/local/svn (the repository) as follows:

chown -R apache.apache /usr/local/svn
chmod -R g-w /usr/local/svn

Unfortunately this does not solve the problem. Please help!

Best Answer

I have almost the same setup and to make this work for all the application developers I used the following permissions

drwxr-xr-x 7 www-data www-data

my www-data user/group = your apache user/group

I also added the applications developers to the group www-data.

By the way, this is in my apache conf file (this keeps things more secure):

  <Location /somesite>
     DAV svn
     SVNParentPath /home/www/svn/somesite
     SVNListParentPath On
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /home/www/svn/.htpasswd
     <Limit GET PROPFIND OPTIONS REPORT>
        Require valid-user               
     </Limit>
  </Location>

Test first that you can commit locally on your server and then remotely.