Added README.pod for Github.
parent
5b4d2e2be1
commit
6f069681bb
|
@ -0,0 +1,135 @@
|
|||
=head1 Apache::Authn::Redmine
|
||||
|
||||
Redmine - a mod_perl module to authenticate webdav subversion users
|
||||
against redmine database
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
This module allow anonymous users to browse public project and
|
||||
registred users to browse and commit their project. Authentication is
|
||||
done against the redmine database or the LDAP configured in redmine.
|
||||
|
||||
This method is far simpler than the one with pam_* and works with all
|
||||
database without an hassle but you need to have apache/mod_perl on the
|
||||
svn server.
|
||||
|
||||
=head1 INSTALLATION
|
||||
|
||||
For this to automagically work, you need to have a recent reposman.rb
|
||||
(after r860) and if you already use reposman, read the last section to
|
||||
migrate.
|
||||
|
||||
Sorry ruby users but you need some perl modules, at least mod_perl2,
|
||||
DBI and DBD::mysql (or the DBD driver for you database as it should
|
||||
work on allmost all databases).
|
||||
|
||||
On debian/ubuntu you must do :
|
||||
|
||||
aptitude install libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl
|
||||
|
||||
If your Redmine users use LDAP authentication, you will also need
|
||||
Authen::Simple::LDAP (and IO::Socket::SSL if LDAPS is used):
|
||||
|
||||
aptitude install libauthen-simple-ldap-perl libio-socket-ssl-perl
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
## This module has to be in your perl path
|
||||
## eg: /usr/lib/perl5/Apache/Authn/Redmine.pm
|
||||
PerlLoadModule Apache::Authn::Redmine
|
||||
<Location /svn>
|
||||
DAV svn
|
||||
SVNParentPath "/var/svn"
|
||||
|
||||
AuthType Basic
|
||||
AuthName redmine
|
||||
Require valid-user
|
||||
|
||||
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
|
||||
PerlAuthzHandler Apache::Authn::Redmine::authz_handler
|
||||
|
||||
## for mysql
|
||||
RedmineDSN "DBI:mysql:database=databasename;host=my.db.server"
|
||||
## for postgres
|
||||
# RedmineDSN "DBI:Pg:dbname=databasename;host=my.db.server"
|
||||
|
||||
RedmineDbUser "redmine"
|
||||
RedmineDbPass "password"
|
||||
|
||||
## Authorization where clause (fulltext search would be slow and database dependant).
|
||||
## Default: none
|
||||
# RedmineDbWhereClause "and members.role_id IN (1,2)"
|
||||
|
||||
## SCM transport protocol, used to detecte write requests
|
||||
## Valid values: dav-svn, git-smart-http
|
||||
## Default: dav-svn
|
||||
# RedmineSCMProtocol dav-svn
|
||||
|
||||
## Credentials cache size
|
||||
## Default: 0 (disabled)
|
||||
# RedmineCacheCredsMax 50
|
||||
|
||||
## Credentials cache expiration delay in seconds
|
||||
## Set to 0 to disable expiration.
|
||||
## Default: 5 minutes (300)
|
||||
# RedmineCacheCredsMaxAge 60
|
||||
|
||||
## Check authorizations against a specific project.
|
||||
## Default: none (extract project from location)
|
||||
# RedmineProject myproject
|
||||
|
||||
## Permissions to check for "read" access.
|
||||
## You can add several permissions, user is granted access if *at least* one them exists.
|
||||
## Default: :browse_repository
|
||||
# RedmineReadPermissions :browse_repository
|
||||
|
||||
## Permissions to check for "write" access.
|
||||
## You can add several permissions, user is granted access if *at least* one them exists.
|
||||
## Default: :commit_access
|
||||
# RedmineWritePermissions :commit_access
|
||||
|
||||
## Deny anonymous access.
|
||||
## Affects both authentication and authorization
|
||||
## Default: Off
|
||||
# RedmineDenyAnonymous On
|
||||
|
||||
## Deny non-member access to projects.
|
||||
## Default: Off
|
||||
# RedmineDenyNonMember On
|
||||
|
||||
## Administrators have super-powers
|
||||
## Default: On
|
||||
# RedmineSuperAdmin Off
|
||||
|
||||
</Location>
|
||||
|
||||
To be able to browse repository inside redmine, you must add something
|
||||
like that :
|
||||
|
||||
<Location /svn-private>
|
||||
DAV svn
|
||||
SVNParentPath "/var/svn"
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
# only allow reading orders
|
||||
<Limit GET PROPFIND OPTIONS REPORT>
|
||||
Allow from redmine.server.ip
|
||||
</Limit>
|
||||
</Location>
|
||||
|
||||
and you will have to use this reposman.rb command line to create repository :
|
||||
|
||||
reposman.rb --redmine my.redmine.server --svn-dir /var/svn --owner www-data -u http://svn.server/svn-private/
|
||||
|
||||
=head1 MIGRATION FROM OLDER RELEASES
|
||||
|
||||
If you use an older reposman.rb (r860 or before), you need to change
|
||||
rights on repositories to allow the apache user to read and write
|
||||
S<them :>
|
||||
|
||||
sudo chown -R www-data /var/svn/*
|
||||
sudo chmod -R u+w /var/svn/*
|
||||
|
||||
And you need to upgrade at least reposman.rb (after r860).
|
||||
|
||||
=cut
|
Loading…
Reference in New Issue