====== SVN/Trac ======
====== Notice ======
SVN and Trac hosting has been discontinued, however the ACM offers git hosting to members via
https://acm.cs.uic.edu/git
Which includes project wiki pages and other features that are typical to trac. If you have an existing SVN repo please use an available 'svn to git' conversion tools and switch if you wish publicly host your code with us. You can still use and create SVN repos local to your user account. **However**, there will be no assistance provided to host them in a shared manner.
===== The documentation below is for legacy and reference purposes only =====
----
For a list of trac repos:
https://acm.cs.uic.edu/trac/
for a list of svn repos:
https://acm.cs.uic.edu/svn/
your credentials are standard AD credentials
====== Server Setup =====
==== prerequisites ====
Have apache with ssl ready.
Have ldap ready.==
Install trac, and svn.
==== Configure apache ====
Only do this once. (Not once per project, only once per server)
## trac/svn section -- hef ##
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"
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
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"
require valid-user
## end trac/svn section ##
If you are not using AD for ldap, your ldap settings and BindDN will look wildly different.
===== Creating a new project =====
for sysadmins:
==== create svn repo and trac project page ====
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
==== adding trac access ====
[trac]
authz_file = /var/svn/conf/SVNAccessFile
autgz_module_name = myproject
==== svn write access ====
[myproject:/]
myuser1 = rw
myuser2 = rw
===== Future stuff =====
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.