|Install CiviCRM 4.0 on Joomla 1.6|
IMPORTANT: 4.0 requires Joomla 1.6.x.
Before beginning the install process, please verify that your server meets the requirements for CiviCRM 4.0.
- Joomla 1.6.x : CiviCRM 4.0 is built to run under Joomla 1.6 and is not compatible with Joomla 1.0.x and Joomla 1.5.x sites.
- PHP 5.2.1+ or 5.3.x : Starting with the 1.9 release, CiviCRM will NOT run on PHP 4 servers.\ (more info...).
- MySQL 5.1.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 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).
If you are upgrading from v3.3, or an earlier version of 4.0 - use these instructions.
CiviCRM is a resource heavy module and does not work well on GoDaddy or Site5 shared hosting. The install process typically does not complete successfully. The forums have a lot of posts on this topic.
1. Server Requirements
CiviCRM for Joomla has been developed and tested by our team on the following 'recommended' platforms:
- Apache 2.0
- PHP 5.2.x (or newer)
- MySQL 5.1.x with INNODB enabled
- Joomla 1.6.x
Caution: Under Linux, the optional CiviMail component requires PHP 5.X with SOAP and DOM extensions, Postfix 2.2 (a mailer), and Perl 5.8.X. (more info...)
2. Joomla Installed
The automated installer requires Joomla 1.6.x.. If you do not have the required version of Joomla installed, refer to:
- Joomla Installation Guide
|Path for Joomla|
The rest of these instructions assume that you have Joomla installed in /var/www/joomla. Adjust paths as needed.
3. 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 tarball file from here with your browser. Tarball file-names include the CiviCRM version. For example, civicrm-4.0.x-joomla.zip. If you have command line access to your server, use wget and the URL of the file to pull a copy directly to your server. Then you can skip the next step.
- Upload this file to a folder in your root Joomla! directory. Recommended location: JOOMLA_ROOT/tmp/.
- Unzip the package, which will create a directory called: com_civicrm. On cPanel, you can use the File Manager's Extract function to unzip the file you uploaded.
Note: when installing a new version over an old one, please check first "6. Trouble-shooting resources" below
4. Run the Installer
- Login to your Joomla Administrator site.
- Go to Extensions >> Install/Uninstall.
- Use Install from Directory and enter the full path to the un-zipped com_civicrm directory, which should be something like: JOOMLA_ROOT/tmp/com_civicrm/. In most Joomla! installations, the root directory and /tmp/ folder will already populate the "install from directory" field. You must simply add the /com_civicrm/ subfolder at the end. Click Install. If that doesn't work:
- put the full file system path to the com_civicrm, something like /home/yourusername/public_html/yourjoomladirname/tmp/com_civicrm/ - that worked for me on both a cPanel and a Virtualmin server.
- You should see "Component successfully installed" message.
If you get the following error when installing or upgrading CiviCRM for Joomla! - you can downloading the alternate Joomla install file - civicrm-4.0.x-joomla-alt.zip - which doesn't require built-in unzip functionality on your server. Then repeat the install steps starting with step 3 above.
Your PHP version is missing zip functionality. Please ask your system administrator / hosting provider to recompile PHP with zip support.
Once installed, CiviCRM keeps your Joomla Users synchronized with corresponding CiviCRM contact records. The 'rule' is that there will be a matched contact record for each Joomla user record. Conversely, only contacts who are authenticated users of your site will have corresponding Joomla user records.
When CiviCRM is installed on top of an existing Joomla site, a special CiviCRM Administrative feature allows you to automatically create CiviCRM contacts for all existing Joomla users:
- Login to your Joomla site with an administrator-level login
- Click the Components >>CiviCRM >>CiviCRM Home link in the main navigation block
- Click Administer CiviCRM
- Click Synchronize Users-to-Contacts in the top group of icons
6. Trouble-shooting Resources
If the CiviCRM component does not install correctly (for example you get a blank screen instead of the confirmation page), delete the ~/components/com_civicrm and ~/administrator/components/com_civicrm and ~/media/civicrm directories manually and then try each of the following before attempting to reinstall:
- In your php.ini file or in .htaccess file in the Joomla root folder (if your server allows it), increase the max_execution_time to 600 and memory limit to more than 32M.
* CiviCRM is packaged with all the libraries (PEAR etc) that it uses. However a misconfigured or overly restrictive open_basedir directive on your web server might interfere with CiviCRM's ability to access some required files or directories. To turn open_basedir off, add this to your vhost.conf file: php_admin_value open_basedir none or ask your host to either turn it off or ensure that it is not preventing access to required directories (e.g. if you move configuration files or temp folders outside your web root). The configuration of sub domains might cause related issues: try installing in the main domain root or a sub folder instead.
Review the Installation and Configuration Trouble-shooting section of our wiki for help with problems you may encounter during the installation.
You can often find solutions to your issue by searching the installation support section of the community forum OR the community mailing list archives, and you can check out the Installation section of our FAQs.
If you don't find an answer to your problem in those places, the next step is to post a support request on the forum.