Published
Monday, November 13, 2006 - 03:28
Written by

This is what worked for me using Control Panel, FTP, File Manager and PHPMyAdmin.

Before you begin make sure you have a working Drupal 4.7 already installed. Have the name of the database, database user and password handy as well as the name of your mysql host. If you can’t find the name of your mysql host anywhere on your host’s site then your mysql host is probably localhost. Save yourself the aggravation and get all these things written down beside you before you even start installing CiviCRM.

1. Use FTP to upload the zip/tar CiviCRM directly into the drupal/modules folder.

2. Go to your Control Panel or whatever method you use to create new databases and create a new database called civicrm. You will already have a database user name and password from your Drupal installation. Go to your list of database users and add a user to the new civicrm database you just created. Make sure to give the user full privileges.

3. Go to File Manager and find your way to your drupal/modules folder. That’s where you put your CiviCRM zip/tar file. Unzip the CiviCRM file and you will have your CiviCRM folder right where you need it to be…in the drupals/modules folder.

4. Now for the tricky part. You have to change some coding in the civicrm.settings.php.sample file in the new CiviCRM folder. They have written a ton of “examples” in the script so it’s difficult to see exactly where you have to configure it.

Ignore all the lines that start with an * symbol…they are just instructions. I’ve removed all the examples to make this less confusing. Look for the “define” lines that DON’T start with the * symbol as well as the other lines without that symbol and those are the lines you either must or can configure.

Pay CLOSE attention in defining the database information. The first defines is for your DRUPAL database and the second is for your CIVICRM database. You can put them in the same database if you really want to but I strongly advise against it. If something goes wrong and they are on separate databases then you can remove CiviCRM without breaking your Drupal installation. Use two separate databases and then if they don’t work right together it will be much easier to deal with it.
________________________________________________________________________

