boinc/doc/install.html

161 lines
5.1 KiB
HTML

<title>Installing a BOINC server</title>
<h2>Installing a BOINC server</h2>
<table width=780><tr><td>
<p>
To create a BOINC server you must have the following software installed:
<ul>
<li> MySQL
<li> Apache with PHP
</ul>
If Apache is configured to run with Fast CGI, rename fcgi to cgi in
the "boinc/sched" directory, replacing the existing cgi.
<p>
Add the following environment variables (with appropriate changes) to your .tcshrc
<pre>
# These 5 are used at compile time
setenv BOINC_DB_NAME boinc_barry
setenv BOINC_DB_PASSWD
setenv BOINC_KEY 0xdabacafe
setenv BOINC_KEY_DIR ~/keys
setenv BOINC_UPLOAD_DIR ~/upload
# These 3 are used at runtime
setenv BOINC_DOWNLOAD_DIR ~/download
setenv BOINC_UPLOAD_URL http://maggie.ssl.berkeley.edu/barry/cgi/file_upload_handler
setenv BOINC_DOWNLOAD_URL http://maggie.ssl.berkeley.edu/barry/download
# These 4 are for test scripts
setenv BOINC_PLATFORM sparc-sun-solaris2.7
setenv BOINC_EMAIL barry@ssl.berkeley.edu
setenv BOINC_USER barry
setenv BOINC_MASTER_URL http:\\\\\/\\\\/maggie.ssl.berkeley.edu\\\\/~barry
</pre>
Each time BOINC_DB_NAME, BOINC_DB_PASSWD, BOINC_KEY, BOINC_KEY_DIR, or BOINC_UPLOAD_DIR are
changed you must recompile the scheduler by going into the sched/ directory, typing
"make clean", "make", and "make install".
<p>
After setting your necessary environment variables you must edit your httpd.conf to
configure Apache.
Add the following lines (with appropriate changes) where aliases are placed.
<pre>
Alias /barry/ "/disks/philmor/a/users/barry/"
&#60;Directory&#62;
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Alias from all
&#60;/Directory&#62;
</pre>
This allows you to resolve URL's and path names that go to your home directory.
This way you can have your upload and download directories, key directory, and cgi
directory in your home directory and still have them reacheable through the web.
<p>
In addition add the following lines (with appropriate changes) where script
aliases are placed.
<pre>
ScriptAlias /barry-cgi/ "/disks/philmor/a/users/barry/cgi/"
&#60;Directory "/disks/philmor/a/users/barry/cgi/"&#62;
AllowOverride None
Options None
Order allow,deny
Allow from all
&#60;/Directory&#62;
</pre>
This allows CGI files to be executed in the specified directory. You will put
your scheduler and file_upload_handler into this directory.
<p>
You must make a directory for downloads and a directory for uploads. Make sure
that the download directory is world readable. You must also make a directory to hold
the different necessary keys.
<p>
Now you are ready to install BOINC.
Unzip and untar the BOINC release. Type
"configure", "make", and "make install". "make" will compile all the source
code and "make install" will install a BOINC server in the INSTALL_DIR (currently
set to /usr/local/boinc/) specified in the Makefile.
<p>
Go into the boinc/test directory, and type
<h4>
test_uc.php
</h4>
This script runs a test case that initializes the database with a
user account, application and workunits, runs the client, and checks the
results.
<h4>
BOINC_DB_NAME
</h4>
This is name of the database that the particular BOINC project you are running
uses. Each BOINC project must have a different BOINC_DB_NAME.
<h4>
BOINC_DB_PASSWD
</h4>
<h4>
BOINC_KEY
</h4>
This should be set to any 32 bit hex value desired. To run
multiple BOINC projects on one machine, each project needs to have
a different BOINC_KEY compiled into it. The BOINC_KEY is used to create
a shared memory segment. Each project has a different shared memory segment.
<h4>
BOINC_KEY_DIR
</h4>
This should be set to a directory in which the public and private
keys for BOINC are to be created. If you wish to place this in a
different directory, change the variable appropriately.
<h4>
BOINC_UPLOAD_DIR
</h4>
This is where clients will upload their results to. It is important
that this directory is different from the BOINC_DOWNLOAD_DIR.
<h4>
BOINC_DOWNLOAD_DIR
</h4>
This is where clients will download project applications and other necessary files to run
those applications from. It is important that this directory is different from
the BOINC_UPLOAD_DIR.
<h4>
BOINC_UPLOAD_URL
</h4>
This is the url to the file_upload_handler.
<h4>
BOINC_DOWNLOAD_URL
</h4>
This is the url to the BOINC_DOWNLOAD_DIR.
<h4>
BOINC_PLATFORM_NAME
</h4>
This is currently used by one of the test scripts.
It is not critical for the running of BOINC. Normally, projects
will have a list of platforms that their applications will be allowed to run
on.
<h4>
BOINC_EMAIL
</h4>
This is currently used by one of the test scripts to create a user.
It is not critical for the running of BOINC.
<h4>
BOINC_USER
</h4>
This is currently used by one of the test scripts to create a user.
It is not critical for the running of BOINC.
<h4>
BOINC_MASTER_URL
</h4>
This is currently used by one of the test scripts.
It is not critical for the running of BOINC. Normally, each
project will be identified by a BOINC_MASTER_URL. The client will
go to this URL and will be told where to go to get work from the
scheduler.
</td></tr></table>