Fossil SCGI

Fossil SCGI

To run Fossil using SCGI, start the fossil server command with the --scgi command-line option. You will probably also want to specific an alternative TCP/IP port using --port. For example:

fossil server $REPOSITORY --port 9000 --scgi

Then configure your SCGI-aware web-server to send SCGI requests to port 9000 on the machine where Fossil is running. A typical configuration for this in Nginx is:

location ~ ^/demo_project/ {
    include scgi_params;
    scgi_pass localhost:9000;
    scgi_param SCRIPT_NAME "/demo_project";
    scgi_param HTTPS "on";

Note that Nginx does not normally send either the PATH_INFO or SCRIPT_NAME variables via SCGI, but Fossil needs one or the other. So the configuration above needs to add SCRIPT_NAME. If you do not do this, Fossil returns an error.