Changes between Version 1 and Version 2 of TracCgi


Ignore:
Timestamp:
09/10/09 19:34:28 (15 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracCgi

    v1 v2  
    33To install Trac as a CGI script, you need to make the `trac.cgi` executable as a CGI by your web server.
    44
    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 }}}
     5  ''Please note that using Trac via CGI is significantly slower than any other deployment method, such as [TracModPython mod_python] or [TracFastCgi FastCGI].''
    96
    107If you're using [http://httpd.apache.org/ Apache HTTPD], there are a couple ways to do that:
    118
    129 1. Use a `ScriptAlias` to map a URL to the `trac.cgi` script
    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.
     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.
    1411
    1512The first option is recommended as it also allows you to map the CGI to a friendly URL.
     
    3633}}}
    3734
    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 }}}
     35 ''Note that the `SetEnv` directive requires the `mod_env` module to be installed and enable.''
    5136
    5237This will make Trac available at `http://yourhost.example.org/trac`.
     
    7560For 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`.
    7661
    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 
    8762Alternatively, you can set the `htdocs_location` configuration option in [wiki:TracIni trac.ini]:
    8863{{{
     
    9570$ ln -s /usr/share/trac/htdocs /var/www/your_site.com/htdocs/trac-htdocs
    9671}}}
    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 
    10172
    10273== Adding Authentication ==
     
    142113}}}
    143114
    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).
     115For 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.
    160116
    161117----
    162 See also:  TracGuide, TracInstall, wiki:TracModWSGI, TracFastCgi, TracModPython
     118See also:  TracGuide, TracInstall, TracFastCgi, TracModPython