// -*- html -*- require_once("docutil.php"); page_head("Setting up a single-host server"); ?> TODO: update stuff about make_project (don't add application/appversion in make_project); move it to tool_make_project.php.
BOINC provides a set of scripts for setting up and controlling a BOINC server complex. These scripts require all the server components to run on a single host. This has been tested only on Linux and Solaris hosts; it may work with small modifications on Windows also.
The scripts can be used to create multiple BOINC projects on the same host. This can be handy for creating separate projects for testing and debugging. In fact, the scripts are part of a general testing framework that allows multiple developers to work independently on a single host, with each developer able to create multiple projects.
Install all components listed in the Software Prerequisites page. Your operating system must have shared memory enabled, with a max shared segment size of at least 32 MB.
Run the make_project
script; example command line:
cd tools/ ./make_project --base $HOME/boinc --url_base http://boink/ yah 'YETI @ Home' upper_case 'UpperCase'See 'make_project --help' for more command-line options available (such as finer control of directory structure or clobbering an existing installation).
The script does the following:
boinc_projects/ proj1/ config.xml bin/ cgi-bin/ log/ pid/ download/ html_ops/ html_user/ keys/ upload/ proj2/ ...where proj1, proj2 etc. are the names of the projects you create. Each project directory contains:
start
program as well as all the daemons
make_project
script it will give you lines to
append to your Apache httpd.conf
. (Basically you need to alias
html_user, alias html_ops, and script-alias cgi-bin, all with appropriate
directory permissions.) It will also give you a crontab line to install.
You should also set the default MIME type as follows:
DefaultType application/octet-stream
At this point you hopefully have a functioning BOINC server, but it has no applications or work to distribute. The remaining steps to make a public project include: