Manual talk:Installing MediaWiki on Windows Server 2003

Short / Pretty URLs (Rewrite Engine)
I am unable to use .htaccess or httpd.conf to do the rewrite rule as it is not supported in Windows. Does anyone have a way around this that works?
 * This is part of Apache and would be at a place like C:\Program Files\Apache Software Foundation\Apache2.2\conf. 75.62.127.196 00:16, 10 June 2007 (UTC)

Using 16-bit mySQL Passwords
I installed MediaWiki 1.5.4 on a machine running Win2k3, IIS6, PHP V 5.0.4 and mySQL 4.1 and did not need to make any modifications to the way mySQL passwords are handled.

Install on Win2Kas is different
I installed it and it seems to work but you have to use the ISAPI interface and it's setup in the "properties" dialog box. -- Slamlander
 * This page has huge problems when working with a Win2K Server host. I have no idea why you guys removed the Win2K instructions, even though, they were wrong too. I am considering a dedicated Win2K page linked to this one, using MySQL5, PHP5, and the current MediaWiki. -- Slamlander 05:02, 26 November 2006 (UTC)

Restart MySQL after configuration
Win2k3, MySQL 5.0.18, PHP 5.1.2 -restarting the machine is also required after installing and configuring MySQL. Otherwise, extension=php_mysql.dll won't work due to libmysql.dll not being found.

Can't make email work
I set the SMTP server in php.ini, but the mail function still not work, only recieve this message:

"Error sending mail: SMTP server response: 501 5.5.4 Invalid Address"

Is it a bug of mediawiki-1.6.3?

Then I modify the property of the email collum in wikipedia database from UTF8 to ASCII.And when I was changing the email address of the user in wiki, I got the same error message.

Did wiki post a UTF-8 email address to the SMTP server?

Confirmation Email won't send
Environment: Windows XP, Apache 2.2.2, PHP 5.1.4, MySQL 5.0.21, MediaWiki 1.6.5 This was a new installation.

I kept getting an error that the Address may be invalid when trying to confirm my email address through account preferences.

In php.ini, SMTP was set to our local Exchange Server's IP address. Since I wasn't getting any other errors, I started to add prints to mediawiki to track down what values were being set to variables. This led to finding that the error being returned by sendConfirmationMail was

"Error sending mail: SMTP server response: 501 5.5.4 Invalid Address"

Some further searching lead me to this post http://us3.php.net/manual/en/ref.mail.php#59752

With this information at hand I modified mediawiki's "function toString" in /include/UserMailer.php so that it always returns $this->address; instead of formatting it.

Now email's are being sent from MediaWiki. (Note: I don't have control over the exchange server.)

No Input File Specified
We got all the way through the install but when we try to load the config/index.php page we are getting "No input file specified" Any recommendations?


 * You may need to use "ugly" URLs - an option in LocalSettings.php which will result in page-names that include question-marks. --Muchado 01:52, 20 June 2006 (UTC)


 * I'm getting "No input file specified" in /wiki/config/index.php when trying to do the initial configuration. I don't have a LocalSettings.php yet! :P  Is there any way to force the "ugly" URLs to be the default option for the install (Without having access to LocalSettings.php)? --GrahamD 05:49, 24 January 2008 (UTC)

Undefined index: REQUEST_URI
I tested out the 'REQUEST_URI' index of the $_SERVER superglobal by creating a test php script, and I think that this is related to using the virtual directory option - in other words, you don't get the error if you are using a wwwroot directory rather than a virtual directory.


 * Notice: Undefined index: REQUEST_URI in C:\wiki\mediawiki-1.5.5\test.php on line 9

If no-one corrects me on this, then I will move this comment to the content page. --Muchado 01:52, 20 June 2006 (UTC)

Bad CGI Headers
I followed all the instructions and ended up with a "The specified CGI application misbehaved by not returning a complete set of HTTP headers." error in the browser after installation.

I fixed it by including one of the steps from Many Ways to Skin a Wiki -- I extracted php5isapi.dll from the PHP zip package, placed it in the PHP directory, set permissions for IUSR_MACHINENAME, and then under IIS-DefaultWebSite-Properties-HomeDirectory-Configuration I changed the mapping of the .php application extension to point to that DLL.

