HOWTO

- Run taskforest all day with cron
- Allow a user to view the web site
- Start the web server
- Stop the web server
- Create a self-signed certificate with openssl

Run taskforest all day with cron

This is the kind of line I have in my crontab:

    02 00 * * * /a/b/taskforest --config_file=/b/c/taskforest.cfg

Allow a user to view the web site

Please make sure you read the section entitled "Web Server Security" for important security considerations.

Having said that, : The userids and passwords are specified in the configuration file using the same format as Apache's .htpasswd files. You can see commented-out examples of this in the configuration file taskforestd.cfg. For your convenience, the TaskForest distribution includes a program called `gen_passwd` that generates text that you can copy and paste into the config file:

    gen_passwd foo bar

The above command will print out somthing that looks like the following;

    foo:4poVZGiAlO1BY

This text can then be copied and pasted into the configuration file.

Make sure you stop the server and restart it after making any changes to the configuration file.

Start the web server

To start the web server, run the taskforestd program with the `--config_file` and `--start` options. For example:

    taskforestd --config_file=taskforestd.cfg --stop

    OR

    taskforestdssl --config_file=taskforestd.cfg --stop

Stop the web server

To stop the web server, run the `taskforestd` program with the `--config_file` and `--stop` options. For example:

    taskforestd --config_file=taskforestd.cfg --stop

    OR

    taskforestdssl --config_file=taskforestd.cfg --stop

Create a self-signed certificate with openssl

This is what works for me (instructions found at http://www.modssl.org/docs/2.8/ssl_faq.html#ToC25 ).

    1) Create a server key

    openssl genrsa -des3 -out server.key.en 1024

    2) Make a decrypted version of it

    openssl rsa -in server.key.en -out server-key.pem

    3) Create a CSR (Certificate Signing Request)

    openssl req -new -key server-key.pem -out server.csr

    4) Create a CA Private Key

    openssl genrsa -des3 -out ca.key.en 1024

    5) Create a decrypted version of it

    openssl rsa -in ca.key.en -out ca.key

    6) Create a 10-yr self-signed CA cert with the CA key

    openssl req -new -x509 -days 3650 -key ca.key -out my-ca.pem

    7) Sign the CSR

    sign.sh server.csr

       The sign.sh program can be found in the
       pkg.contrib/ subdirectory of the mod_ssl
       distribution.  It is not clear whether or not I
       can include that script in this distribution,
       so for now at least, you'll have to use your
       own copy.  Make sure you specify the locations
       of the files in the taskforestd configuration
       file.