====== 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.