Setting up a scheduling server

The BOINC scheduling server runs as a CGI or fast CGI program under Apache or similar web server. The host must have access to the project's BOINC database.

The scheduling server uses an auxiliary program called "feeder"; the two programs communicate through a shared-memory segment.

Both programs read a configuration file config.xml with the following form:

<config>
    <db_name>david_test</db_name>
    <db_passwd></db_passwd>
    <shmem_key>0xbeefacafe</shmem_key>
    <key_dir>/home/david/boinc_keys</key_dir>
    <upload_dir>/home/david/boinc_projects/test/upload</upload_dir>
    <user_name>david</user_name>
</config>
The elements are as follows:

db_nameThe name of the BOINC database
db_passwordThe password of the BOINC database
shmem_key The identifier of the shared-memory segment; it is an arbitrary 32-bit quantity, but must be unique among different BOINC servers sharing a single host.
key_dir The directory containing the file upload authentication private key.
upload_dir The directory where uploaded files are stored (this is used by the data server).
user_name This name is prepended to web log error messages to distinguish between multiple servers on a single host.

You must modify your Apache config file to allow execution of the scheduling server. For example:

ScriptAlias /boinc-cgi/ "/users/barry/cgi/"

<Directory "/users/barry/cgi/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>