
Before reading further, please be aware that much of the information contained here is intended for technicians and may be difficult to understand if you have little or no experience in setting up web applications. If you don't understand this topic, you may wish to either seek help, or point your organisation's technical staff to this material.
Before exploring the installation of CiviCRM, ensure you have read the chapter 'hosting' to confirm whether your host can support it.
CiviCRM must be installed on a computer that has been configured with a web server (such as Apache or ngnx), PHP 5.2 or later, and MySQL. Some people prefer to try out CiviCRM on their own local computer before installing it on a dedicated web-server. If you are doing this and don't have the prerequisites just mentioned, you can download packages from the Internet such as WAMP, XAMPP, MAMPP and LAMP, which will quickly install an Apache web server, PHP, and MySQL. (The first two packages are for Windows and the second two are for the Macintosh and Linux respectively).
Before you can begin installation, you need to decide which CMS (Content Management System; used for building and managing websites) you wish to integrate with, choosing between the open-source options: Drupal, Wordpress or Joomla!. As the CiviCRM release cycle produces 2-3 updates a year, please refer to the appropriate section in the online CiviCRM Installation Guide for the latest system requirements and specific installation steps:Once you are ready to start using CiviCRM in your organization, you'll probably want CiviCRM to be available on the Internet. However, some organizations only want internal staff to have access. In this case they may choose to install CiviCRM on an intranet or local area network.
New versions of CiviCRM are released two or three times a year, and you will need to apply upgrades to your CiviCRM site periodically in order to take advantage of new features and improvements. Some upgrades contain security fixes and it is crucial that these are applied in a timely manner. It's important that you plan for the resources (people and time) required to apply upgrades to your site. You need to plan on testing upgrades on a copy of your live site to make sure the process runs smoothly. It's also critical to make backups of your site and database prior to running an upgrade on your live site even if you had tested the process on a test site.
Refer to the appropriate section of the online CiviCRM Installation Guide for specific upgrade procedures. Be sure to select the procedure that is targeted for the environment you are running (Drupal, WordPress or Joomla!), and the version you are upgrading to.
Now that you have CiviCRM installed and running on your web server, it's time to review the initial configuration tasks which allow you to customize CiviCRM for your organization.
Log in to your CiviCRM site and navigate to Administer > Administration Console > Configuration Checklist. This section will cover the general tasks, while component-specific configuration will be covered in each component section. (Note that CiviMail is a component; CiviMember is another component.)
Use this checklist to review and complete configuration tasks for your site. You will be redirected back to this checklist after saving each setting. Settings which you have not yet reviewed will be displayed in red. After you have visited a page, the links will display in green (although you may still need to revisit the page to complete or update the settings).
Localization involves adapting CiviCRM for use in a specific country or language by translating the text displayed on the screen and setting region specific formats for dates and money (including currency). By default, CiviCRM is localized for the United States. If you are using CiviCRM in a different country, need to store contact addresses that appear in countries other than the United States, or want to use CiviCRM in another language, you will need to review and update the values on this screen.
CiviCRM has been translated into a number of different languages. These translations are contributed by community members. So your first step is to determine if a complete translation exists for the current version by visiting the Translation Server home page at http://translations.civicrm.org/. If you find a completed translation, you can download it and select it on this screen. Otherwise you will need to consider whether you have resources for contributing a translation.
It is also possible to configure your site to support multiple languages. In this mode, your users will be able to choose from a list of available languages after logging in. You can also create and store multi-language versions of text. Examples include custom field labels, an online contribution page, campaign information, and event descriptions.
Further reading:
Localization overview - http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Localisation
Use this screen to enter identifying information for the organization or entity which "owns" this CiviCRM installation. The organization name and address are used to identify your organization in CiviMail mailings when you include the domain.name and domain.address tokens.
You should also enter a valid email address belonging to your organization, which will be used as the From field in system-generated (automated) emails.
This screen allows you to modify the screen and form elements for the following tasks:
CiviCRM allows you to modify the default fields for adding and editing contact and event address data. You can also change the address field layout used for screen display and mailing labels. Review the out-of-the-box defaults by adding a new contact record and noting the address fields provided on the form. Save the record and note the order in which the fields are displayed on the Contact Summary screen. If you plan on generating mailing labels for contacts, review the label layout (select Mailing Labels from the -actions- drop-down after doing a search using the Find Contacts menu option).
After reviewing the default fields and layouts, review the Address Settings screen and make changes as needed.
This format applies to event locations, despite the use of the contact record type in the layout. The {contact.address_name} token is particularly useful for events where you need to include a location name (e.g. "Smithson Hall").
CiviCRM includes support for both the Google and Yahoo mapping services. These services allow your users to display contact addresses and event locations on a map. To enable this feature, select your mapping provider and obtain a key for your site from that provider.
Once a mapping provider is enabled, your contact and event records will be automatically geocoded (the latitude and longitude for that address is inserted) as you add or edit address data.
These let you adjust search behaviors such as the use of wildcards and which data to include in quick search results. Adjusting search settings can improve performance for large datasets.
A wildcard character is a special character that can be used to substitute for any other character or characters in searches. CiviCRM allows you to use the percent (%) character to substitute for zero or more characters, and the underscore (_) character to substitute for any single character. Wildcards are useful for broadening your search results.
For example, typing 'Volunteer%' as your Activity Subject will match any record whose subject starts with "Volunteer" (e.g. "Volunteer for Open House" or "Volunteering Opportunities").
Use the Miscellaneous Settings screen to configure and control the following behaviors:
If you want to use reCAPTCHA protection for online contribution, membership signup or event registration forms, you'll need to configure a Profile with reCAPTCHA enabled, and then include it in those forms.
CiviCRM will use the default From address defined here when sending automated emails. If you've already entered an email address in the Domain Information screen, that address will be listed here (as illustrated on the leftmost field of the following screenshot).
When users send an email using CiviCRM, their primary email address is used as the From address by default. However, they can also select one of the general email addresses defined here as an alternative.
If you are sending emails to contacts using CiviCRM, you need to enter settings which allow CiviCRM to connect to your mail server. Such emails include sending receipts to contributors, sending confirmations to people registering for events, and using CiviMail to send bulk mailings.
CiviCRM supports three different methods of connecting to a mail server: mail (the built-in PHP mail function); SMTP (Simple Mail Transport Protocol); and Sendmail. Each method requires that you enter specific settings. If you're unfamiliar with these terms, or unsure of the correct values for these settings, check with your system administrator, ISP or hosting provider.
You should always send a test email after you enter or modify the settings. Simply click "Save and Send Test Email"(shown in the following screenshot). An email will be sent to the email address associated with your user login account. The From email address will be the default From address you've configured in the previous section.
If CiviCRM is unable to send the test email, you will see a message on your screen with the specific error and some suggestions for trouble-shooting the problem.
If you do not want users to send outbound emails from CiviCRM at all, select "Disable Outbound Email". However, if you disable outbound email, and you are using Online Contribution pages or online Event Registration, you will need to turn off the automated receipting and registration confirmation features (these are enabled by default). Otherwise your constituents will see error messages after they've completed a contribution or registration.
See Email System Configuration for more details.
Payment processors are companies that handle credit card transactions for merchants and non-profit organizations and that transfer funds to the organization's bank account. If you plan on using CiviCRM to accept online contributions, online membership signup and renewal or online event registration, you will need to select and configure a payment processor for your site.
CiviCRM includes support for several different processors, and provides a way for third-party developers to add support for additional processors based on their clients' needs. Each processor has their own pricing structure and features, and you will want to investigate each available option to determine the best fit for your organization. Refer to the "Contributions" section for a list of factors to consider in selecting a processor.
The actual steps involved in configuring and testing your payment processor connection are different for each processor. For more information, visit:
http://wiki.civicrm.org/confluence/display/CRMDOC/CiviContribute+Payment+Processor+Configuration
Note: This section applies to Drupal and Joomla sites only.
If you are using CiviCRM with Drupal or Joomla, you will need to review the CMS user permissions to ensure that people can get to your signup forms, contribution pages, membership pages and event registration pages.
You must be an administrator for your site to review and modify user permissions. Navigate to Administer > Users and Permissions > Permissions > Drupal (or Joomla) Access Control. A screen with a list of CiviCRM permissions is displayed .
Review each of the permissions listed. You should enable them for the anonymous user role if you want these features to be accessible to people who visit your site without logging in — outsiders registering for membership or events, for instance:
Now that you have reviewed all the basic configuration tasks, you're ready to begin exploring the ways in which you can record and use contact data.
CiviCRM comes with a set of system-generated emails, including contribution receipts and event registration confirmations. These are known as system workflow templates, and it's a good idea to review them. They will be sent out with your organization's name on them.