traccgi
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
| — | traccgi [2015/06/09 19:23] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Installing Trac as CGI ====== | ||
| + | |||
| + | To install Trac as a CGI script, you need to make the `trac.cgi` executable as a CGI by your web server. | ||
| + | |||
| + | //Please note that using Trac via CGI is significantly slower than any other deployment method, such as [[: | ||
| + | |||
| + | If you're using [[http:// | ||
| + | |||
| + | - Use a `ScriptAlias` to map a URL to the `trac.cgi` script | ||
| + | 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. | ||
| + | |||
| + | The first option is recommended as it also allows you to map the CGI to a friendly URL. | ||
| + | |||
| + | Now, edit the Apache configuration file and add this snippet, file names and locations changed to match your installation: | ||
| + | < | ||
| + | ScriptAlias /trac / | ||
| + | </ | ||
| + | |||
| + | |||
| + | // | ||
| + | |||
| + | If you're using Trac with a single project you need to set its location using the `TRAC_ENV` environment variable: | ||
| + | < | ||
| + | < | ||
| + | SetEnv TRAC_ENV "/ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Or to use multiple projects you can specify their common parent directory using the `TRAC_ENV_PARENT_DIR` variable: | ||
| + | < | ||
| + | < | ||
| + | SetEnv TRAC_ENV_PARENT_DIR "/ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | // | ||
| + | |||
| + | This will make Trac available at `http:// | ||
| + | |||
| + | If you are using the [[http:// | ||
| + | |||
| + | On some systems, you //may// need to edit the shebang line in the `trac.cgi` file to point to your real Python installation path. On a Windows system you may need to configure Windows to know how to execute a .cgi file (Explorer -> Tools -> Folder Options -> File Types -> CGI). | ||
| + | |||
| + | ===== Mapping Static Resources ===== | ||
| + | |||
| + | Out of the box, Trac will serve static resources such as style sheets or images itself. For a CGI setup, though, this is highly undesirable, | ||
| + | |||
| + | Web servers such as [[http:// | ||
| + | |||
| + | Edit the Apache configuration file again and add the following snippet **before** the `ScriptAlias` for the CGI script , file names and locations changed to match your installation: | ||
| + | < | ||
| + | Alias / | ||
| + | < | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Note that whatever URL path you mapped the `trac.cgi` script to, the path `/ | ||
| + | |||
| + | For example, if Trac is mapped to `/ | ||
| + | |||
| + | Alternatively, | ||
| + | < | ||
| + | [[:trac]] | ||
| + | htdocs_location = / | ||
| + | </ | ||
| + | |||
| + | |||
| + | Trac will then use this URL when embedding static resources into HTML pages. Of course, you still need to make the Trac `htdocs` directory available through the web server at the specified URL, for example by copying (or linking) the directory into the document root of the web server: | ||
| + | < | ||
| + | $ ln -s / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Adding Authentication ===== | ||
| + | |||
| + | The simplest way to enable authentication with Apache is to create a password file. Use the `htpasswd` program to create the password file: | ||
| + | < | ||
| + | $ htpasswd -c / | ||
| + | New password: <type password> | ||
| + | Re-type new password: <type password again> | ||
| + | Adding password for user admin | ||
| + | </ | ||
| + | |||
| + | |||
| + | After the first user, you dont need the " | ||
| + | < | ||
| + | $ htpasswd / | ||
| + | New password: <type password> | ||
| + | Re-type new password: <type password again> | ||
| + | Adding password for user john | ||
| + | </ | ||
| + | |||
| + | |||
| + | //See the man page for `htpasswd` for full documentation.// | ||
| + | |||
| + | After you've created the users, you can set their permissions using TracPermissions. | ||
| + | |||
| + | Now, you'll need to enable authentication against the password file in the Apache configuration: | ||
| + | < | ||
| + | < | ||
| + | AuthType Basic | ||
| + | AuthName " | ||
| + | AuthUserFile / | ||
| + | Require valid-user | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | If you're hosting multiple projects you can use the same password file for all of them: | ||
| + | < | ||
| + | < | ||
| + | AuthType Basic | ||
| + | AuthName " | ||
| + | AuthUserFile / | ||
| + | Require valid-user | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | 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:// | ||
| + | |||
| + | ---- | ||
| + | See also: TracGuide, TracInstall, | ||
traccgi.txt · Last modified: by 127.0.0.1
