upload_tmp_dir = whatever folder you like
upload_max_filesize = whatever size you like
I use C:\temp and 64M respectively. The reason I set this directive is because if its not set PHP uses %TEMP% which is C:\Windows\Temp. I like to keep temp stuff clear of my %SYSTEMROOT%. Alternately you could change the %TEMP% and %TMP% system variables and leave this directive commented out. 64 megabytes might seem a bit excessive, but I run a small installation so I dont worry about this as much as someone running a larger installation.
* Optionally you can search for doc_root and change it to C:\Inetpub. That way any website created under that folder will have PHP capabilities. I left this directive blank.
* Search for Windows Extensions. Youll need to uncomment the following:
* extension=php_domxml.dll
* extension=php_gd2.dll
* extension=php_gettext.dll
* extension=php_iconv.dll
* extension=php_imap.dll
* extension=php_ldap.dll
* extension=php_mbstring.dll
* extension=php_mcrypt.dll
* extension=php_mime_magic.dll
* extension=php_openssl.dll
* extension=php_pgsql.dll
* You might not need all of the extensions listed here. In fact you probably dont but I uncommented all of the extensions reported in the PHP Module Capabilities section of the Horde test script.
Before you start this process I recommend adding C:\php;C:\php\dlls to the system path. From what Ive read about installing PHP on IIS6 this is a preference rather that a must. I added it for two reasons. The first is convenience; the second and more important is because there are a number of files in the dlls folder that are required to run the PHP extensions used by Horde. If the dlls folder is not in the path you have to copy the necessary dll to c:\Windows\system32 folder. So to avoid having to find and copy the appropriate dlls I strongly recommend adding these entries into the system path.
There is a decision to make at this point. We can add PHP functionality to the Web Sites folder or we can simply add it to the Default Web Site. The benefit to adding PHP to the Web Sites folder is that any new web site will inherit the settings. Conversely, if you choose not to configure the Web Sites folder to use PHP then youll have to add the functionality to each new web site as you create it. Ill cover both options here.
The following services are dependent on the IIS Admin Service service.
Stopping the IIS Admin Service service will also stop these services.
World Wide Web Publishing Service
HTTP SSL
Do you want to continue this operation? (Y/N) [N]:
net start w3svc <enter>
<? phpinfo(); ?>
CAUTION: Dont forget that Windows will try to add .txt to the end of the filename.
PHP Version 4.3.7RC1 System Windows NT HATRICK 5.2 build 3790 Build Date May 25 2004 15:27:35 Server API CGI/!FastCGI Virtual Directory Support enabled Configuration File (php.ini) Path C:\WINDOWS\php.ini PHP API 20020918 PHP Extension 20020429 Zend Extension 20021010 Debug Build no Thread Safety enabled Registered PHP Streams php, http, ftp, compress.zlib This program makes use of the Zend Scripting Language Engine: Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
Welcome to go-pear!
Go-pear will install the 'pear' command and all the files needed by
it. This command is your tool for PEAR installation and maintenance.
Go-pear also lets you download and install the PEAR packages bundled
with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit-0.6.2.
If you wish to abort, press Control-C now, or press Enter to continue:
# Press Enter to continue. Youll see:
HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none::
# Enter the proxy information if needed, otherwise Enter to continue. Youll see:
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation prefix : C:\php 2. Binaries directory : $prefix 3. PHP code directory ($php_dir) : $prefix\pear 4. Documentation base directory : $php_dir\docs 5. Data base directory : $php_dir\data 6. Tests base directory : $php_dir\tests 7. php.exe path : C:\php\cli\php.exe 1-7, 'all' or Enter to continue:
# Make any changes you need and press Enter to continue. Based on these installation instructions the defaults are acceptable.
# Say YES to the following prompt:
The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit-0.6.2. Would you like to install these as well? [Y/n] :
# Youll see:
Loading zlib: ok Using local package: PEAR.............ok Using local package: Archive_Tar......ok Using local package: Console_Getopt....ok Using local package: XML_RPC..........ok Bootstrapping: PEAR...................(local) ok Bootstrapping: Archive_Tar............(local) ok Bootstrapping: Console_Getopt.........(local) ok Using local package: DB...............ok Using local package: Net_Socket.......ok Using local package: Net_SMTP.........ok Using local package: Mail.............ok Using local package: XML_Parser.......ok Downloading package: PHPUnit-0.6.2....ok Extracting installer..................ok install ok: PEAR 1.3.1 install ok: Archive_Tar 1.1 install ok: Console_Getopt 1.2 install ok: XML_RPC 1.1.0 install ok: DB 1.6.1 install ok: Net_Socket 1.0.1 install ok: Net_SMTP 1.2.5 install ok: Mail 1.1.2 install ok: XML_Parser 1.0.1 install ok: PHPUnit 0.6.2 ****************************************************************************** WARNING! The include_path defined in the currently used php.ini does not contain the PEAR PHP directory you just specified: <C:\php\pear> If the specified directory is also not in the include_path used by your scripts, you will have problems getting any PEAR packages working. Would you like to alter php.ini <C:\WINDOWS\php.ini>? [Y/n] :
# Say YES to updating your php.ini file. Youll see:
php.ini <C:\WINDOWS\php.ini> include_path updated. Note: this entry is added at the very bottom of your php.ini. Current include path : .;c:\php4\pear Configured directory : C:\php\pear Currently used php.ini (guess) : C:\WINDOWS\php.ini Press Enter to continue:
# Press Enter and youll see:
The 'pear' command is now at your service at C:\php\pear.bat * WINDOWS ENVIRONMENT VARIABLES * For convenience, a REG file is available under C:\php\PEAR_ENV.reg . This file creates ENV variables for the current user. Double-click this file to add it to the current user registry. Press any key to continue . . .
# Press any key to return to the command prompt.
# Browse to C:\php and double-click on PEAR_ENV.reg to import the registry information.
# Next add the PEAR packages which are required by Horde (You should already be in C:\php, if not CD to that directory):
* Log From the command prompt: pear install log <enter>. Ignore the message: Optional dependencies: 'sqlite' PHP extension is recommended to utilize some features.
* Mail Mime From the command prompt: pear install mail_mime <enter>
* Date -- From the command prompt: pear install date <enter>
* Auth_SASL -- From the command prompt: pear install auth_sasl <enter>
* HTTP_Request -- Has pre-requisites. Follow this path:
* From the command prompt: pear install net_url <enter>
* From the command prompt: pear upgrade net_socket <enter>
* From the command prompt: pear install http_request <enter>
* File: -- From the command prompt: pear install file <enter>
* Services_Weather -- Has pre-requisites. Follow this path:
* From the command prompt: pear install cache <enter>
* From the command prompt: pear install net_dime-beta <enter>
* From the command prompt: pear install soap-beta <enter>
* From the command prompt: pear install xml_util <enter>
* From the command prompt: pear upgrade xml_parser <enter>
* From the command prompt: pear upgrade xml_serializer <enter>
* From the command prompt: pear install services_weather <enter>
* Just for grins and giggles execute pear upgrade-all <enter>
[mysqld] # set basedir to your installation path basedir=C:\\mysql # set datadir to the location of your data directory datadir=C:\\mysql\\data [WinMySQLAdmin] Server=C:\\mysql\\bin\\mysqld-nt.exe QueryInterval=10
CAUTION: Dont forget that Windows will try to add .txt to the end of the filename.
mysqld console <enter>
mysqld: ready for connections. Version: '4.0.20a-debug' socket: '' port: 3306 Press CTRL+C to stop !MySQL
mysqld install <enter>
net start mysql <enter>
mysql -u root <enter>
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd'); <enter>
mysql user=root password=your_password mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 4.0.20a-debug Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
The first item to consider is where to put your Horde installation. Like I said I have a relatively small installation, however I support two domains. Im writing this document while installing Horde on my development server which is much different than my production server. So Im going to choose C:\Inetpub\horde as my installation point. This seen the easiest place to put Horde, plus if you set the doc_root directive in your php.ini to C:\Inetpub, it keeps things simple. In any case, I think its important to give some thought to where you want Horde to live. Now here we go
SET CVSROOT=:pserver:cvsread@anoncvs.horde.org:/repository <enter> \WinCVS\CVSNT\cvs login <enter>
Logging in to :pserver:cvsread@anoncvs.horde.org:2401:/repository CVS password:
\WinCVS\CVSNT\cvs co -r HEAD framework <enter>
Before moving on we need to install the Horde Framework. Follow these steps to complete this process.
Note that if you do not specify the path to the client php executable the system will generate a Bad Option error message. This is one because the system path specifies C:\php and the php.exe that lives there is the CGI executable.
If you added PHP to the Web Sites folder you can move onto the next step. Otherwise youll need to repeat the from the Add PHP to IIS6 Web Sites section above steps on your new web site.
Open your favorite browser and go to http://hostname/horde/test.php. If all is well youll see:
Notes:
According the PHP web site MCAL is not supported on Windows. See the notes section of http://www.php.net/manual/en/ref.mcal.php
I tried to install the PECL fileinfo extension using the pear install fileinfo-beta command. However, it errors out with: The DSP Fileinfo.dsp does not exist. To date I have not found a workaround.