Please include this fix in the main article where appropriate.

Thank you, Gordon Withers (gordon dot withers at gmail dot com)

No Windows PHP Installer
There is a windows installer for the previous version of PHP, but not the current 5.X version on the page pointed to by the howto. Is this expected to be added or do I need to install PHP manually?

Answer: An installer is available to PHP 5.x, but it is reccommeded that you install it manually. More info...

Problem Creating table
i am getting the following error MediaWiki 1.8.2 Installation Don't forget security updates! Keep an eye on the low-traffic release announcements mailing list. Checking environment... Please include all of the lines below when reporting installation problems.

PHP 5.1.6 installed Found database drivers for: MySQL PHP server API is isapi; using ugly URLs (index.php?title=Page_Title) Have XML / Latin1-UTF-8 conversion support. PHP is configured with no memory_limit. Have zlib support; enabling output compression. Couldn't find Turck MMCache, eAccelerator or APC. Object caching functions cannot be used. GNU diff3 not found. Couldn't find GD library or ImageMagick; image thumbnailing disabled. Installation directory: C:\wiki\mediawiki Script URI path: /wiki Environment checked. You can install MediaWiki. Warning: $wgSecretKey key is insecure, generated with mt_rand. Consider changing it manually. Generating configuration file...

Database type: MySQL Loading class: DatabaseMysql Attempting to connect to database server as root...success. Connected to 5.0.26-community-nt Database wikidb exists

Creating tables... using MySQL 4 table defs...Query "CREATE TABLE `user` ( user_id int(5) unsigned NOT NULL auto_increment, user_name varchar(255) binary NOT NULL default , user_real_name varchar(255) binary NOT NULL default , user_password tinyblob NOT NULL default , user_newpassword tinyblob NOT NULL default , user_email tinytext NOT NULL default , user_options blob NOT NULL default , user_touched char(14) binary NOT NULL default , user_token char(32) binary NOT NULL default , user_email_authenticated char(14) binary, user_email_token char(32) binary, user_email_token_expires char(14) binary, user_registration char(14) binary, PRIMARY KEY user_id (user_id), UNIQUE INDEX user_name (user_name), INDEX (user_email_token) ) TYPE=InnoDB " failed with error code "BLOB/TEXT column 'user_password' can't have a default value (localhost)".

I have tried the following : /Maintenance/MySQL5/tables.sql and removing default'' for all blob column.

However it looks like the old query is still been used. Do i need to change some other file?

please help us to resolve this issue.

I have managed to config the wiki after removing default'' for all blob column and the comlumn "si_text" in Maintenance/tables.sql. I think the other one (/Maintenance/MySQL5/tables.sql) is not called by the script.

Answer : Turn off the "strict mode" in MySQL. Learn how here If your MySQL is already installed, you have to remove (or put a comment sign - # - in front of it) the following line in my.ini file: sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

The answer did solve that issue, but the install sequence did come back with next error (link database was missing). Meanwhile the database was created, not complete but there where entries. I just dropped all created entries and re-run the install again. Guess what, the table was created completly without any fault and the localsettins.php finaly created! Wiki up and running. Rick

Mediawiki and PHP access violation
I receive the following error when I go to access the Mediawiki installation:

PHP has encountered an Access Violation at 7C8224B2

What's interesting is that this error is intermittent, and only occurs with the Mediawiki install. Other PHP applications on the server are running fine. My environment is as follows:

Windows Server 2003, Service Pack 1, IIS 6.0 with PHP 5.2.0, mySQL 5.0.27

I've searched on this error and have come up empty, and hopefully someone else has run into this issue. -- Brad

ANSWER: Brad, I feel terrible that I didn't document exactly what I did when this happened. I experienced same and it turned out to be a permissions error. I can't remember which directory it was, but I had to go back and enable a directory using properties->security, enable modify for IUSR_[machinename]. The only problem is I can't remember which directory it was. Maybe someone else can help with more specifics and update here.--Jack 15:09, 9 March 2007 (UTC)

ANSWER REDUX:I know this has been hanging out here for a long time, but I think I remember what it was, and it was specific to IIS 6.0 when you are using CGI. You may also need to add read and execute privileges for IIS_WPG. Sorry I took so long to get back on this. --jdpond 14:29, 5 September 2007 (UTC)

I have the exact same problem. Would really appreciate it if anyone could help? -- Antony

I too am still in need of a solution for this SirMeili 18:49, 10 May 2007 (UTC)

ANSWER: Please try the latest PHP release (5.2.2) as this resolved my problem immediately, and has now been stable for a week.--BrettCan 00:13, 31 May 2007 (UTC)

Mail Notification Via MS SMTP Server with Authentication Required
I would like to allow MediaWiki to send email through an enabled MS SMTP server on the same machine but possibly use the same MS SMTP server for other AUTHENTICATED users on other machines to prevent unauthorized relaying. While this feature is available for users who use other SMTP engines (see $wgSMTP), when I use this feature to try and connect to the local MS SMTP server, it freezes:

# );
 * 1) Commented out because it seems to freeze the system
 * 2) $wgSMTP = array(
 * 3)  'host'     => "wiki.montcopa.org",
 * 4)  'IDHost'   => "montcopa.org",
 * 5)  'port'     => 25,
 * 6)  'auth'     => true,
 * 7)  'username' => "xxxx",
 * 8)  'password' => "******"