define( 'ENABLE_COMPONENTS', 'CiviContribute,CiviMember,CiviMail' );
define( 'CIVICRM_UF' , 'Drupal' );
define( 'CIVICRM_UF_VERSION' , '4.7' );
define( 'CIVICRM_UF_URLVAR' , 'q' );
define( 'CIVICRM_UF_DSN' , 'mysql://db_user:password@mysqlhost/yourdrupal_db?new_link=true' );
define( 'CIVICRM_UF_USERSTABLENAME', 'users' );
global $civicrm_root;
$civicrm_root = './modules/civicrm';
define( 'CIVICRM_TEMPLATE_COMPILEDIR', './modules/civicrm/templates_c/' );
define( 'CIVICRM_UPLOADDIR' , './modules/civicrm/upload/' );
define( 'CIVICRM_IMAGE_UPLOADDIR' , './modules/civicrm/persist/');
define( 'CIVICRM_CUSTOM_FILE_UPLOADDIR' , '.modules/civicrm/crm_docs/' );
define( 'CIVICRM_UF_BASEURL' , ‘http://your site.com/drupal/' );
define( 'CIVICRM_UF_RESOURCEURL' , 'http://your site.com/drupal/modules/civicrm/' );
define( 'CIVICRM_IMAGE_UPLOADURL' , 'http://www.your site.com/drupal/modulues/civicrm/persist/' );

define( 'CIVICRM_MYSQL_VERSION', 4.1 );
define( 'CIVICRM_DSN' , 'mysql://db_user:password@yourmysqlhost/db_civicrm?new_link=true' );
define( 'CIVICRM_MYSQL_PATH', '/usr/bin/' );
define( 'CIVICRM_SMTP_SERVER' , 'yoursmtpserverhere' );
define( 'CIVICRM_SMTP_PORT' , 25 );
define( 'CIVICRM_SMTP_AUTH' , false );
define( 'CIVICRM_SMTP_USERNAME', 'yoursmtpusernamehere' );
define( 'CIVICRM_SMTP_PASSWORD', 'yoursmtppasswordhere' );
define( 'CIVICRM_COUNTRY_LIMIT' , 'US' );

define( 'CIVICRM_PROVINCE_LIMIT' , 'US' );
define( 'CIVICRM_DEFAULT_CONTACT_COUNTRY', 'US' );
define( 'CIVICONTRIBUTE_DEFAULT_CURRENCY' , 'USD' );
define( 'CIVICRM_LC_MESSAGES' , 'en_US' );
define( 'CIVICRM_ADDRESS_FORMAT' , '
{street_address}
{supplemental_address_1}
{supplemental_address_2}
{city}{, }{state_province}{ }{postal_code}
{country}
' );
define( 'CIVICRM_DATEFORMAT_DATETIME', '%B %E%f, %Y %l:%M %P' );
define( 'CIVICRM_DATEFORMAT_FULL', '%B %E%f, %Y' );
define( 'CIVICRM_DATEFORMAT_PARTIAL', '%B %Y' );
define( 'CIVICRM_DATEFORMAT_YEAR', '%Y' );
define( 'CIVICRM_DATEFORMAT_QF_DATE', '%b %d %Y' );
define( 'CIVICRM_DATEFORMAT_QF_DATETIME', '%b %d %Y, %I : %M %P' );
define( 'CIVICRM_MONEYFORMAT', '%c %a' );
define( 'CIVICRM_LC_MONETARY', 'en_US' );
define('CIVICRM_MAP_PROVIDER' , '' );
define('CIVICRM_MAP_API_KEY' , '' );
define('CIVICRM_MAP_GEOCODING' , 1 );
define('CIVICRM_GEOCODE_METHOD', '' );
define('CIVICRM_VERSION_CHECK', true);
define( 'CIVICRM_CONTRIBUTE_PAYMENT_PROCESSOR' , '' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_EXPRESS_BUTTON', // API Username
define( 'CIVICRM_CONTRIBUTE_PAYMENT_TEST_USERNAME' , ‘' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_TEST_KEY' , '' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_TEST_CERT_PATH' , '');
define( 'CIVICRM_CONTRIBUTE_PAYMENT_PAYPAL_EXPRESS_TEST_URL', 'www.sandbox.paypal.com');
define( 'CIVICRM_CONTRIBUTE_PAYMENT_USERNAME' , 'e' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_PASSWORD' , '' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_KEY' , '' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_CERT_PATH' , '' );
define( 'CIVICRM_CONTRIBUTE_PAYMENT_PAYPAL_EXPRESS_URL', 'www.paypal.com');
define('CIVICRM_ENABLE_SSL', 0 );
define('CIVICRM_DOMAIN_ID' , 1 );
define( 'CIVICRM_MAX_LOCATION_BLOCKS', 2 );
define( 'CIVICRM_CAPTCHA_FONT_PATH', '/usr/X11R6/lib/X11/fonts/' );
define( 'CIVICRM_CAPTCHA_FONT' , 'HelveticaBold.ttf' );
define( 'CIVICRM_DEBUG', 0 );
define( 'CIVICRM_BACKTRACE', 0 );
define( 'CIVICRM_MAILER_SPOOL_PERIOD', 180);
define( 'CIVICRM_VERP_SEPARATOR', '.' );
define( 'CIVICRM_MAILER_BATCH_LIMIT', 0 );
define( 'CIVICRM_SMS_USERNAME' , 'USERNAME' );
define( 'CIVICRM_SMS_AGGREGATOR', 'CRM_SMS_Protocol_Clickatell' );
define( 'CIVICRM_UF_FRONTEND', 0 );
define( 'CIVICRM_FATAL_ERROR_TEMPLATE', 'CRM/error.tpl' );
define( 'CIVICRM_FATAL_ERROR_HANDLER', '');
define( 'CIVICRM_LEGACY_ENCODING', 'Windows-1252' );
*
* Do not change anything below this line. Keep as is
*
>
______________________________________________________________________

5. Edit the files server path using ./drupal/modules/civicrm/WHATEVERCOMESNEXT instead of trying to figure out the exact path, which was just easier and actually works, so just do it.

6. Add 4 folders with write permissions in the CiviCRM folder called upload, crm_docs, template_c and persist.

7. Move the file you just finished editing/configuring to drupal/sites/default folder. Rename it to civicrm.settings.php. Copy the file to your modules/civicrm folder.

8. Use FTP or another method to download two sql files from your drupal/modules/civicrm/sql/ file directory. They are: civicrm_40 or civicrm_41 and civicrm_generated. Which civicrm sql file you use depends on your version of MySQL. If it’s version 4.1 or over you use 41 and anything below you use 40.

10. Go to PHPMyAdmin and select the civicrm database which at this point was still empty. Use "Import" and browse your desktop to find the civicrm_40 or 41 sql file you downloaded there. Don’t change ANY of the fields at all and click the Go/Enter button. Do the same thing with the civicrm_generated sql file.

11. Go to modules admin on your drupal site and enable civicrm and as long as you configured everything properly it should work for you.

There are many other configurations that can be done to the civicrm.settings.php file. I have only covered the ones that worked for me to get CiviCRM installed and functioning properly without errors. I hope this helps make the installation of CiviCRM easier for you than it would be if you had to figure it out on your own due to either not being able to use command line or just not knowing how to.

Comments

The current release of Civicrm (1.6.8022) that is available for download appears to have a much less detailed civicrm.settings.php file - eg. a lot of the settings mentioned above (& in other guides) no longer exist in the template. Are these settings configured elsewhere in the program, or should they be added into the file for the configuration to work correctly?

most of the settings are now in the database and can be accessed from administer civicrm >> global settings