wiki:ToolUpgrade

Version 11 (modified by Nicolas, 16 years ago) (diff)

m

Upgrading server software

The BOINC server software (scheduler, daemons, web pages) is continually improved and debugged. We recommend that projects upgrade to the latest version every few weeks or so. There may also be points upgrades are mandatory to continue working with current client software. We maintain a list of recent changes.

The steps in upgrading are as follows:

  1. (Optional) Stop the project, and make backups of the project database and the project tree.
  2. Download? (using SVN) the current source code. Compile it in your BOINC source directory.
  3. Run the upgrade script:
    $ cd source/tools
    $ ./upgrade project_name
    
    The upgrade script copies files from the source/html/, source/sched and source/tool directories to the corresponding project directories (the default project root directory is $HOME/projects/project_name; upgrade takes an optional environment variables INSTALL_DIR specifying the project's root directory).

Note: the 'upgrade' script copies everything. If you want to update just a part of BOINC (e.g., the PHP files) you can do this manually.

  1. Update your project's database if needed:
    $ cd project/html/ops
    
    and look at the file db_update.php. This has a number of functions with names like
    update_8_05_2005()
    
    Each function performs a particular database update. You must perform all updates, in sequence, since your last server software upgrade. (If you're not sure when that was, you can use mysql to see that current format of your database, e.g., 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.
  2. 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).