[[PhplistHacks phplist Hacks]] ---- This document was taken from [[http://users.goldengate.net/~jre/PHPListWinIISInstallGuide.txt here]] ---- =====PHPList Installation on Windows/IIS===== by James R. Erickson (jre@goldengate.net) - 1st draft, Feb 16 2005 - 2nd draft, Mar 9 2005 - Matched line numbers with virgin source code and cross-checked code with files. ====Introduction==== Below are some steps you should take to get PHPList up and running on a Windows/IIS system. These steps were developed from notes taken while getting PHPList 2.9.3 running correctly on a Windows 2000 server with IIS 5.0 using PHP version 4.3.6. Please note: Some of the steps list line numbers in PHPList source files. Since the source files change with every version, these line numbers are approximate. Also, some steps may prove to be unnecessary if the developers choose to integrate some of the changes into the base program. ====Contents==== - Initial Installation - Getting it Working on Windows - Using Exchange Server - Configuration - Security - Credits ====Initial Installation==== The first thing you need to do is set up PHP under IIS. The PHP installation instructions for Windows are pretty good, so dig them up along with the PHP install files. One thing you need to do is uncomment the line 'extension=php_imap.dll' in the php.ini file. The imap extension for PHP contains the pop3 functions necessary for PHPList bounce processing. Second, you need to install and configure MySQL on your database server. Again, use the instructions included with MySQL to install and configure it on your server. For security reasons, its best if you create a user within MySQL specifically for the use of PHPList. See the MySQL documentation for info on how to do this. Next, use the general PHPList installation instructions as given on the PHPList web site. Obviously those directions are for LAMP systems, but if you don't understand IIS enough to translate them to IIS, then you will have a very hard time with the rest of these instructions. Its basically creating a website, or a new application under your existing website, and copying over the PHPList files. Note that these steps assume you place the PHPList files in a '/lists' folder under the root of your website. If you do not use this default location, you will need to adjust the steps to compensate, as well as set the '$pageroot' and '$adminpages' options in the config.php file. ====Getting it Working on Windows==== 0. Before making any changes to any of the source files, be sure to make backup copies. 1. Make sure you set the "$form_action = 'index.php';" option in the /lists/config/config.php file. 2. In the IIS Admin program, go to the properties of the /lists folder and set the default document to 'index.php'. You might as well remove any other default documents so only index.php remains. 3. If you are on a live server, you may want to visit the Security section below at this time, at least to lock down your /lists/admin folder. 4. There is a very good thread under the Docs, Tips and Tricks forum called "FORMS -- Possible IIS solution found" (#251) that you may want to read. It brings up some very good issues and explains some of what will need to be changed in the steps below and much of this document is based on the work of posters to that thread (credited below). 5. Edit the following lines in the /lists/admin/connect.php file to read as below if they don't already (line numbers are approximate due to differences in PHPList versions): - LINE 169: $html = sprintf('