Redmine SVN Issues
Added by James Sweet over 13 years ago
Hi, I have setup a nginx front end with passenger to host redmine on my server and have a reverse proxied Apache running to serve my SVN content. I am trying to get it so that the authentications for the SVN projects match the redmine authentications.
If I setup Apache to use the Perl module and try to connect I can always checkout a project, even if its private, and I cant commit, giving the error "Can't open file '/srv/rcs/svn/error/format'".
As that didn't seem to work and I couldn't find any solutions to solve that I tried setting up Apache to do authentication with redmine users via LDAP, with that setup i can log into redmine itself with a user but when i try and checkout any project it says that it is forbidden and the error log contains "client denied by server configuration".
I am running out of ideas on how to fix this, does anyone have any?
Replies (4)
RE: Redmine SVN Issues
-
Added by Felix Schäfer over 13 years ago
James Sweet wrote:
If I setup Apache to use the Perl module and try to connect I can always checkout a project, even if its private,
What does your config look like?
and I cant commit, giving the error "Can't open file '/srv/rcs/svn/error/format'".
That probably means the user apache runs as doesn't have write (or even read) permission to that file.
RE: Redmine SVN Issues
-
Added by James Sweet over 13 years ago
My apache config is as follows:
<VirtualHost *:9001> RPAFenable On RPAFproxy_ips 127.0.0.1 RPAFsethostname On RPAFheader X-Forwarded-For ServerName svn.***********.com ServerAlias svn.***********.com DocumentRoot /srv/rcs/svn/apache_svn ErrorLog /srv/rcs/svn/log/error.log TransferLog /srv/rcs/svn/log/access.log PerlLoadModule Apache::Redmine PerlLoadModule Authen::Simple::LDAP <Location /> DAV svn SVNParentPath "/srv/rcs/svn" #Order deny,allow #Deny from all #Satisfy any AuthType Basic AuthName "SVN Repository" Require valid-user PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler # <Limit GET PROPFIND OPTIONS REPORT> # Require valid-user # Allow from 127.0.0.1 # Satisfy any # </Limit> # <LimitExcept GET PROPFIND OPTIONS REPORT> # Require valid-user # </LimitExcept> RedmineDSN "DBI:mysql:database=redmine;host=localhost" RedmineDbUser "redmine" RedmineDbPass "*******" </Location> </VirtualHost>
I don't understand how that error comes about as the repository I am trying to access is /srv/rcs/svn/test and it works if I don't have the redmine authentication.
RE: Redmine SVN Issues
-
Added by Felix Schäfer over 13 years ago
Ah, the error above is from the client, not the server? It's strange anyway that you get an error for /srv/rcs/svn/error
when trying to access /srv/rcs/svn/test
.
Anyway, as you seem to be proxying stuff, a short word on how the perl module tries to infer the project the repository you are trying to access belongs to: the perl module gets the path of the URI, gets the Location from the apache config, removes it from the front of the path part, and the next path/directory part is matched against the project identifiers in your redmine installation. Hence in your case, if you want to access a repository "test", its URI has to be "http(s)://someho.st/test" exactly, and the user must have the correct permissions in the project with the identifier "test".
RE: Redmine SVN Issues
-
Added by James Sweet over 13 years ago
Hi, The error itself is actually from the server logs but for some reason as soon as I activate the redmine stuff it seems to test something and return error as the repository rather than the specified one.
I am using the exact URI when trying to checkout on another computer but it does not ask about permission, it just bails saying that it is forbidden.
Do you know where in the perl module the code might change the repository path as that seems to be where something is going wrong.