== Windows Installation instructions for SVN w/TRAC == Versions used in this example (Available 2004-05-13): * Apache 2.0.49 * Python 2.3.3 * SVN 1.0.2 * SQLite 2.8.13 * PySQLite 0.5.0-py2.3 * Trac 0.6.1 Email [mailto:Daragh@i2i-Tech.com Daragh Fitzpatrick] for more info, or if you changed this page (since this Wiki does not support watch/subscription) ---- Note: This example installs to D: === Arm Yourself === 1. Get & Read book http://svnbook.red-bean.com === Install SubVersioN Pre-Requisites === 2. Install Python http://www.python.org [[br]]Add D:\Python to path 3. Install Apache http://httpd.apache.org 4. Install Subversion http://subversion.tigris.org === Create Repository === 5. Create Repository Directory {{{ D:\> md d:\svn }}} 6. Create Repository {{{ D:\> svnadmin create d:\svn\repo1 }}} 7. Create skeleton repository structure in d:\temp\project Example: {{{ /project /vendor /tags /trunk files /projectname /branches /tags /trunk files }}} 8. Build Repository Tree {{{ D:\> svn import d:\temp\project file:///d:/svn/repo1 -m "Initial Load" }}} 9. Create local sandbox {{{ D:\> svn checkout file:///d:/svn/repo1 d:\project }}} === Configure Apache === 10. Copy files {{{ D:\> copy d:\progra~1\subver~1\httpd\*.* d:\progra~1\apache~1\apache2\modules }}} 11. Create password file (w/user 'admin') {{{ D:\> d:\progra~1\apache~1\apache2\bin\htpasswd -cm d:\svn\.htaccess admin }}} 12. Configure Apache (edit httpd.conf) 12.1. Restrict access/lockdown as appropriate 12.2. Add Modules to httpd.conf 12.1.1. Uncomment: {{{ LoadModule dav_module modules/mod_dav.so }}} 12.1.2. Add (after): {{{ # Subversion LoadModule dav_svn_module modules/mod_dav_svn.so }}} 12.3. Add location root for multiple repositories {{{ # Subversion DAV svn # any /svn/foo URL will map to a repository D:/svn/foo SVNParentPath D:/svn AuthType Basic AuthName "Subversion repository" AuthUserFile d:/svn/.htaccess Require valid-user }}} 13. Restart your MACHINE 14. Test your install of Subversion http://[hostname]:80/svn/repo1 Phew! Subversion is installed and working - Grab a beverage for yourself. ---- === Setup Users === 15. Add users to password file {{{ D:\> d:\progra~1\apache~1\apache2\bin\htpasswd -m d:\svn\.htaccess user }}} === Install TRAC Prerequisites === 16. Install Subversion Python Bindings (Get from same download page as Subversion) [[br]]Copy libsvn and svn directories to D:\Python23\Lib 17. Install SQLite http://www.sqlite.org [[br]]Copy sqlite.exe to D:\Program Files\SQLite 18. Install PySQLite http://pysqlite.sourceforge.net 19. Install TRAC http://www.edgewall.com/products/trac/ === Fix a few things === 20. (BUG) Edit first line of D:\Python23\Scripts\trac-admin to have: {{{ #!D:\Python23\python.exe }}} 21. (BUG) Edit first line of D:\Python23\share\trac\cgi-bin\trac.cgi to have: {{{ #!D:\Python23\python.exe }}} 22. Copy CGI {{{ D:\> copy d:\python23\share\trac\cgi-bin\trac.cgi d:\progra~1\apache~1\apache2\cgi-bin }}} 23. (BUG) not able to run trac-admin initenv... Not available in 0.6.1 === Configure TRAC DB === 24. Run trac-admin {{{ D:\Python23\Scripts> python trac-admin d:/svn/trac.db }}} 25. Initialize DB {{{ Trac [d:/svn/trac.db]> initdb }}} {{{ Enter project name Project Enter path to repository d:\svn\repo1 Enter path to templates d:\Python23\share\trac\templates (BUG) Note error message regarding wiki-pages }}} 26. (BUG) Load Wiki {{{ Trac [d:/svn/trac.db]> wiki load d:/python23/share/trac/wiki-default }}} 27. Add administrative permissions {{{ Trac [d:/svn/trac.db]> permission add admin TICKET_ADMIN Trac [d:/svn/trac.db]> permission add admin REPORT_CREATE Trac [d:/svn/trac.db]> permission add admin REPORT_MODIFY Trac [d:/svn/trac.db]> permission add admin REPORT_DELETE Trac [d:/svn/trac.db]> permission add admin REPORT_ADMIN Trac [d:/svn/trac.db]> permission add admin WIKI_DELETE Trac [d:/svn/trac.db]> permission add admin WIKI_ADMIN Trac [d:/svn/trac.db]> permission add admin CONFIG_VIEW Trac [d:/svn/trac.db]> permission add admin TRAC_ADMIN }}} === Add TRAC to Apache === 28. Edit httpd.conf: Add: (copy this - there's a typo in Edgewall's version) {{{ # TRAC Alias /trac "D:/Python23/share/trac/htdocs" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetEnv TRAC_DB "d:/svn/trac.db" AuthType Basic AuthName "Project" AuthUserFile D:/svn/.htaccess Require valid-user }}} 29. Restart Apache 30. Hold your breath, test TRAC install http://[hostname]:80/cgi-bin/trac.cgi === Finally... === 31. Install SVN Clients as necessary (try [http://rapidsvn.tigris.org Rapid SVN] & [http://tortoisesvn.tigris.org/ Tortoise SVN]) 32. Don't forget to lock down the security on the box! 33. Now go get a *real* drink ---- Email [mailto:Daragh@i2i-Tech.com Daragh Fitzpatrick] with any questions! ----