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 15: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: 2015/06/09 15:23 by 127.0.0.1