Version 18 (modified by 16 years ago) (diff) | ,
---|
Upgrading server software
The BOINC server software (scheduler, daemons, web pages) is continually improved and debugged. We recommend that projects upgrade whenever a new server_stable version is released. There may also be points where upgrades are mandatory to continue working with current client software. We maintain a list of recent changes.
The steps required to upgrade are as follows:
- (Optional) Stop the project.
- Download? (using SVN) the server_stable branch (or the trunk). Compile it in your BOINC source directory (called `source' below).
- Recompile all project-specific back end programs (validators, assimilators).
- Run the upgrade script:
$ cd source/tools $ ./upgrade project_name
The upgrade script copies files from thesource/html/
,source/sched
andsource/tool
directories to the corresponding project directories and selected files fromsource/py/BOINC' to the project
bin' directory.
The default project root directory is
$HOME/projects/project_name
. If this is not where your project lives then you also need to use the--project_root
flag to specify the location of the directory above where your project lives, like so:$ ./upgrade --project_root=/path/to/projects project_nameThe project directory would then be
/path/to/projects/project_name
.
It is possible to update only the web pages (PHP files), using the
--web_only
flag:$ ./upgrade --web_only project_name
- Start the project, and check log files to make sure everything is OK. Run the BOINC client and test basic functions (attaching to project, getting work).
Updating the database structure
Starting with SVN changeset [16160], database updates are performed automatically by upgrade. Older updates must be done as follows.
$ cd project/html/ops
and look at the file db_update.php
. This has a number of functions in it with names like
update_8_05_2005()
Each function performs a particular database update.
You must perform all updates, in sequence, starting from your last server software upgrade.
If you are not sure when that was, you can use mysql
to see that current format of your database.
For example, to see the fields in the user
table, type
$ mysql project_name mysql> explain user;
To do a particular update, edit db_update.php
so that (at the bottom) it calls that function.
Then do
$ php db_update.php
Repeat this for the necessary updates, in increasing chronological order.