|
|
| (5 intermediate revisions by the same user not shown) |
| Line 3: |
Line 3: |
|
| |
|
| ==Prerequisites== | | ==Prerequisites== |
| ===Trac installation===
| |
| * Python
| |
| ** Trac works only with Python 2.7 for now (even though Python 3.x exists).<br />(It looks like it's possible to run multiple python environments?)
| |
| ** The Windows installation of Python doesn't update the "path" environment variable. It's necessary to do that manually to include the path to the python executable.
| |
| ** Same is true for Trac. By default the trac libraries are installed in <code>[PYTHON_INSTALL_DIR]\Lib\site-packages\</code>. The <code>trac-admin</code> executable is located in <code>c:\python27\scripts\</code> (where <code>c:\phython27\</code> is the installation directory for Python).
| |
| * Python [http://pypi.python.org/pypi/setuptools#files setuptools]
| |
| * [http://genshi.edgewall.org/wiki/Download Genshi]
| |
|
| |
|
| ===Running Trac on IIS===
| | See [[Trac Installation on Windows Server 2008]] |
| * See [http://trac.edgewall.org/wiki/TracOnWindowsIisAjp Running Trac on IIS 6 Using AJP]<br />(This also works with IIS 7.)
| |
| ====Install Trac====
| |
| * Instead of using port 8000, use 8009 which is the standard port for AJP.
| |
| * Add <code>--protocol=ajp</code> to have tracd use AJP instead of HTTP.<br /><syntaxhighlight lang="dos">
| |
| tracd --port 8009 --protocol=ajp ./littledamien_web/trac
| |
| </syntaxhighlight>
| |
| * This will result in an error indicating that the module flup.server.ajp is missing. If not, flup is installed and the next step may be skipped.
| |
| | |
| ====Install flup====
| |
| * Copy <code>flup-1.0-py2.5.egg</code> from [http://www.saddi.com/software/flup/dist/ Saddi Software binaries] to <code>C:\Python27\Scripts</code> (or whatever may be your Python installation directory).
| |
| * Run <code>easy_install flup</code>.
| |
| | |
| ====Install Tomcat AJP Connector for IIS====
| |
| * Set up the directory structure.
| |
| We assume there will be a base directory named C:\AJP-Connector and three subdirectories bin, conf and logs. Of course, you may choose anything else for the base directory.
| |
| | |
| * Copy <code>tomcat-connectors-1.2.37-windows-i386-iis.zip</code> (or <code>tomcat-connectors-1.2.37-windows-x86_64-iis.zip</code> in a 64 bit environment) or a newer version from [http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ Apache binaries] and extract <code>isapi_redirect.dll</code> to the bin subdirectory.
| |
| * Create a configuration file <code>isapi_redirect.properties</code> for the ISAPI redirector.
| |
| This must be in the same directory as the DLL and have exactly the same name but with a .properties extension. The configuration file should contain this: (be sure to replace "C:\AJP-Connector" with your actual directory)
| |
| | |
| <pre>
| |
| # Configuration file for the ISAPI Redirector
| |
| | |
| # The path to the ISAPI Redirector Extension, relative to the website
| |
| # This must be in a virtual directory with execute privileges
| |
| extension_uri=/AJP-Connector/isapi_redirect.dll
| |
| | |
| # Full path to the log file for the ISAPI Redirector
| |
| log_file=C:\AJP-Connector\logs\isapi_redirect.log
| |
| | |
| # Log level (debug, info, warn, error or trace)
| |
| log_level=info
| |
| | |
| # Full path to the workers.properties file
| |
| worker_file=C:\AJP-Connector\conf\workers.properties
| |
| | |
| # Full path to the uriworkermap.properties file
| |
| worker_mount_file=C:\AJP-Connector\conf\uriworkermap.properties
| |
| </pre>
| |
| * Create the workers.properties file with the following content: (replace the host name and port if necessary)
| |
| <pre>
| |
| # Define 1 real worker
| |
| worker.list=trac
| |
| # Set properties for trac (ajp13)
| |
| worker.trac.type=ajp13
| |
| worker.trac.host=localhost
| |
| worker.trac.port=8009
| |
| worker.trac.socket_keepalive=0
| |
| </pre>
| |
| * Create the uriworkermap.properties file with the following content: (replace foo and bar with your trac project names)
| |
| <pre>
| |
| /foo*=trac
| |
| /bar*=trac
| |
| </pre>
| |
|
| |
|
| ====Define the virtual directory for AJP-Connector==== | | ==Resources== |
| * Start IIS Manager | | * [http://trac.edgewall.org/wiki/TracInstall#CreatingaProjectEnvironment TracInstall: Create a Project Environment] |
| * Inside the web site where you want to publish Trac, define a virtual directory named AJP-Connector, pointing to your bin subdirectory, with permissions to execute executables (not only scripts).
| | * [http://littled.dbarchowsky.com/trac/wiki/TracGuide The Trac User and Administration Guide] |
| ** Click the name of the virtual directory.
| |
| ** In the virtual directory '''Home''' area, double click '''Handler Mappings'''.
| |
| ** In the '''Actions''' pane, click '''Edit Feature Permissions'''. | |
| ** In the '''Edit Feature Permissions''' dialog verify that the '''Read''' and '''Script''' check boxes are both selected, and that the '''Execute''' check box is also selected.
| |
| The only purpose for this virtual directory is to allow the ISAPI filter defined in step 6 to find the DLL. | |
|
| |
|
| ====Allow execution of the DLL as Web Service Extension==== | | == Creating a project environment == |
| * Open IIS manager
| |
| * Click on the Computer name in the left pane (root node in the tree)
| |
| * In the '''Features''' view select '''ISAPI and CGI Restrictions'''.
| |
| * Under '''Actions''' in the right column click '''Add...'''
| |
| ** ISAPI or CGI path: path to AJP DLL. (<code>c:\AJP-Connector\bin\isapi_redirect.dll</code>)
| |
| ** Description: AJP-Connector
| |
| ** Allow extension path to execute: checked
| |
|
| |
|
| ====Add AJP-Connector to the ISAPI filters====
| | Using PowerShell as Administrator: |
| * In the IIS Manager, open the properties of the web site where you want to publish Trac.
| |
| * Open '''ISAPI Filters'''.
| |
| * Add a new filter with any filter name (I prefer "AJP-Connector") and the complete path to c:\AJP-Connector/bin/isapi_redirect.dll as executable.
| |
|
| |
|
| ===Install Trac as a Windows service===
| |
| * Download the "SVRANY" tool.
| |
| ** This utility is part of '''Windows Server 2003 Resource Kit Tools'''. This applies even if the installation is on Windows 2008 Server.
| |
| ** Install The Resource Kit Tools and copy <code>srvany.exe</code> to <code>c:\windows\system32</code>.
| |
| * Create a new Windows service for tracd. (Administrator privileges required.)<br /><syntaxhighlight lang="dos" enclose="div">
| |
| sc create tracd binPath= c:\windows\systems32\srvany.exe start= auto DisplayName= "Trac Stand-Alone Service"
| |
| </syntaxhighlight>
| |
| ** Make sure that the service does not already exist and that the Services control panel is not open.
| |
| ** The equal signs are part of the parameter names. There must be no space between "binPath" and the equals sign. And there must be a space following the equals sign.
| |
| * Use <code>regedit</code> to configure the application run by the <code>tracd</code> service.
| |
| ** <code>\HKLM\SYSTEM\CurrentControlSet\Services\tracd\</code>
| |
| ** Create a key named "Parameters" and add 3 string values under the the key:
| |
| *** AppDirectory: <code>c:\Python27\</code>
| |
| *** Application: <code>python.exe</code>
| |
| *** AppParameters: <code>Scripts\tracd-script.py --port 8009 --protocol=ajp d:\inetpub\develop\littledamien\littledamien_web\trac</code>
| |
| ** Use the python executable with the tracd-script.py script instead of using tracd.exe. Otherwise if the service is stopped the python instance will not be killed.
| |
| * Start the new service.
| |
| ** Administrative Tools > Services > Trac Stand-Alone Service > right click > Start
| |
|
| |
| ==Creating a project environment==
| |
|
| |
| * See [http://trac.edgewall.org/wiki/TracInstall#CreatingaProjectEnvironment TracInstall: Create a Project Environment]
| |
| <syntaxhighlight lang="dos"> | | <syntaxhighlight lang="dos"> |
| trac-admin /path/to/tracdir initenv | | trac-admin /path/to/tracdir initenv |
| Line 121: |
Line 23: |
|
| |
|
| The configuration file for the new project environment is located at <code>[TRAC_PROJECT_DIR]\conf\trac.ini</code>. | | The configuration file for the new project environment is located at <code>[TRAC_PROJECT_DIR]\conf\trac.ini</code>. |
| | |
| | ==Trac web server== |
|
| |
|
| Start the server with | | Start the server with |
| Line 129: |
Line 33: |
| Then you can connect to the trac project with <code><nowiki>http://localhost:8000/trac/</nowiki></code>. | | Then you can connect to the trac project with <code><nowiki>http://localhost:8000/trac/</nowiki></code>. |
|
| |
|
| ==Database== | | See also [[Trac_Installation_on_Windows_Server_2008#Install_Trac_as_a_Windows_service|Installing Trac as a Windows Service]] |
| | |
| | ==Enabling the Admin tab in the Trac web interface== |
| | |
| | <syntaxhighlight lang="dos"> |
| | trac-admin /path/to/my/project permission add <username> TRAC_ADMIN |
| | </syntaxhighlight> |
| | |
| | ==Git support== |
| | |
| | Git support is built into Trac 1.0. It has to be enabled in the trac.ini file: |
| | <pre> |
| | [components] |
| | tracopt.versioncontrol.git.* = enabled |
| | |
| | [git] |
| | git_bin = c:\git\bin\git.exe |
| | </pre> |
| | Then Admin tab > Administration menu > Version Control > Repositories > Add Repository |
| | |
| | * [http://trac.edgewall.org/wiki/0.12/TracRepositoryAdmin Trac Repository Administration] |
| | * [http://trac.edgewall.org/wiki/TracGit Trac Git] |
| | |
| | ==<strike>Database</strike>== |
|
| |
|
| * Create a new SQLite database. | | * <strike>Create a new SQLite database.</strike> |
|
| |
|
| <syntaxhighlight lang="dos"> | | <syntaxhighlight lang="dos"> |