I was recently invited to implement CiviCRM for a non-profit organisation. I have been involved with this organisation since it was founded and provided advice and assistance on IT over the last three years.
Researching the installation requirements of CiviCRM and noting that it had only been tested on Linux/Apache/Drupal etc, I looked at the possibility of replacing the local Windows XP Server with CentOS. Several days later I concluded that while the replacement of the file/print server on the network with a Linux box would provide more functionality and better compatibility with CiviCRM, the learning-curve and the ongoing support and troubleshooting issues of the new system would be difficult for the full-time employees (having never used any Linux).
This left me with the decision to attempt the entire installation and configuration of CiviCRM on Microsoft IIS 5.1 (with Windows XP). This guide should hopefully consolidate the Q&A of other administrators in the same position.
To follow this guide, it will be necessary to locate and download the following into a directory dedicated for your CiviCRM files:
Certain information is required during this guide that is relevant only to a specific case. These are:
Initially I used Microsoft Virtual PC to test and install all requirements, noting any problems with solutions. Since I am creating this guide at the point of data migration, the installation and configuration has been completed on the production server. The server details are as follows:
Installation and Configuration
I recommend that the following guide is completed in order and on a clean server (with no previous installations of the aforementioned applications)
Configuration for 'Intranet'
Most installations on a Windows XP IIS 5.1 will be for local network access only and NOT accessible from the internet (unless you really know what you're doing!). In order to prevent the hassle of configuring the hosts file of each computer on the network to forward 'localhost' to the server installation, there are some changes later to the MySQL permissions and the configurations of Drupal and CiviCRM to allow access through the server name:
For example, http:///drupal (http://%3cserver_name%3e/drupal) rather than http://localhost/drupal
This may also allow changes in the configuration to disable the MySQL dnslookup that can impact performance.
Hopefully, all previous steps have completed successfully. If so, we can configure CiviCRM customising it to our requirements, and prepare our data for migration to the system.
Page: Microsoft IIS 5.1 Page: PHP 5.2.13 Installation & Configuration Page: IIS 5.1 Configuration for PHP Page: MySQL 5.1.46 Installation and Configuration Page: Installing phpMyAdmin 3.3.2 Page: Installing Drupal 6.16 Page: Installing CiviCRM 3.1.4 Page: CiviCRM Configuration Page: Configuration for 'Intranet'