This shows you the differences between two versions of the page.
archive:trac_svn [2011/09/11 21:11] walter |
archive:trac_svn [2021/05/02 21:36] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | 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 | ||
- | |||
- | ====== 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) | ||
- | |||
- | <file|/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 ## | ||
- | |||
- | </file> | ||
- | 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 ===== | ||
- | |||
- | <file|/var/lib/trac/myproject/conf/trac.ini> | ||
- | [trac] | ||
- | authz_file = /var/svn/conf/SVNAccessFile | ||
- | autgz_module_name = myproject | ||
- | </file> | ||
- | |||
- | ===== svn write access ===== | ||
- | <file|/var/svn/conf/SVNAccessFile> | ||
- | [myproject:/] | ||
- | myuser1 = rw | ||
- | myuser2 = rw | ||
- | </file> | ||
- | |||
- | ====== 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. |