= 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 [ServerUpdates 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. 1. [SourceCode Download] (using SVN) the current source code. Compile it in your BOINC source directory. 1. 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. 4. 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 {{{ #!php 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. 1. 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).