Make skeletal project
- Compile the BOINC software, say into HOME/boinc.
Make sure MySQL is configured and running.
- Run HOME/boinc/tools/make_project
- Append the contents of projects/PROJECT/PROJECT.httpd.conf
to httpd.conf and restart Apache.
- Insert a cron job to run the project's periodic tasks, e.g.
0,5,10,15,20,25,30,35,40,45,50,55 * * * * HOME/projects/PROJECT/bin/start --cron
(if cron cannot run 'start', try using a helper script
to set PATH and PYTHONPATH)
- Copy project.xml from HOME/boinc/tools to HOME/projects/PROJECT,
edit it to taste,
and run bin/xadd.
- Edit html/project/project.inc, changing the
master URL and copyright holder.
- Using htpasswd,
add .htaccess and .htpasswd files to html/ops.
Visible result: the project web site is up.
The database 'platforms' table has several rows.
Troubleshooting:
check the Apache access and error logs.
Create an application version
- Create a BOINC application executable
(if you're in a hurry, use the test application).
- Copy the executable to HOME/projects/PROJECTNAME/apps/APPNAME
- cd to HOME/projects/PROJECTNAME/bin
- run ./update_versions, type y or return.
- run ./stop && ./start
Visible result: the web site's Applications page has an entry.
Create a work unit
- Using a text editor, create a work unit template file
and a result template file.
- Run create_work
- Edit config.xml to add
".htmlspecialchars("")." records for
make_work,
feeder,
transitioner,
file_deleter,
the trivial validator,
and the trivial assimilator.
For example",
html_text(
"
validate_test -app appname
validate_test.pid
"
),
"
Visible result: after a project restart,
'status' shows the above daemon processes running.
Troubleshooting: check the log files of all daemon processes.
Test the system
- Create a client directory (on the same computer or different computer), say HOME/boinc_client.
Copy the core client there.
- Using the web interface, create an account on the project.
- Run the core client;
enter the project URL and the account key.
Visible result: the client does a stream of work;
the web site shows credit accumulating.
Troubleshooting: check the log files of all daemon processes.
Develop back end components
- Write a work generator.
- Write a validator.
- Write an assimilator.
- Edit the configuration file to use these programs
instead of the place-holder programs.
- Make sure everything works correctly.
Extras
- Make the core client available from your site
- Add message board categories: see html/ops/create_forums.php
";
page_tail();
?>