Edgewall Software

Changes between Initial Version and Version 1 of Trac0.9/TracOnWindows


Ignore:
Timestamp:
Dec 14, 2006, 11:39:31 AM (17 years ago)
Author:
Christian Boos
Comment:

Copied from TracOnWindows@190, modified to state that this is about 0.9

Legend:

Unmodified
Added
Removed
Modified
  • Trac0.9/TracOnWindows

    v1 v1  
     1= Trac on Windows Installation & Upgrade Guide =
     2----
     3'''Note: This is about Trac [milestone:0.9]'''
     4----
     5What follows are specific instructions for installing, setting up, and upgrading Trac on Windows.
     6
     7Choose between these options of installing Trac:
     8
     9 * [wiki:TracOnWindowsStandalone Trac running without Apache or IIS] using [source:trunk/README.tracd#latest tracd] and svnserve is the simplest setup. It is stripped for all optional dependencies. It might be taken as a first step to get things running. You should then be able to pick the missing steps from the Apache CGI based setup found on this page as a second step.
     10
     11 * The 'traditional' [wiki:TracOnWindows#InstallationofSubversionandTracservedviaApacheCGI Apache CGI based setup] is described just below.
     12
     13 * Also, after installing the CGI-based setup, you may want to [wiki:TracModPython switch to using mod_python] which speeds up Trac's response times considerably.
     14
     15If you are trying to upgrade to Trac 0.9, [wiki:TracOnWindows#UpgradingfromTrac0.84to0.9beta1onWindows see the instructions] at the end of this file.
     16
     17== Installation of Subversion and Trac served via Apache CGI ==
     18
     19Versions used in this example (Feb 2006):
     20 * Trac 0.9.x
     21 * [http://www.clearsilver.net Clearsilver 0.9.14 binaries]
     22 * [http://www.python.org Python 2.3.5]
     23 * [http://httpd.apache.org/ Apache 2.0.54 or 2.0.55]
     24 * [http://subversion.tigris.org Subversion 1.2.x]
     25 * [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91&filter=_py.zip  Python 2.3 Bindings for subversion 1.2.x]
     26 * [http://initd.org/pub/software/pysqlite/releases/1.1/1.1.6/pysqlite-1.1.6.win32-py2.3.exe pysqlite-1.1.6.win32-py2.3]
     27 * [http://www.sqlite.org SQLite 3.2.2] (optional)
     28 * [http://www.egenix.com/files/python/eGenix-mx-Extensions.html eGenix.com mx Extensions for Python] ''(only required if using PostgreSQL)''
     29 * [http://sourceforge.net/project/showfiles.php?group_id=38414 docutils 0.3.9] (optional)
     30
     31'''Please update this Wiki page if you find it is different from your experience.'''
     32If you have any problems, I would also suggest posting the solutions here for the common good.
     33Please reference the version number you are having difficulties with, but assume that readers will be using the latest version (and issues from previous versions can disappear into wiki history)
     34Contributors: please add your name to the list at the end - Thanks in advance!
     35
     36''For Subversion issues on Windows see the [http://tortoisesvn.tigris.org TortoiseSVN] site, particularly the server section.'' 
     37
     38''Trac running on Microsoft's Internet Information Server (IIS) is __highly__ experimental. See #697.''
     39
     40=== Learn Subversion ===
     411. Get & Read [http://svnbook.red-bean.com/ Version Control with Subversion ]
     42
     43=== Install Subversion Pre-Requisites ===
     442. Install version 2.0 of [http://httpd.apache.org/ Apache ] (If you are running IIS, shut it down before installing Apache, and change its status to 'Manual' or 'Disable'). This '''must''' be version '''2.0''' of the apache server and not version 2.2 or the apache modules shipped with the latest subversion (1.3.2 at the time of writing) will not work!
     45
     463. Install [http://subversion.tigris.org/ Subversion ]
     47 * [http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx How to Install Subversion on Windows]
     48
     49Add C:\svn\bin to the path
     50
     51Note: Be sure to have the MSVCP60.DLL in your PATH, otherwise Apache will refuse to start with the SVN module.
     52
     53=== Create Repository ===
     544. Create repository directory
     55{{{
     56C:\> md c:\svn
     57}}}
     58
     595. Create repository
     60{{{
     61C:\> svnadmin create c:\svn\repo1
     62}}}
     63
     646. Create skeleton repository structure in c:\temp\project
     65  Example:
     66{{{
     67/project
     68  /vendor
     69    /tags
     70    /trunk
     71      files
     72  /projectname
     73    /branches
     74    /tags
     75    /trunk
     76      files
     77}}}
     78
     797. Build repository tree
     80{{{
     81C:\> svn import c:\temp\project file:///c:/svn/repo1 -m "Initial Load"
     82}}}
     83
     848. Create local sandbox
     85{{{
     86C:\> svn checkout file:///c:/svn/repo1 c:\project
     87}}}
     88
     89=== Configure Apache ===
     909. Copy Subversion module files for Apache
     91{{{
     92C:\> copy c:\Progra~1\Subver~1\bin\*.so c:\progra~1\apache~1\apache2\modules
     93}}}
     94You may also need to manually transfer the DLL files from the Subversion installation directory. If the Apache service will not start, or reports an error loading mod_dav_svn.so, you will need to do this. They contain, among other things, the Berkeley DB. This is all you need to do for the DLLs:
     95{{{
     96C:\> copy c:\progra~1\subver~1\bin\*.dll c:\progra~1\apache~1\apache2\modules
     97}}}
     98Make sure you don't have Apache 2.0.52 (mod_dav_svn.so is not compatible with that version, upgrade to 2.0.58 or newer).
     99
     10010. Create password file (w/user 'admin')
     101
     102{{{
     103C:\> c:\progra~1\apache~1\apache2\bin\htpasswd -cm c:\svn\.htaccess admin
     104}}}
     105
     10611. Configure Apache (edit httpd.conf)
     107  11.1. [http://www.webdevelopersjournal.com/software/apache_more_config.html Restrict access/lockdown ] as appropriate
     108
     109  11.2. Add Modules to httpd.conf
     110
     111    11.1.1. Uncomment:
     112{{{
     113LoadModule dav_module modules/mod_dav.so
     114LoadModule dav_fs_module modules/mod_dav_fs.so
     115}}}
     116    11.1.2. Add (after):
     117{{{
     118# Subversion
     119LoadModule dav_svn_module modules/mod_dav_svn.so
     120LoadModule authz_svn_module modules/mod_authz_svn.so
     121}}}
     122
     123    11.1.3. Install Apache as Service (IF NOT WORKING when installed to C:)
     124{{{
     125C:\Progra~1\Apache~1\Apache2\bin\Apache -k install -n "Apache2"
     126}}}
     127
     128  11.3. Add location root for multiple repositories
     129{{{
     130# Subversion
     131<Location /svn>
     132  DAV svn
     133  # any /svn/foo URL will map to a repository C:/svn/foo
     134  # I've only got it working using SVNPath!!
     135  SVNParentPath C:/svn
     136  AuthType Basic
     137  AuthName "Subversion repository"
     138  AuthUserFile c:/svn/.htaccess
     139  Require valid-user
     140</Location>
     141}}}
     142
     143  11.4. Add cgi handler, Uncomment:
     144{{{
     145AddHandler cgi-script .cgi
     146}}}
     147
     148 
     14912. Restart Apache.
     150
     151    Note: If you get an error message saying that the svn modules are garbled when starting apache via the start menu icons, this is probably due to the version of apache used to compile the modules shipped with subversion (and copied in step 9) being different. The modules shipped with version 1.3.2 of subversion (the latest at the time of writing) need version 2.0 of the server and not 2.2.
     152
     15313. Test your install of Subversion
     154  http://[hostname]:80/svn/repo1
     155
     156    Note:  If you are unable to login, and everything seems to work, then try using a repository that Tortoise created.  I burned several hours trying to get this to work until I tried a different repository. -jhopping
     157
     158----
     159
     160=== Create Users ===
     161
     16214. Add users to password file
     163{{{
     164C:\> c:\progra~1\apache~1\apache2\bin\htpasswd -m c:\svn\.htaccess user
     165}}}
     166
     167=== Install Trac Prerequisites ===
     168
     169(Please note: pay attention to download '''exactly''' the versions mentioned here. Do '''not''' simply download the latest stable versions. Otherwise you will probably run into several issues.)
     170
     17115. Install [http://www.python.org/ Python ]
     172
     173  ''Please use Python 2.3 and not 2.4, because the Subversion bindings for Python (that are a few lines down) currently are only available for 2.3 ([http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91&filter=_py.zip look here for the current status of the bindings])''
     174
     175  ''If you desperately want it to work with Python 2.4, this trick seems to work.
     176  Install the Subversion bindings for Python 2.3 in the Python 2.4 site-packages directory.
     177  Find all dll files inte the directory \site-packages\libsvn with a name in the form: _*.dll.
     178  Now use your hexeditor of choice and replace all instances of "python23.dll" with "python24.dll" in the dll files (There's just one occurance in each file).''
     179
     180  ''Beginning with version 1.4, the Subversion team has actually released bindings for Python 2.4. You can download them [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 here].''
     181
     182  [[br]]Add C:\Python23 to the path
     183
     18416. Install Subversion Python Bindings
     185  Download [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91&filter=_py.zip   svn-win32-1.X.X_py.zip] from the Subversion site. [[br]]Extract and copy the libsvn and svn directories to C:\Python23\Lib\site-packages [[br]][[br]]''Note : it is '''very''' important to use the python bindings for the exact version of Subversion you have installed. e.g. when running svn 1.2.3, make sure to use svn-win32-1.2.3_py.zip instead of the zip mentioned above. Otherwise, you '''will''' run into problems (loading dlls etc.)''.
     186
     18717. Install [http://docutils.sourceforge.net/ docutils ] (optional)
     188
     189  This is only required if you want to support Restructured text wiki markup
     190{{{
     191  expand and run from the expanded docutils-xxx directory
     192  > C:\python23\python setup.py install
     193}}}
     194
     19518. Install SQLite (optional)
     196  http://www.sqlite.org
     197  [[br]]Copy sqlite.exe to C:\Program Files\SQLite
     198
     199  This is really optional - you only need this if you want to start poking around in the sqlite database because something's gone wrong.
     200
     20119. Install PySQLite
     202  http://pysqlite.org/
     203  [[br]]Download and install pysqlite-1.1.6.win32-py2.3.exe
     204
     205  or pyPgSQL if you are using PostgreSQL
     206  http://pypgsql.sourceforge.net/
     207  [[br]]Download and install pyPgSQL-2.4.win32-py2.3.exe
     208
     209  NB. Make sure you use v1.x, not 2.x, because the module is renamed from sqlite to pysqlite in v2.x, so the trac installer will fail if you use pysqlite 2.x
     210
     211  Note: If using XAMPP ([http://www.apachefriends.org/en/xampp-windows.html]) to jumpstart setup you may encounter a problem. XAMPP bundles Python in with their distro and does not update the registry to denote the Python install directory (as I suppose is done during a default install of Python).  This missing registry key prevents the pysqlite-X.X.X.win32-pyX.X.exe installer from running successfully. The install program will state  that it can't find Python installed on your system.  To fix this issue, simply add the following key to the Windows registry.
     212
     213{{{
     214HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.3\InstallPath
     215}}}
     216
     217  After creating this key, you should have a "(Default)" string variable which is created automatically. This variable is created with a value of NULL.  Set this variable to the root directory of your Python installation.      For example:
     218
     219{{{
     220C:\Program Files\xampp\python
     221}}}
     222
     223  This should allow you to proceed along with the pysqlite installation.
     224
     22520. Install ClearSilver
     226  http://www.clearsilver.net download clearsilver_python-0.9.12-win32.zip
     227  [[br]]Copy neo_cgi.pyd into C:\Python23\Lib\site-packages
     228  Alternatively, grab unofficial installers for ClearSilver 0.9.14 from http://clearsilver.yi.org/.
     229
     23021. Install eGenix.com mx Extensions for Python (if using PostgreSQL)
     231  Download and install [http://www.egenix.com/files/python/eGenix-mx-Extensions.html].[[br]]
     232  The 'initenv' command in trac-admin needs this library to create the Trac database (At least it did when using a PostgreSQL back end).
     233
     23422. Install Trac
     235  http://projects.edgewall.com/trac/wiki/TracDownload
     236{{{
     237python ./setup.py install
     238}}}
     239
     240=== Fix a few things ===
     24123. Define how the CGI script is called
     242
     243  23.1 Copy CGI
     244{{{
     245C:\> copy c:\python23\share\trac\cgi-bin\trac.cgi c:\progra~1\apache~1\apache2\cgi-bin
     246}}}
     247  Use a text editor such as notepad to open trac.cgi and ensure the first line contains the correct path for Apache to find python.
     248
     249  23.2 Alternatively, define a global Python handler for `CGI` script
     250
     251  If you often update your Trac installation (following [source:/trunk trunk] development), and do not want to customize the `trac.cgi` file, you may want to define a global handler for `.cgi` scripts, using the `ScriptInterpreterSource` Apache [http://httpd.apache.org/docs/2.0/mod/core.html#scriptinterpretersource directive].
     252
     253    23.2.1. Add the following line to your Apache configuration file:
     254{{{
     255<Directory "/Path/To/Trac/cgi-bin">
     256    ScriptInterpreterSource Registry-Strict
     257</Directory>
     258}}}
     259    23.2.2. Add the following key to your Windows registry
     260{{{
     261[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
     262"@"="c:\\\\Programs\\\\Python\\\\python.exe"
     263}}}
     264    ''Notes'':
     265      `@` represents the `(Default)` key entry[[BR]]
     266      Do not forget to update the path to your actual Python installation directory
     267
     268=== Configure Trac DB ===
     269The trac database can be named to match the subversion repository it is working with, which is especially useful if more than one repository will ever be created. In this example {{{"trac.db"}}} would read as {{{"repo1.db"}}}
     270
     27125. Run trac-admin
     272{{{
     273C:\Python23\Scripts> python trac-admin c:/svn/trac.db
     274}}}
     275
     276I found i had to do:
     277{{{
     278C:\Python23> python scripts/trac-admin c:/svn/trac.db
     279}}}
     280
     281Note: The latter path is needed if python is not found in the environmental variable PATH.
     282
     28326. Initialize DB
     284{{{
     285Trac [c:/svn/trac.db]> initenv
     286}}}
     287{{{
     288  Enter project name
     289    Project
     290
     291  Database connection string [sqlite:db/trac.db]>
     292    (Just press enter to accept default)
     293
     294  Enter path to repository
     295    c:\svn\repo1
     296
     297  Enter path to templates
     298    c:\Python23\share\trac\templates
     299}}}
     300
     301See TracEnvironment for help with these settings.
     302
     303If you get an error here stating that libdb42.dll was not found, copy ''[SVN PATH]''\bin\libdb42.dll to ''[PYTHON PATH]''\lib\libsvn\, then try again.
     304
     305If you are using PostgreSQL and you get an error stating that libpq.dll cannot be found, add the PostgreSQL bin directory to your path (ex: C:\Program Files\PostgreSQL\8.1\bin). 
     306
     307If you get an error like "ImportError: No module named svn" you are missing the path to the SVN Python hooks in the PYTHONPATH environment variable.
     308eg.
     309{{{
     310C:\Python23\Scripts>set PYTHONPATH=C:\Python23\Lib\site-packages\svn-win32-1.2.3\python
     311}}}
     312...assuming you installed the hooks for SVN1.2.3.
     313
     314To get this step done the right way, you have to understand that the trac database is '''not''' the svn repository.
     315
     316For example if you have your svn repository located in c:\svn\repo1 (like supposed by this tutorial), you'll probably want to name your trac database c:\trac\repo1. You would then call "python trac-admin c:/trac/repo1" in your scripts directory and enter "c:\svn\repo1" as the "path to (svn) repository".
     317
     31827. Add administrative permissions (the below adds all permissions for 'admin' user)
     319{{{
     320Trac [c:/svn/trac.db]>
     321
     322permission add admin TRAC_ADMIN
     323}}}
     324
     325=== Add Trac to Apache ===
     32628. Edit httpd.conf:
     327  Add: (copy this - there's a typo in Edgewall's version)
     328  Edit PYTHONPATH to point to your install of SVN bin
     329{{{
     330# TRAC
     331Alias /trac "C:/Python23/share/trac/htdocs"
     332
     333<Location /cgi-bin/trac.cgi>
     334  SetEnv TRAC_ENV "c:/svn/trac.db"
     335  SetEnv PYTHONPATH "C:/Program Files/Subversion/bin"
     336  # if you are running Apache as a user other than System, the TMP variable
     337  # needs to be set to a place where that user can write scratch files.  Make
     338  # sure that this directory is created and writable by that user.
     339  # SetEnv TMP "c:/svn/trac.db/tmp
     340</Location>
     341
     342<Location /cgi-bin/trac.cgi/login>
     343  AuthType Basic
     344  AuthName "Project"
     345  AuthUserFile C:/svn/.htaccess
     346  Require valid-user
     347</Location>
     348
     349<Directory "C:/Python23/share/trac/htdocs">
     350  Options Indexes MultiViews
     351  AllowOverride None
     352  Order allow,deny
     353  Allow from all
     354</Directory>
     355}}}
     356
     357  If you want to configure a friendly URL, like http://hostname/trac, the following configuration can be used instead of the appropriate sections above
     358
     359{{{
     360# TRAC
     361
     362# Transfer serving up of static content to Apache
     363Alias /trac/chrome/common "C:/Program Files/Python2.3.5/share/trac/htdocs"
     364
     365# Alias for the friendly URL
     366ScriptAlias /trac "C:/Program Files/Python2.3.5/share/trac/cgi-bin/trac.cgi"
     367<Location "/trac">
     368  SetEnv TRAC_ENV "c:/svn/trac.db"
     369  SetEnv PYTHONPATH "C:/Program Files/Subversion/bin"
     370  # if you are running Apache as a user other than System, the TMP variable
     371  # needs to be set to a place where that user can write scratch files.  Make
     372  # sure that this directory is created and writable by that user.
     373  # SetEnv TMP "c:/svn/trac.db/tmp
     374</Location>
     375
     376<Location "/trac/login">
     377  AuthType Basic
     378  AuthName "trac"
     379  AuthUserFile C:/svn/.htaccess
     380  Require valid-user
     381</Location>
     382}}}
     383
     384  Note: if you get an error "Authentication information not available." after clicking "login", refer to #2258
     385
     386  Alternatively you could set up the authorization to use your NT domain login if you are running an NT Domain.  This bit of Apache config replaces the <Location /cgi-bin/trac.cgi/login> given above.
     387{{{
     388<Location /cgi-bin/trac.cgi/login>
     389  #NT Domain auth config
     390  AuthType SSPI
     391  SSPIAuth On
     392  SSPIAuthoritative On
     393  SSPIOfferBasic On
     394  SSPIOmitDomain Off
     395  # following line squishes bug #1168 if IE has troubles editing wiki pages.   
     396  SSPIBasicPreferred On
     397  AuthName "Project"
     398  Require valid-user
     399</Location>
     400}}}
     401
     402  You'll also need the sspi_auth_module on your system and loaded like this...
     403{{{
     404LoadModule sspi_auth_module modules/mod_auth_sspi.so
     405}}}
     406You must download and install this module. It can be found here:
     407http://mod-auth-sspi.sf.net/
     408
     409 Or compile it into Apache. Note when adding permissions and authenticating against a domain you may need to use the following syntax complete with quotes as seen in #1055. 
     410 * permission add "DOMAIN\username" TRAC_ADMIN
     411
     412 ''Note'': Internet Explorer may be in trouble with an Apache server running SSPI authentication. See #1343
     413
     414 With example above, you must specify user name like "DOMAIN\username"
     415 If you hate "DOMAIN\username" format, {{{SSPIOmitDomain}}} option is usefull. Set it ON!
     416{{{
     417  SSPIOmitDomain On
     418}}}
     419 
     420 If this option is ON, the mod_auth_sspi passes authentication name to an Apache server without a domain part.
     421 As result, you can manage user names with simply 'username' instead of 'DOMAIN\username'
     422 in apache password file and {{{trac-admin}}} command, and also, it is used by Trac for reporter name, author and so on.
     423
     424 * permission add username TRAC_ADMIN
     425 
     426 But remember that you must specify "DOMAIN\username" format on authentication dialog although this option is ON.
     427
     428 ''Note'': Older version of mod_auth_sspi (like http://tortoisesvn.tigris.org/mod_auth_sspi.zip) doesn't
     429 support {{{SSPIOmitDomain}}} and has bug for basic authentication. 1.0.2 introduced above is recommended.
     430
     431
     43229. Restart Apache.
     433
     43430. Hold your breath, test Trac install
     435  http://[hostname]:80/cgi-bin/trac.cgi
     436
     437  If it doesn't work, then running Apache from the command-line will give you a few clues.
     438
     439  If your page seems to be lacking stylesheets, please check the alias of '''/trac''' in apache. Otherwise you've probably run into a known Apache bug described (and worked around) [http://www.apache.org/dist/httpd/binaries/win32/#xpbug here].
     440
     441  It is possible you have to add Full NTFS file permissions to user NT Authority\System on Trac folder, otherwise you could get an error.
     442
     443=== Optional Enscript ===
     44431. In order for Trac to syntax highlight code, you must download and install [http://gnuwin32.sourceforge.net/packages.html Enscript].  After installing Enscript, you will need to add the path to the enscript executable to the Windows PATH environment variable.  '''Note:''' If Apache is running as a service you will need to reboot the machine for it to receive the updated PATH setting.
     445
     446=== Optional pre- and post-commit hooks for Subversion ===
     44732. In order to use pre- and post-commit hooks with Subversion on Windows, please refer to the files described in #1602, as the these files are not commited into the trunk as of version 0.9-dev.
     448
     449The files you need are "pre-commit.2.bat", "post-commit.2.bat", "trac-pre-commit-hook_4bat.2" and "trac-post-commit-hook_4bat.2". The pre-commit hook makes it a requirement to reference a ticket before commiting the changes.
     450
     451Place the desired ".bat" and "trac-" files in your Subversion repository "hooks" directory and configure the ".bat" file for your system (remove the ".2" from the filenames ofcourse). For more information on hooks, read the [http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks Hook Scripts] section of the Subversion book.
     452
     453=== Finally... ===
     45433. Install Subversion clients as necessary (try [http://rapidsvn.tigris.org RapidSVN] , [http://tortoisesvn.tigris.org/ TortoiseSVN] or [http://subclipse.tigris.org/ Subclipse])
     455
     45634. Don't forget to lock down the security on the box!
     457
     45835. If the svn page would not work properly with saying that DLL is missing, FIRST try to reboot the system and if that does not work, copy the three DLL's - libdb42.dll - libeay32.dll - ssleay32.dll from your [Subversion]\bin directory to your system directory (most likely C:\Windows\system32).
     459
     460== Upgrading from Trac 0.84 to 0.9-beta1 on Windows ==
     461
     462This section builds off the [wiki:TracUpgrade generic Trac upgrade instructions], so you may want to keep that open to use as supplementary reading material.
     463
     4641. Download Windows Installer file
     465
     4662. Backup old version of Trac:
     467{{{
     468> move C:\Python23\Lib\site-packages\trac C:\Python23\Lib\site-packages\trac-0.8.4
     469
     470> move C:\Python23\share\trac C:\Python23\share\trac-0.8.4
     471> move C:\Program Files\Apache Group\Apache2\cgi-bin\trac.cgi C:\Program Files\Apache Group\Apache2\cgi-bin\trac-0.8.4.cgi
     472> xcopy /x /e /i C:\svn\trac.db C:\svn\trac-0.8.4.db\
     473}}}
     474
     4753. Run the Trac Windows Installer
     476
     4774. Run these commands
     478{{{
     479> cd C:\Python23\Scripts
     480> python trac-admin C:\svn\trac.db upgrade
     481> python trac-admin C:\svn\trac.db wiki upgrade
     482}}}
     483
     4845. If using CGI, copy trac.cgi to Apache directory.
     485
     486{{{
     487> copy C:\Python23\share\trac\cgi-bin\trac.cgi C:\Program Files\Apache Group\Apache2\cgi-bin\trac.cgi
     488}}}
     489
     4906. Open and edit C:\Program Files\Apache Group\Apache2\cgi-bin\trac.cgi. Change the first line from:
     491{{{
     492
     493#!C:\Programme\Python23\python.exe
     494}}}
     495to
     496{{{
     497
     498#!C:\Python23\python.exe
     499}}}
     500
     5017. Point your web browser to the Trac site. That should be it!
     502----
     503=== Contributors: ===
     504
     505 * [mailto:Daragh|at|i2i-Tech.com Daragh Fitzpatrick]
     506 * [mailto:alexkw|at|mac.com Alex Wolfe]
     507 * [mailto:tim|at|igethalf.com Tim Browse]
     508 * [mailto:sid|at|seegrid.com Sid Wiesner]
     509 * [mailto:trac-svn-mail|at|elvendesigns.com Muir]
     510 * [mailto:abudhu|at|gmail.com Amit Budhu]
     511 * [mailto:denney|at|mantrasoftware.net Rodney Beck]
     512 * [mailto:javinievas|at|gmail.com Javier Nievas]
     513
     514=== DLL Errors ===
     515After a fresh install, trying to access either the Timeline or Browse Source tabs results in an internal error:
     516{{{
     517Traceback (most recent call last):
     518
     519    File "C:\Local\Python23\Lib\site-packages\trac\core.py", line 531, in cgi_start
     520        real_cgi_start()
     521    File "C:\Local\Python23\Lib\site-packages\trac\core.py", line 526, in real_cgi_start
     522        dispatch_request(path_info, args, req, env)
     523    File "C:\Local\Python23\Lib\site-packages\trac\core.py", line 439, in dispatch_request
     524        module = module_factory(args, env, database, req)
     525    File "C:\Local\Python23\Lib\site-packages\trac\core.py", line 172, in module_factory
     526        import sync
     527    File "C:\Local\Python23\Lib\site-packages\trac\sync.py", line 22, in ?
     528        from svn import fs, util, delta, repos, core
     529    File "C:\Local\Python23\lib\svn\fs.py", line 28, in ?
     530        import libsvn.fs
     531    File "C:\Local\Python23\lib\libsvn\fs.py", line 4, in ?
     532        import _fs ImportError?: DLL load failed: The specified module could not be found.
     533}}}
     534
     535An easy solution would be to copy dlls at svn\bin\*.dll to cgi-bin directory. then it works well. Before copying any DLLs, first try to reboot the system. In most cases, the internal system error problem disappear after a simple system reboot.
     536
     537==== Guía en Español ====
     538
     539Guía de instalación de Trac en Windows en Español. [http://traclog.blogspot.com/ Aquí.]
     540Some help for Spanish speakers installing Trac for Windows.
     541
     542----
     543See also:  TracInstall, TracOnWindowsStandalone
     544
     545=== Comments ===
     546
     547==== Really Wonderful ====
     548
     549This is one of the best docs on how install a system. Thank you very much.
     550The only thing I don't understand is what should I do "to lock down the security on the box". Excuse me, I'm a begineer in this things, Could somebody explain a little bit? Thanks, a lot!
     551
     552==== This badly needs a distro ====
     553
     554The large number of components to download and long list of installation steps puts me off bothering to install Trac.
     555I love Trac and use it at work but I just don't have the time/patience to work through all these steps.
     556What's obviously needed is a single distro with everything preconfigured and tested for Win32/Mac/Linux.
     557I think this would also reduce the inevitable support requests from such as complex install.
     558I think the ideal might be a Trac installation addon for each [http://www.apachefriends.org/en/xampp.html XAMPP] distro.
     559
     560==== I agree ====
     561I agree, this needs a distro. I would be willing to help if such a thing were started. [http://www.RicharddeCosta.com]
     562
     563==== New Python Bindings ====
     564
     565New python bindings and isntallers have been made for 2.4 python and newer subversion releases [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 here] for instance. Also with SVNPath in the httpd.conf if your full path has spaces you may want to put it in double quotes.