Usually on Shared Hosting there are lots of restrictions, which makes it impossible to install CiviCRM. Few tricks that i learned over the time that might help others. (Especially if you can’t modify php.ini settings on shared hosting and you don’t know .htaccess) This is sort of customized installation procedure 🙂

1. Since we have more control on our local install, first install Joomla + CiviCRM on your machine. Make sure that local and live server versions are same. So that there is no conflict when you migrate.  I usually have separate database for CiviCRM, which make it easy for future upgrades and backups.

2. Once you have everything running on local server.

– Take the database backup of CiviCRM db.

– You need export INSERT statements for CiviCRM Component entries from you joomla_components table. Check below INSERT from my install.

– Take the backup of component/com_civicrm and administrator/component/com_civicrm  folders.

3. Now you are all set for migration. Most of the time Shared Hosting allow only ftp access and also there is no untaring/ unzipping utility.  So i would recommend to use a ftp client that resumes upload from the point it gets disconnected. So don’t use gFTP, I always had problems hence started using Filezilla.

– Upload component/com_civicrm and administrator/component/com_civicrm  to respective folder on your server.

– Modify civicrm.settings.php in both compnent/component/ and administrator/component/ make sure fix it according to your server settings.

– now make component entries in your joomla database on live server. If you are on latest CiviCRM 2.1.x and Joomla 1.5.x it should look like:

INSERT INTO `jos_components` ( `name`, `link`, `menuid`, `parent`, `admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`, `iscore`, `params`, `enabled`)
VALUES
( ‘CiviCRM’, ‘option=com_civicrm’, 0, 0, ‘option=com_civicrm’, ‘CiviCRM’, ‘com_civicrm’, 0, ‘js/ThemeOffice/component.png’, 0, ‘task=civicrm/profile\nreset=1\n’, 1),
( ‘CiviCRM Home’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/dashboard&reset=1’, ‘CiviCRM Home’, ‘com_civicrm’, 0, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘Find Contacts’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/contact/search&reset=1’, ‘Find Contacts’, ‘com_civicrm’, 1, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘Manage Groups’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/group&reset=1’, ‘Manage Groups’, ‘com_civicrm’, 2, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘Import Contacts’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/import&reset=1’, ‘Import Contacts’, ‘com_civicrm’, 3, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘CiviContribute’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/contribute&reset=1’, ‘CiviContribute’, ‘com_civicrm’, 4, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘CiviPledge’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/pledge&reset=1’, ‘CiviPledge’, ‘com_civicrm’, 5, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘CiviMember’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/member&reset=1’, ‘CiviMember’, ‘com_civicrm’, 6, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘CiviEvent’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/event&reset=1’, ‘CiviEvent’, ‘com_civicrm’, 7, ‘js/ThemeOffice/component.png’, 0, ”, 1),
( ‘Administer CiviCRM’, ”, 0, 34, ‘option=com_civicrm&task=civicrm/admin&reset=1’, ‘Administer CiviCRM’, ‘com_civicrm’, 8, ‘js/ThemeOffice/component.png’, 0, ”, 1);

Note the 34, is the parent id, so it’s the id of first record. you might have to modify it accordingly.

4. Lastly import CiviCRM database to live server CiviCRM database. Once you import make sure:

– Fire this command in your phpmyadmin or any other sql utitlity on your server for CiviCRM database.

UPDATE civicrm_domain SET config_backend=NULL;

– The login to your Joomla administration section and type this url to reset civicrm menus.

http://<joomla_site>/administrator/index2.php?option=com_civicrm&task=civicrm/menu/rebuild?reset=1

5. Now just logout and login to Joomla. CiviCRM should be working fine.

Few links that might help:

http://wiki.civicrm.org/confluence/display/CRMDOC/Moving+an+Existing+Installation+to+a+New+Server+or+Location

http://wiki.civicrm.org/confluence/display/CRMDOC/Install+2.1+for+Joomla

Note that this is hack to get CiviCRM working with Joomla. For official guide you should check http://wiki.civicrm.org

Hope this helps shared host user…

2 thoughts on “CiviCRM – Joomla on Shared Hosting”
  1. Simply want to say your article is as astonishing. The clearness in your post is just cool and i could assume you are an expert on this subject. Well with your permission allow me to grab your RSS feed to keep updated with forthcoming post. Thanks a million and please carry on the gratifying work.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.