Warning: Parameter 1 to Language::getMagic() expected to be a reference, value given in /home/boincnew/public_html/boinc-wiki.info/w/includes/StubObject.php on line 58
Software Prerequisites for Hosting a BOINC Project - Unofficial BOINC Wiki

Software Prerequisites for Hosting a BOINC Project

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] General

The BOINC System Software requires support from other software packages to perform its functions. The goal of the BOINC System is to enable an organization to create a system framework to perform Distributed Computing with minimal cost. In light of this, the majority of the additional software packages are Open Source.

[edit] Unix

We develop on Solaris Operating Environment 2.6-2.9, Red Hat 8 and Enterprise Edition, Apple Mac OS X, and Debian Linux stable and unstable, so those currently work out-of-the-box. Other Unix-like systems should work without too much configuration.


Server Core client
BOINC Manager
Applications
(non-graphical)
Applications
(graphical)

GNU tools:
GCC 3.0.4+
autoconf 2.59+
automake 1.9.3+

X X X X X
Python 2.2+

MySQLdb module 0.9.2+
(see Installing MySQL/Python Instructions)
xml module

X



MySQL 4.0+ or 4.1+
MySQL client

X



Apache with mod_ssl and PHP 4.0+ X



WxWidgets 2.6



X

GL, GLU, GLUT libraries



X
X11 libraries and include files

X
X
configure option --enable-server --enable-client --enable-client (if WxWidgets and X11 found) --enable-client --enable-client (if GL/GLU/GLUT found)

[edit] Operating System Notes

[edit] WxWidgets Notes

Configure with the --with-gtk --disable_shared options (BOINC needs a static library).

If you have an older WxWidgets install, uninstall it (make uninstall), then install 2.6.

[edit] MySQL Notes

  • After installing and running the server, grant permissions for your own account and for the account under which Apache runs ('nobody' in the following; may be different on your machine). All mysql accounts should be password protected including root.
    mysql -u root
    grant all on *.* to yourname@localhost identified by 'password';
    grant all on *.* to yourname identified by 'password';
    grant all on *.* to nobody@localhost identified by 'password';
    grant all on *.* to nobody identified by 'password';
  • Set your PATH variable to include MySQL programs (typically /usr/local/mysql and /usr/local/mysql/bin).
  • You'll need to back up your database. Generally this requires stopping the project, making a copy or snapshot, and restarting. An Example of a MySQL BOINC Database Archive.

[edit] PHP Notes

  • Make sure 'magic quotes' are enabled (this is the default). The file /etc/php.ini should contain
magic_quotes_gpc = On
  • By default, the BOINC Server Software uses PHP's mail function to send an e-Mail to Participants. This uses sendmail. If this doesn't work, you can use PHPMailer instead, which is a very flexible mail-sending mechanism. To do this:
    • Download PHPMailer and put it under PROJECT/html/inc/phpmailer.
    • Set the following variables in your PROJECT/html/project/project.inc file (substitute your own values):
$USE_PHPMAILER = true;
$PHPMAILER_HOST = "xxx.xxx.xxx";
$PHPMAILER_MAILER = "smtp";

[edit] X11 Notes

To get the X11 support, select the relevant options when you're installing Linux, or (Redhat) go to System Settings/Add Software.

  1. Notes for Debian Linux.

[edit] Apache Notes

Make sure httpd.conf sets the default MIME type as follows:

DefaultType application/octet-stream

Suppose Apache runs as user 'apache' and the BOINC Daemons run as user 'boincadm'. Directories created by apache need to be writeable to boincadm. This can be done in any of several ways:

  • Use Apache's suexec mechanism to make the CGI Programs run as boincadm.
  • Make the CGI Programs setuid and owned by boincadm.
  • Edit /etc/group so that boincadm belongs to group apache, i.e. the line:
    apache:x:48:

becomes:

    apache:x:48:boincadm

Add these two lines to the beginning of the apache start script (called apachectl, usually in /usr/sbin on linux):

    umask 2
    export umask

Apache will need to be stopped/restarted for this to take effect. Now any file apache creates should have group writeable permissions (thanks to the umask) and user boincadm, who now belongs to group apache, should be able to update/delete these files.

[edit] Microsoft Windows®

To develop the BOINC Client Software for this as a target you will need the following:


BOINC Daemon
BOINC Manager
Installer Applications
Visual Studio .NET (Visual C++ 7.0) X X
X
WxWidgets 2.4.2
X

Installshield X

X


[edit] WxWidgets Notes

  • Download and install the WxWidgets source according to instructions on the web site.
  • In Settings/Control Panel/System, select Advanced; click Environment Variables. Under 'User variables' click New. Create a variable named 'wxwin' with value 'c:\wx' (or wherever you installed it). Then restart Visual Studio.

[edit] UCB Source

[edit] Copyright ©

  • 2005 University of California
  • 2005 Paul D. Buck

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

Personal tools
RSS Feeds
BOINC Wiki RSS feeds RSS Feeds
Powered by BOINC!
Powered by BOINC