| 1 | An outline of the project itself can be found here: http://bit.ly/rht93U |
| 2 | |
| 3 | |
| 4 | = Integrating Drupal with BOINC = |
| 5 | |
| 6 | 1. Download Drupal 6 and install it into a prepared web root / virtual host. Alternatively, use a package manager for easier installation. In either case, be sure to include the allow overrides directive, as .htaccess files must be able to work. Also, enable mod_rewrite in Apache, if not so already, so that clean URLs can be used. |
| 7 | |
| 8 | 2. Clone the BOINC source repository somewhere on the server (e.g. /BOINC/drupal-boinc) and link the sites/all/ directory in the Drupal web root to the drupal/sites/all/ directory in the BOINC source via symbolic link. Also clone the project specific source repository similarly (e.g. /BOINC/drupal) and link the sites/default/project/ directory there to sites/default/project/ in the project specific source. |
| 9 | |
| 10 | 3. Import a working copy of the BOINC database to MySQL, granting permissions for SELECT, INSERT, UPDATE, and DELETE to an appropriate user (e.g. boinc) on boinc_db_name@localhost. |
| 11 | |
| 12 | 4. Import the pre-configured Drupal database and grant permissions for SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE_TMP_TABLE, and LOCK_TABLES to an appropriate user (e.g. drupal_boinc) on drupal_db_name@localhost. |
| 13 | |
| 14 | 5. Edit the dbconfig.php file in sites/default/ of the web root so that db variables are appropriate for the Drupal database and boinc_db variables likewise allow access to the BOINC database. |
| 15 | |
| 16 | Basic functionality should now be in place. Create an account and then set its uid to 1 in the Drupal users table for unlimited admin access in Drupal. |
| 17 | |
| 18 | |
| 19 | = Troublshooting = |
| 20 | |
| 21 | == Errors Referencing Old URLs or File Paths == |
| 22 | |
| 23 | If there are Drupal caches causing references to files that don't exist, the first thing to try is to access the page at: |
| 24 | {{{ |
| 25 | /admin/settings/performance |
| 26 | }}} |
| 27 | |
| 28 | At the bottom is a button to "Clear cached data", which is typically the first thing to try in general Drupal troubleshooting. |
| 29 | |
| 30 | If the error prevents even access to that page, create a clear_cache.php file in the Drupal root directory: |
| 31 | |
| 32 | {{{#!php |
| 33 | <?php |
| 34 | include_once('./includes/bootstrap.inc'); |
| 35 | drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
| 36 | drupal_flush_all_caches(); |
| 37 | ?> |
| 38 | }}} |
| 39 | |
| 40 | Accessing that page should also clear the cache. |
| 41 | |
| 42 | If neither of those work (or if direct DB access is not difficult), go straight to the database and run the following query: |
| 43 | {{{#!sql |
| 44 | DELETE FROM cache; |
| 45 | }}} |
| 46 | There are a number of cache_* tables to clear, but with any luck that one will suffice to then use one of the easier methods above to finish clearing them automatically. |