Manual:Installing MediaWiki on Windows Server 2008 R2

The goal of this guide is to give some a quick and easy way to install MediaWiki on a Windows Server 2008 R2 environment.

Requirements
The following items will be required:
 * Administrative access to the Windows Server 2008 R2 server
 * PHP installer (The file php-[version]-nts-Win32-VC9-x86.msi should be available here.)
 * MySQL installer (The file mysql-[version]-winx64.msi should be available here.)
 * MediaWiki archive (The file mediawiki-[version].tar.gz should be available here.)
 * 7-Zip or your favorite decompression utility to extract MediaWiki

Internet Information Services (IIS)
To install IIS follow the steps below:
 * 1) Open Server Manager, select Roles.
 * 2) Add the Web Server role and include the following:
 * Common HTTP Features -> HTTP Redirection
 * Application Development -> CGI.
 * 1) Open Internet Explorer and access http://localhost, it should bring up the IIS7 splash page.

Set Default Document (Optional)
Set default document to index.php.
 * 1) Open the Internet Information Services (IIS) Manager, select the server name from the list.
 * 2) Select the Default Document, highlight index.php and choose Move Up from the Actions side panel until index.php is at the top.

PHP
To install PHP follow the steps below:
 * 1) Use the manuel Installation to install PHP or use the Microsoft  Web Plattform Installer 5.0.
 * 2) Open your C:\Program Files (x86)\PHP\php.ini file in Notepad and uncomment the values below by removing the heading pound symbol.  The following recommendations are from [php.net].
 * 3) Open up the Internet Information Services (IIS) Manager > Handler Mappings >Add Module Mapping Then fill in the following information and click OK: Request Path:     Module:    Executable (optional):    Name:
 * 4) Press the "Request Restrictions" button and change the following settings: tab "Mapping": tick "Invoke handler only.." and select "Files".
 * 5) After you click OK you will be prompted: "Do you want to create a FastCGI application for this executable? Click 'Yes' to add the entry to the FastCGI collection and to enable this executable to run as a FastCGI application." to which you should click "Yes".
 * 6) Edit permissions on the images directory of the MediaWiki installation and add IUSR with modify privileges.
 * 7) Create a file called C:\inetpub\wwwroot\phpinfo.php, include the lines below.
 * 8) Open Internet Explorer and access http://localhost/phpinfo.php, it should bring up a PHP information page.

Modifications to PHP.ini

cgi.fix_pathinfo = 1

fastcgi.impersonate = 1

Contents of file PHPInfo.php



Current Identity :  

For more information on what user is running PHP and the differences between IIS 7 and IIS 7.5, see this [blog].

Enable PHP Caching (Optional)
Install a PHP caching plugin.
 * 1) Navigate to WinCache.
 * 2) Download the file wincache-[version]-[php version]-nts-vc9-x86.exe.
 * 3) Launch the installer, type in a temporary directory like C:\Temp.
 * 4) Move the php_wincache.dll file into your PHP extensions directory C:\Program Files (x86)\PHP\ext.
 * 5) Open the php.ini file, located in the PHP directory C:\Program Files (x86)\PHP.
 * 6) Add the lines below, then save and close the file.
 * 7) Stop and Start  IIS.
 * 8) Open Internet Explorer and access http://localhost/phpinfo.php, it should bring up a PHP information page.
 * 9) Confirm that the wincache section exists.

[PHP_WINCACHE] extension=php_wincache.dll

MySQL
To install MySQL follow the steps below:
 * 1) Launch the installer, select Typical settings.
 * 2) After installation you will be prompted to run the MySQL Server Instance Configuration Wizard.
 * 3) Select Detailed Configuration, then click Next.
 * 4) Select Server Machine, then click Next.
 * 5) Select Multifunctional Database, then click Next.
 * 6) Select the database path, then click Next.
 * 7) Select Decision Support (DSS)/OLAP, then click Next.
 * 8) Confirm Enable TCP/IP Networking, Add firewall exception for this port and Enable Strict Mode are checked, then click Next.
 * 9) Select Standard Character Set, then click Next.
 * 10) Confirm Install as Windows Service is checked, then click Next.
 * 11) Enter in root password, then click Next.

MediaWiki
To install MediaWiki follow the steps below:
 * 1) Extract the media wiki archive into C:\inetpub\wwwroot\mediawiki directory.
 * 2) If you have just one .tar file, extract that file into the C:\inetpub\wwwroot\mediawiki directory.
 * 3) If you want MediaWiki to be the default website follow the optional instructions below.
 * 4) Configure MediaWiki by accessing the configuration URL.
 * 5) Follow guide for using the configuration script.  Ignore the GNU diff3 not found error.

Create specific IIS website for MediaWiki (Optional)
Configure MediaWiki as the default website for a host name or an IP address.
 * 1) Select a name for the web site.
 * 2) Rename the C:\inetpub\wwwroot\mediawiki folder to C:\inetpub\wwwroot\[web site name].
 * 3) Open the Internet Information Services (IIS) Manager, open the server name from the list.
 * 4) Right click on Sites and choose Add Web Site....
 * 5) Enter the web site name in the Site Name field.
 * 6) Change the physical directory to C:\inetpub\wwwroot\[web site name].
 * 7) Add a host name for your website or select an IP address.
 * 8) Click OK to create the web site.

GNU diff3 Installation (Optional)
Install GNU diff3 files.
 * 1) Create directory GnuWin in C:\Program Files (x86).
 * 2) Navigate to DiffUtils website.
 * 3) Download the file diffutils-2.8.7-1-bin.zip.
 * 4) Extract to the C:\Temp directory.
 * 5) Copy the bin directory to C:\Program Files (x86)\GnuWin.
 * 6) Navigate to File website.
 * 7) Download the file file-5.03-bin.zip.
 * 8) Extract to the C:\Temp directory.
 * 9) Copy the bin directory to C:\Program Files (x86)\GnuWin.
 * 10) Update the LocalSettings.php located in C:\inetpub\wwwroot\[media wiki name].

Original LocalSettings.php

$wgDiff3 = "";
 * 1) Path to the GNU diff3 utility. Used for conflict resolution.

Updated LocalSettings.php

$wgDiff3 = "C:/Program Files (x86)/GnuWin/bin/diff3.exe"; $wgMimeDetectorCommand = "C:/Program Files (x86)/GnuWin/bin/file.exe -bi";
 * 1) Path to the GNU diff3 utility. Used for conflict resolution.
 * 1) Use external mime detector