The steps below assume you are already running Joomla 2.5 -- having either already upgraded your site from Joomla 1.5 to 2.5, or running a clean 2.5 installation. If you have not yet upgraded to Joomla 2.5 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:
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. Note that not all versions of mysql or phpmyadmin export triggers or stored procedures by default.
Also make a backup/copy of civicrm settings files:
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 have created CSS changes in the extras.css to override the standard CiviCRM CSS settings, back up this file from <Joomla-root>/administrator/components/com_civicrm/civicrm/css as it does get overwritten during the upgrade installation.
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
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
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.
5. Verify and Update Configuration Settings
With each new release of CiviCRM there may be new sub-components and configuration settings available. Visit Administer » System 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:
Upgrade script fails with fatal database-related errors OR reports "Database check failed"
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.