Forum archive
Redmine Automatic SVN Repo Creation and User Access
I realize this has been discussed a fair amount. Unfortunately I haven't been able to get it fully functioning. In essence I want an out of the box solution in which changes to Redmine automatically create SVN repositories for projects and the addition of new users grant access to those repositories. To do this, I have tried to follow the following posts:
Sorry, this one is cached. As of yesterday the post was not available.
http://webcache.googleusercontent.com/search?q=cache:Mpb5vroCKMIJ:www.tu...
This points to this post from Redmine: http://www.redmine.org/projects/redmine/wiki/HowTo_Automate_repository_c...
Okay, that works. Now for the user access to those repositories. In other words, the admin shouldn't have to jump to a command line to update passwd or auth. This should come from the database. To that end, I found this post:
http://www.redmine.org/projects/redmine/wiki/Repositories_access_control...
I modified file to reflect my turnkey settings like this (changes are underlined):
# /svn location for users
PerlLoadModule Apache::Redmine
<Location /svn>
DAV svn
# modifying original to point to turnkey redmine parent
#SVNParentPath "/var/svn"
SVNParentPath "/srv/repos/svn"
Order deny,allow
Deny from all
Satisfy any
# If a client tries to svn update which involves updating many files,
# the update request might result in an error Server sent unexpected
# return value (413 Request Entity Too Large) in response to REPORT
# request,because the size of the update request exceeds the limit
# allowed by the server. You can avoid this error by disabling the
# request size limit by adding the line LimitXMLRequestBody 0
# between the <Location...> and </Location> lines.
LimitXMLRequestBody 0
# Only check Authentication for root path, nor again for recursive
# folder.
# Redmine core does only permit access on repository level, so this
# doesn't hurt security. On the other hand it does boost performance
# a lot!
SVNPathAuthz off
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
AuthType Basic
AuthName "Redmine SVN Repository"
#read-only access
<Limit GET PROPFIND OPTIONS REPORT>
Require valid-user
# modifying original to my setup
# Allow from redmine.server.ip
Allow from 127.0.0.1
# Allow from another-ip
Satisfy any
</Limit>
# write access
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
## for mysql
# modified original to meet my setup
#RedmineDSN "DBI:mysql:database=databasename;host=my.db.server"
RedmineDSN "DBI:mysql:database=Redmine_production;host=127.0.0.1"
## for postgres
# RedmineDSN "DBI:Pg:dbname=databasename;host=my.db.server"
## for SQLite3
# RedmineDSN "DBI:SQLite:dbname=database.db"
# created test users to mysql database with "SELECT" access matching below
RedmineDbUser "redmine"
RedmineDbPass "password"
</Location>Now I need to modify the conf file in the repository to require password read/write access. Unfortunately, whatever I try, I cannot get access to the repo to commit. So I clearly have something configured incorrectly.
Can anyone clear this up for me please? I'm sure it will be helpful to others as well.
As requested by others previously, any way to make this the default behavior of TKL Redmine?
Thanks in advance!
Getting these integrations just right can indeed be painful. Often the only way to find something that works is to make the best guesses and just iterate through series of trials and errors. Then you capture the solution into future versions of the integration. It can be dirty work, but on the flip side, gradually eliminating these sort of paper cuts is pretty much one of the main justifications for having a project like TurnKey to begin with. We still need to figure out the integration details though.