This is an old revision of the document!
For a list of trac repos: https://acm.cs.uic.edu/trac/
SVN Server No Longer Active - Talk to admin for if you are in need of an SVN repo for a list of svn repos: https://acm.cs.uic.edu/svn/
your credentials are standard AD credentials
Have apache with ssl ready. Have ldap ready. Install trac, and svn.
Only do this once. (Not once per project, only once per server)
/etc/apache/site-available/acm.cs.uic.edu-secure
## trac/svn section -- hef ## <Location "/trac"> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/lib/trac PythonOption TracUriRoot /trac SetEnv TRAC_ENV_PARENT_DIR "/var/lib/trac" PythonOption PYTHON_EGG_CACHE "/var/www/acm.cs.uic.edu/egg-cache" </Location> <LocationMatch "/trac/[^/]+/login"> AuthType Basic AuthName "Trac" AuthBasicProvider "ldap" AuthLDAPURL "ldap://acm.cs:3268/DC=acm,DC=cs?sAMAccountName?sub?(objectClass=user)" AuthLdapBindDN apacheacm@acm.cs AuthLDAPBindPassword "YourLdapBindPassword" require valid-user </LocationMatch> <Location /svn> DAV svn SVNParentPath /var/svn/repos SVNListParentPath on AuthzSVNAccessFile /var/svn/conf/SVNAccessFile AuthType Basic AuthName "Trac" AuthBasicProvider "ldap" AuthLDAPURL "ldap://acm.cs:3268/DC=acm,DC=cs?sAMAccountName?sub?(objectClass=user)" AuthLdapBindDN apacheacm@acm.cs AuthLDAPBindPassword "YourLdapBindPassword" <LimitExcept GET PROPFIND OPTIONS REPORT> require valid-user </LimitExcept> </Location> ## end trac/svn section ##
for sysadmins:
svnadmin create --fs-type fsfs /var/svn/repos/myproject trac-admin /var/lib/trac/myproject initenv chown -R www-data /var/lib/trac/myproject trac-admin /var/lib/trac/myproject permission add myuser TRAC_ADMIN
/var/lib/trac/myproject/conf/trac.ini
[trac] authz_file = /var/svn/conf/SVNAccessFile autgz_module_name = myproject
/var/svn/conf/SVNAccessFile
[myproject:/] myuser1 = rw myuser2 = rw
trac respects AuthzSVNAccessFile but does not manage it… yet.
So I beat around for a while and found this ticket: http://trac.edgewall.org/ticket/5257 Maybe someday sakkos and I will actually write that plugin.