|Use this document to UPGRADE CiviCRM installations on Joomla from versions 2.2.x, 3.x.x or earlier versions of 3.4|
IMPORTANT: CiviCRM 4.0 requires Joomla 1.6.x.
|Version 4.0 Requirements|
Before beginning this upgrade, verify that your server meets the requirements for CiviCRM 4.0.
- Joomla 1.6. : CiviCRM 4.0 has been built to run under Joomla 1.6.x and is not compatible with Joomla 1.0.x and Joomla 1.5.x sites.
- PHP 5.2.x : CiviCRM 4.0 is also compatible with PHP 5.3 (more info...).
- MySQL 5.0.x or higher with INNODB support : CiviCRM is compatible the current generally available MySQL release. Note that MySQL 5.1 is recommended for new installations and as sites are upgraded as CiviCRM is beginning to use Triggers more (eg to support multi-lingual installations), which require SUPER privileges in MySQL 5.0.
- PCRE with Unicode properties support (more info).
|Upgrade a Copy of Your Site First and Make a Complete Backup|
We strongly recommend that you create a copy of your existing site (directories and database) - and upgrade that copy first in order to make sure you can complete the upgrade successfully. In any case, you should create a full backup of the installed civicrm directory tree and civicrm database before beginning the upgrade process.
The steps below assume you are already running Joomla 1.6 -- having either already upgraded your site from Joomla 1.5 to 1.6, or running a clean 1.6 installation. If you have not yet upgraded to Joomla 1.6 you must do that before installing CiviCRM v4.x. Also note that if you used the jUpgrade extension to manage your Joomla upgrade, it would have created your upgraded site in a subdirectory (jupgrade/ by default). If you use that subdirectory site to upgrade CiviCRM you will need to alter your civicrm.settings.php file prior to the upgrade (to reflect the subdirectory) and after you complete the upgrade and move your site to a root directory (to again reflect the correct directory location).
1. Download and Un-tar CiviCRM Code
All CiviCRM code and packages used by CiviCRM (such as PEAR libraries) are included in the compressed CiviCRM distribution files ('tarballs'). Follow these steps to download and install the codebase:
- Download the appropriate archive file with your browser. Archive file-names include the CiviCRM version. For example, civicrm-4.0.xxx-joomla.zip.
- You may notice a file on the named something like civicrm-4.0.xxx-joomla-alt.zip the -alt version DOES NOT require .zip functions compiled into PHP by your hosting company. If you get errors like "Your PHP version is missing zip functionality. Please ask your system administrator / hosting provider to recompile PHP with zip support." - Try the -alt version.
- Upload this file to your JOOMLA_1.6.x_ROOT/tmp/ . Unzipping will create a directory called: com_civicrm.
2. Backup your CiviCRM database and settings file
Refer to the MySQLDump documentation or phpMyAdmin documentation if you need information on backing up your database.
Also make a backup/copy of civicrm settings files:
- <joomla_root>/components/com_civicrm/civicrm.settings.php and
If you have customized CiviCRM through PHP/template (tpl)/css overrides or hooks, you will need to update the code to the upgraded version. Depending on the extent and function-critical nature of your customizations, you may want to upgrade your installation in a development environment first where you can review each modified file, bring it current to the new codebase, and thoroughly test before implementing in a live environment.
If you modified any core files, also be prepared to backup and update them to the new release you are implementing.
3. Install the Extension
- Login to your Joomla Administrator site.
- Go to Extensions » Extension Manager » Install
- Use the Install from Directory option and enter the full path to the un-zipped com_civicrm directory, which should be something like JOOMLA_1.6.x_ROOT/tmp/com_civicrm. If your temp directory is configured correctly you should only need to add "com_civicrm" to the prepopulated path.
- You should see "CiviCRM successfully installed" message.
*If you get the following error when installing or upgrading CiviCRM for Joomla!,* download and use the civicrm-4.0.x-joomla-alt.zip package.
Your PHP version is missing zip functionality. Please ask your system administrator/hosting provider to recompile PHP with zip support.
The steps above will install CiviCRM directly on top of your existing installation. If you run into any issues, such as the component not appearing to reflect the new version, you may need to first uninstall the existing version and then install the new version. Uninstalling CiviCRM will remove the component files, but will not impact your database in any way.
4. Run the Database Upgrade script
|MySQL 4.0 and 4.1 are Not Supported|
Support for MySQL versions 4.0 and 4.1 has been discontinued. This means that you may encounter various issues and/or unexpected behavior if you atempt to run CiviCRM under these versions, and the CiviCRM engineering team will not provide support for debugging or resolving these issues. You are strongly encouraged to upgrade to the current generally available release of MySQL.
After the component installation completes you will be given a link to initiate the database upgrade script. You may also point your web browser to the following URL (you should already be logged in to Joomla with administrator-level permissions):
You should see an Upgrade successful message when the upgrade completes.
- If you receive any errors during the process, please note the exact error message and check for solutions on the community support forum.
- Now click the Return to CiviCRM home page link. This will rebuild CiviCRM menus automatically and return you to the CiviCRM home dashboard. You should see the message Menu has been rebuilt.
- You should be up and running with the latest CiviCRM version. Confirm by checking the version and revision in the page footer. Note that you may need to refresh the browser screen a couple times to clear out your local cache and ensure the layout loads correctly.
- Take some time to browse the CiviCRM features that your organization uses. If you notice unexpected behaviors or error messages, refer to the trouble-shooting section below.
5. Verify and Update Configuration Settings
- Go to Administer CiviCRM » Global Settings » Resource URLs
- Refer to the field help on that screen for instructions.
With each new release of CiviCRM there may be new sub-components and configuration settings available. Visit Administer » Global Settings and review each section to make sure your system is configured as desired. If you uninstalled CiviCRM before installing the new version please be sure to review each setting carefully as it's possible some of your settings were reset to the default options.
6. Restore settings file changes
Review the backup versions of the files below and compare them with the new versions just installed. In particular, make sure your site key value was retained and any of the configuration options found in those files are still intact.
If you are seeing unexpected behavior after completing the upgrade, you may need to reset your session. First log-out of your Administrator session and log back in. This may resolve the issues. If this doesn't help, use this procedure to force a session reset:
- Temporarily enable CiviCRM debug features:
- Go to Administer CiviCRM » Global Settings » Debugging
- Set Enable Debugging to Yes and click Save.
- Click the Administer CiviCRM menu (or any other CiviCRM menu item). After the page is loaded, add an additional query string value (&sessionReset=2) to the URL in your browser's location bar, and reload the page.
- Clear template cache by adding an additional query string value (&directoryCleanupReset=1)
- Now set Enable Debugging to No and click Save.
|Do Not Leave Debug Features Enabled for a Public Site|
Debugging should be disabled for publicly available sites as it may allow browsers to view system configuration information.
Download and run the Database Troubleshooting Tools to test the current state of the database and provides a diagnosis. The tools suite also includes a repair facility.
Remove cached copies of old templates
It may be that the install did not clear out the template cache. Try removing the cache contents. For example, with Linux, use with a command like:
This will force CiviCRM to load the new templates rather than cached copies of the old ones.
Need More Help?
If you have any problems with these procedures, try searching the community forums and this wiki for solutions. If you've gotten an error message, use that message in your search. If you can not resolve the problem, then post your problem to the forum. Be sure to include the CiviCRM version and revision you are upgrading FROM and TO; your Joomla version; your PHP and MySQL versions; the steps you've taken and a the exact error message or problem that resulted.