In addition to the CiviCRM software itself (freely available from http://civicrm.org, you will need either Drupal (http://drupal.org) or Joomla! (http://joomla.org) as the CMS framework in which CiviCRM will reside.
CiviCRM runs on an Apache/MySQL/PHP platform. It requires a fair amount of server system resources more than some other web-based software, including Drupal or Joomla! running on their own. Virtual private servers available from commercial hosting providers are a good option for hosting, and dedicated servers with high availability and high performance server clusters can also be used in more demanding situations. While you may be able to run CiviCRM on shared hosting for small implementations, you will generally find the resource limitations problematic, particularly when your use of the software grows.
For testing purposes or in special circumstances where you want a personal instance, you can set up an implementation on a local machine running:
- XAMPP: www.apachefriends.org/en/xampp.html
- MAMP: www.mamp.info
- WAMP: www.wampserver.com
Throughout this book, we have assumed you are running CiviCRM on a Linux operating system. Some of the configuration tasks require different procedures when running under Windows that are not documented here. Unless you are familiar enough with Linux and Windows that you can translate accurately between crontab and scheduled tasks, file and directory permission systems, and simple Command Prompt/command line commands, you should avoid using CiviCRM on a Windows environment.
This book deals with CiviCRM and thus addresses the Drupal/Joomla! environment as it pertains to CiviCRM integration. Though occasional mention is made of the other technologies used to implement CiviCRM (including PHP, MySQL, Apache, jQuery, and Smarty), no prior knowledge is required to install and configure the software.