Project

General

Profile

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 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
brAdd 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
<Location /svn>
  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
</Location>

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)
brCopy libsvn and svn directories to D:\Python23\Lib

17. Install SQLite
http://www.sqlite.org
brCopy 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" 
<Directory "D:/Python23/share/trac/htdocs">
  Options Indexes [[MultiViews]]
  [[AllowOverride]] None
  Order allow,deny
  Allow from all
</Directory>

<Location "/cgi-bin/trac.cgi">
  [[SetEnv]] TRAC_DB "d:/svn/trac.db" 
</Location>

<Location "/cgi-bin/trac.cgi/login">
  [[AuthType]] Basic
  [[AuthName]] "Project" 
  [[AuthUserFile]] D:/svn/.htaccess
  Require valid-user
</Location>

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 Rapid SVN & Tortoise SVN)

32. Don't forget to lock down the security on the box!

33. Now go get a real drink
----
Email [mailto: Daragh Fitzpatrick] with any questions!
----