Changes between Version 1 and Version 2 of TracCgi
- Timestamp:
- May 15, 2010, 9:05:30 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracCgi
v1 v2 3 3 To install Trac as a CGI script, you need to make the `trac.cgi` executable as a CGI by your web server. 4 4 5 ''Please note that using Trac via CGI is significantly slower than any other deployment method, such as [TracModPython mod_python] or [TracFastCgi FastCGI].'' 5 {{{ 6 #!div class=important 7 ''Please note that using Trac via CGI is significantly slower than any other deployment method, such as [TracModPython mod_python] or [TracFastCgi FastCGI] or even [trac:TracOnWindowsIisAjp IIS/AJP] on Windows.'' 8 }}} 6 9 7 10 If you're using [http://httpd.apache.org/ Apache HTTPD], there are a couple ways to do that: 8 11 9 12 1. Use a `ScriptAlias` to map a URL to the `trac.cgi` script 10 2. Copy the `trac.cgi` file into the directory for CGI executables used by your web server (commonly named `cgi-bin`). You can also create a symbolic link, but in that case make sure that the `FollowSymLinks` option is enabled for the `cgi-bin` directory.13 2. Copy the `trac.cgi` file into the directory for CGI executables used by your web server (commonly named `cgi-bin`). A word of warning, copying the file directly from the repository onto a windows server 2003 machine created difficulties. Rather create a new text file and cut and copy the text into the newly created file. You can also create a symbolic link, but in that case make sure that the `FollowSymLinks` option is enabled for the `cgi-bin` directory. 11 14 12 15 The first option is recommended as it also allows you to map the CGI to a friendly URL. … … 33 36 }}} 34 37 35 ''Note that the `SetEnv` directive requires the `mod_env` module to be installed and enable.'' 38 ''Note that the `SetEnv` directive requires the `mod_env` module to be installed and enable. If not, you could set TRAC_ENV in trac.cgi. Just add the following code between "try:" and "from trac.web ...":'' 39 40 {{{ 41 import os 42 os.environ['TRAC_ENV'] = "/path/to/projectenv" 43 }}} 44 45 '' Or for TRAC_ENV_PARENT_DIR: '' 46 47 {{{ 48 import os 49 os.environ['TRAC_ENV_PARENT_DIR'] = "/path/to/project/parent/dir" 50 }}} 36 51 37 52 This will make Trac available at `http://yourhost.example.org/trac`. … … 60 75 For example, if Trac is mapped to `/cgi-bin/trac.cgi` on your server, the URL of the Alias should be `/cgi-bin/trac.cgi/chrome/common`. 61 76 77 Similarly, if you have static resources in a projects htdocs directory, you can configure apache to serve those resources (again, put this '''before''' the `ScriptAlias` for the CGI script, and adjust names and locations to match your installation): 78 79 {{{ 80 Alias /trac/chrome/site /path/to/projectenv/htdocs 81 <Directory "/path/to/projectenv/htdocs"> 82 Order allow,deny 83 Allow from all 84 </Directory> 85 }}} 86 62 87 Alternatively, you can set the `htdocs_location` configuration option in [wiki:TracIni trac.ini]: 63 88 {{{ … … 70 95 $ ln -s /usr/share/trac/htdocs /var/www/your_site.com/htdocs/trac-htdocs 71 96 }}} 97 98 Note that in order to get this `htdocs` directory, you need first to extract the relevant Trac resources using the `deploy` command of TracAdmin: 99 [[TracAdminHelp(deploy)]] 100 72 101 73 102 == Adding Authentication == … … 113 142 }}} 114 143 115 For better security, it is recommended that you either enable SSL or at least use the “Digest” authentication scheme instead of “Basic”. Please read the [http://httpd.apache.org/docs/2.0/ Apache HTTPD documentation] to find out more. 144 For better security, it is recommended that you either enable SSL or at least use the “digest” authentication scheme instead of “Basic”. Please read the [http://httpd.apache.org/docs/2.0/ Apache HTTPD documentation] to find out more. For example, on a Debian 4.0r1 (etch) system the relevant section in apache configuration can look like this: 145 {{{ 146 <Location "/trac/login"> 147 LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so 148 AuthType Digest 149 AuthName "trac" 150 AuthDigestDomain /trac 151 AuthUserFile /somewhere/trac.htpasswd 152 Require valid-user 153 </Location> 154 }}} 155 and you'll have to create your .htpasswd file with htdigest instead of htpasswd as follows: 156 {{{ 157 # htdigest /somewhere/trac.htpasswd trac admin 158 }}} 159 where the "trac" parameter above is the same as !AuthName above ("Realm" in apache-docs). 116 160 117 161 ---- 118 See also: TracGuide, TracInstall, TracFastCgi, TracModPython162 See also: TracGuide, TracInstall, wiki:TracModWSGI, TracFastCgi, TracModPython