I tried to do this a couple of ways, then just set the SMTP server so it accepts requests only from itself (localhost or physical IP address). I can live with this, but wondered if anyone had solved the problem (without enabling the PEAR server).

If there is a way to solve it, would be great to add to the documentation. --Jack 17:29, 9 March 2007 (UTC)

MySQL service
Has anyone run into an issue of the MySQL service not starting? When I try to start it, it throws a "1067: The process terminated unexpectedly" error. I have documented my process up to this point and I have followed all of the instructions so far. PHP is installed, but this happened when MySQL tried to start after installation. --Aguerriero 12:35, 10 April 2007 (UTC)

HTTP 500 on section edits
I installed and everything works beautifully. Except (otherwise this wouldn't be here) when i edit only a section on a page, after editing the page, and choosing submit, i get an HTTP 500 (internal server) error. Hitting refresh on my browser causes the entire page to load in the editing screen, and when i hit submit again (without making any additional changes) the page saves and everything is there. Its also strange that if i get the 500, and i close my browser, and then go back to the page i edited, my edits are there as well. What could be causing a 500 error only on section edits? (As far as i have seen, editing full page doesn't have this issue.) eberlec at nicholsal dot com

No file extensions
3% of the files have no extension. Windows says only "file" in the file info. Webhosts don't allow files without extensions. Cute FTP said that 553 files with th extension "No extension" and "t" and "shi" don't were allowed to upload on the servers. I've tried to upload it on like 15 hosts and no one succeded. Why isn't it a file extension on those files.

PHP Installation and Upgrade Issues --jdpond 16:07, 5 September 2007 (UTC)
Installing and/or upgrading PHP to support MW has a few pitfalls in the WIMP environment. This cost me an entire, beautiful, long weekend, so maybe someone else can avoid my pain in the future. The core issues come down to using the CGI versus the ISAPI versions of PHP when interacting with IIS. Hopefully this information will be outdated soon, but for now, thought I'd throw it in.

All of the installation documents recommend using CGI, but this has at least two issues that I could not resolve:


 * 1) Versions 5.2.2 until at least 5.2.4 all seem to have a problem with the php_mysql extension.  The symptom is an error message: "Error in my_thread_global_end: 1 threads didn't exit".  The problem is actively discussed on the Web and the workaround is to update the libmySQL.dll that resides in the php directory with the one shipped with MySQL (see PHP bug report).
 * 2) CGI cannot be used if you want to in-line URL script processing (e.g., http://www.any.com/ test.php /01/02/trash.txt ).  This is required for  Image Authorisation and some utilities.  There is a bug in php-cgi.exe which will return an error message of "CGI Error: The specified CGI application misbehaved by not returning a complete set of HTTP headers." when parsing certain URLs containing scripts (but I was never able to determine a consistent pattern).

Therefore, you will have to use PHP ISAPI if you want to use img_auth (and perhaps many other features). You can do this by installing (or updating) using the PHP msi and selecting the ISAPI model (recommended) or by manually resetting your IIS to use the already installed PHP in ISAPI mode (See instructions in Image Authorization Discussion).