[[PageOutline(2-5,Contents,pullout)]] = Advanced options for installing Trac on Windows == Optional Packages In addition to the base packages listed in TracOnWindows, here are a few additional packages (Python or external tools) that can be used to improve the functionality offered on your Trac installation: Packages which can be installed using `easy_install`: - docutils - pygments - pytz == Using Other Databases === PostgreSQL for Windows Trac can work with the PostgreSQL (8.x or 9.x) database: - Install [http://stickpeople.com/projects/python/win-psycopg/ psycopg2]. - Create your database with UTF8 Encoding or you could get errors; see TracEnvironment for more information. === MySQLDb for Windows Packages for the MySqlDb Python bindings for the MySQL database: * [http://mysql-python.sourceforge.net/ MySQL for Python] (Sourceforge) * [http://www.codegood.com/archives/129] (non-official download) Note that working with MySQL is ''not'' recommended in general, as there may still be unpredictable behaviour. However, on Windows the main issues with MySQL tend to be less apparent: the default setup for recent installations is UTF-8, and Windows users are unlikely to have case-sensitivity pathname issues in their repositories as Subversion won't let them create such paths in the first place. So MySQL on Windows might well be a more viable solution than on Unix for the time being (and seems to work fine for me). See the MySqlDb page for more details. TODO: try out the [http://packages.python.org/oursql/ OurSQL] bindings. == Using Other Web front-ends TracStandalone is not the only option on Windows. === Apache Generic instructions for configuring authentication within Apache are available in the [[TracModWSGI#ConfiguringAuthentication]] page. ==== Apache and `mod_wsgi` First, you need to integrate [http://code.google.com/p/modwsgi mod_wsgi] in your Apache installation. There are [http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware#Windows_Binary_Downloads pre-compiled binaries] available for download. Choose the right one depending on the version of Apache and Python you're running. Then follow the [http://code.google.com/p/modwsgi/wiki/InstallationOnWindows installation instructions] for this module, and the [[TracModWSGI]] installations instructions. The resulting configuration (from the words of the `mod_wsgi` author) is supposed to be more efficient than one using `mod_python`. Adjustments to the paths included in the `.wsgi` script must also be made. The Trac environment must point to the same path as was specified with `Trac-admin path/to/env initenv`. The Python Egg cache directory on Windows: - If run under the user's session, the Python egg cache can be found in `%AppData%\Roaming`, for example: {{{#!python os.environ['TRAC_ENV'] = r'C:\TracEnvironment' os.environ['PYTHON_EGG_CACHE'] = r'C:\Users\Administrator\AppData\Roaming\Python-Eggs' }}} - If run under a Windows service, you should create a directory for Python egg cache: {{{#!python os.environ['TRAC_ENV'] = r'C:\TracEnvironment' os.environ['PYTHON_EGG_CACHE'] = r'C:\Trac-Python-Eggs' }}} ==== Apache and `mod_python` You may try to use an older version, namely 3.3.1: - [http://www.apache.org/dist/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.4-Apache2.0.exe mod_python-3.3.1.win32-py2.4-Apache2.0.exe] - [http://www.apache.org/dist/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.4-Apache2.2.exe mod_python-3.3.1.win32-py2.4-Apache2.2.exe] - [http://www.apache.org/dist/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.5-Apache2.0.exe mod_python-3.3.1.win32-py2.5-Apache2.0.exe] - [http://www.apache.org/dist/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.5-Apache2.2.exe mod_python-3.3.1.win32-py2.5-Apache2.2.exe] ''TODO: check the compatibility between Apache 2.0/2.2 and the Subversion bindings. The latter are using libapr and libaprutil 0.9.12.'' ''TODO: newer versions of revived mod_python library untested.'' Then, check the regular TracModPython instructions to see how to modify your `http.conf` file. ==== Authenticating Trac users against Windows domain controller Running Trac in Apache, you can let your users login with their existing Windows username/password by using `mod_sspi`. If you use Subversion as a repository and access it through Apache, you can also do the same with Subversion. Download this module [http://sourceforge.net/projects/mod-auth-sspi here], place it in the Apache modules directory, and add the following line to your `httpd.conf`, with all the `LoadModule` instructions: {{{#!apache LoadModule sspi_auth_module modules/mod_auth_sspi.so }}} Then add the following to the end of `http.conf`, modified according to your settings: {{{#!apache AuthType SSPI AuthName "Trac project management website @ MyLocalMachine" SSPIAuth On SSPIAuthoritative On SSPIDomain MyLocalDomain SSPIOfferBasic On Require valid-user }}} Then, if you change permissions in Trac using `trac-admin.exe`, remember to declare the user `bob` as `MyLocalDomain\bob`. The same remark applies for your Subversion repository accessfile. Alternatively add the parameter `SSPIOmitDomain On` and declare the user as `bob`. === Internet Information Services (IIS) It is also possible to install [wiki:"TracOnWindowsIis6" Trac with IIS 6], though your mileage may vary. By following the above, Trac will be installed as a CGI, so that will be quite slow. You might be better off following TracOnWindowsIisAjp, which looks more promising. There is also TracOnWindowsIisIsapi. With IIS 8+ it should be possible to use [http://www.hanselman.com/blog/AnnouncingRunningRubyOnRailsOnIIS8OrAnythingElseReallyWithTheNewHttpPlatformHandler.aspx HttpPlatformHandler] as a proxy to Tracd. '''Note:''' If you are having problems with IE not being able to submit data to Trac (i.e. when you edit a wiki page or submit a ticket Trac doesn't modify the page or add the bug). wiki:Trac0.9/TracOnWindows has more information on this issue.