Monday, September 21, 2015

apache 2.2 - mod_dav_svn not allowing authenticated users



I am running a CentOS 6.3 server along with a custom compile apache 2.4.3 (compile line below) and custom compiled subversion 1.7.8 (again, compile line below).



I have mod_dav_svn set up, and it half works. If I go to svn.domain.com/svn it asks me for my username and password. I can log in fine (it only asks me once) and I can browse through the repositories no problem. If I then go to tortoisesvn on a windows machine and try to check outa repository (svn.domain.com/svn/testrepo for example) the login window pops up. I type my credentials in and hit save and then ok. The window pops up again. I can keep typing my credentials in over and over, and it doesn't do anything (it acts like my username and password are wrong but I know they aren't). Nothing is showing up in the error log, and nothing weird is showing up in the access log.
If I disable the authentication, everything works perfectly.
Halp!




EDIT: I did a "chmod -R 777 /u01/svn" to see if that fixed the problem. No dice. The svnauth file is also 777 for the same reason.






ServerAdmin tony@domain.om
DocumentRoot "/u01/www/vhosts/svn"
ServerName svn.domain.com
ErrorLog "logs/svn.domain.com-error_log"

CustomLog "logs/svn.domain.com-access_log" common

DAV svn
SVNParentPath /u01/svn/
SVNListParentPath On
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/apache/conf/svnauth
Require valid-user







Apache



"./configure" \
"--prefix=/usr/local/apache" \
"--enable-ssl" \

"--enable-rewrite=shared" \
"--enable-status=shared" \
"--enable-info=shared" \
"--enable-so"


Subversion



'./configure' \
'--with-serf' \

'--enable-ssl' \
'--prefix=/usr/local/subversion' \
'--with-apr=/usr/local/apache/bin/apr-1-config' \
'--with-apr-util=/usr/local/apache/bin/apu-1-config'




[pritchea@server ~]$ ls -l /u01/svn/
total 12

drwxrwxrwx 6 pritchea wheel 4096 Jan 24 04:44 repo1
drwxrwxrwx 6 pritchea wheel 4096 Jan 15 03:20 repo2
drwxrwxrwx 6 pritchea wheel 4096 Mar 7 20:13 testrepo
[pritchea@server ~]$ ls -l /u01/svn/*
/u01/svn/repo1:
total 24
drwxrwxrwx 2 pritchea wheel 4096 Jan 24 04:44 conf
drwxrwxrwx 6 pritchea wheel 4096 Jan 24 04:51 db
-rwxrwxrwx 1 pritchea wheel 2 Jan 24 04:44 format
drwxrwxrwx 2 pritchea wheel 4096 Jan 24 04:44 hooks

drwxrwxrwx 2 pritchea wheel 4096 Jan 24 04:44 locks
-rwxrwxrwx 1 pritchea wheel 229 Jan 24 04:44 README.txt

/u01/svn/repo2:
total 24
drwxrwxrwx 2 pritchea wheel 4096 Jan 15 03:20 conf
drwxrwxrwx 6 pritchea wheel 4096 Feb 12 02:26 db
-rwxrwxrwx 1 pritchea wheel 2 Jan 15 03:20 format
drwxrwxrwx 2 pritchea wheel 4096 Jan 15 03:20 hooks
drwxrwxrwx 2 pritchea wheel 4096 Jan 15 03:20 locks

-rwxrwxrwx 1 pritchea wheel 229 Jan 15 03:20 README.txt

/u01/svn/testrepo:
total 24
drwxrwxrwx 2 pritchea wheel 4096 Mar 7 20:13 conf
drwxrwsrwx 6 pritchea wheel 4096 Mar 7 20:13 db
-rwxrwxrwx 1 pritchea wheel 2 Mar 7 20:13 format
drwxrwxrwx 2 pritchea wheel 4096 Mar 7 20:13 hooks
drwxrwxrwx 2 pritchea wheel 4096 Mar 7 20:13 locks
-rwxrwxrwx 1 pritchea wheel 229 Mar 7 20:13 README.txt


Answer



Get rid of the DocumentRoot directive. It's not valid with DAV svn.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...