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