Windows Server 2003 Web Edition (with SP2)
MySQL 5.0.24
PHP 5.2.5
Install MySQL 5.0.24
Install MySQL to the default directory using the default options:
- Complete the installation by pressing "Next" all the way thru
- Select “Detailed Configuration”
- Choose “Developer Machine”
- Choose “MultiFunctional Database”
- Select path for Data, this configuration used the default location.
- Choose “Decision Support (DSS)/OLAP
- Enable TCP/IP Networking on 3306 and Enable Strict Mode
- Enable standard character set
- Install as a Windows Service and set to launch automatically, check “Include Bin Directory in Windows PATH”
- Enter a Root Password
- Create the setup
- You may need to edit the Windows Firewall settings to allow for TCP port 3306 to be opened for the installation to complete.
Install PHP 5.2.5
- Change the install folder to C:\PHP
- Select IIS CGI from the list of WebServers
- Expand Extensions and select “MySQL” to install, but note other extensions may be useful but can be added later. Hint: If you plan on using Active Directory authentication later on, be sure to select “LDAP”, “OpenSSL” and “MCrypt” now. If you add them later, not all necessary files are copied. You can get these files by performing a reinstall, but this will mess up your php.ini file.
- Install all extras (PHP Manual and PEAR)
- In explorer create folders C:\PHP\sessiondata and C:\PHP\uploadtemp
- Select both folders, right click, and choose properties. On the Security tab grant user IUSR_
“Modify” rights to both folders - In Notepad open C:\PHP\php.ini
- Find the line “;cgi.force_redirect = 1” and uncomment it, change the value of “1” to “0”
- Find the line “upload_tmp_dir="C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\php\upload"” and change to “upload_tmp_dir="C:\PHP\uploadtemp"”
- Change the next line to read: “session.save_path="C:\php\sessiondata"”
NOTE: Search PHP.INI for other instances of session.save_path and upload_tmp_dir. Comment them out, if found.
- Save PHP.INI
Install mail and net_smtp pear modules
- From Internet Explorer goto: http://pear.php.net/go-pear
- Copy entire webpage, and paste into file: c:\php\pear\go-pear.bat
- From Command Line, do the following:
c:
cd \php
.\php pear\go-pear.bat
pear install mail
pear install net_smtp
Install MediaWiki in IIS
- Extract MediaWiki from its downloaded file and place the entire folder in C:\Inetpub\wwwroot\mediawiki
- Right click on this folder. Add IUSR_
to the permissions list with "Read & Execute" permissions - Open IIS Manager
- Stop the Default Website
- Right click on “Web Sites” and choose New, Website
- Call it “MediaWiki”
- Select the path “C:\Inetpub\wwwroot\mediawiki”
- Allow the permissions Read and Execute
- Right click on MediaWiki and choose Properties
- On the Documents tab add “index.php” as the default content page and move to the top of the list
- Save settings and exit IIS Manager
- Enable write permissions on the C:\Inetpub\wwwroot\mediawiki\config folder (at least during the setup process).
- Run “iisreset”
- From ANOTHER MACHINE navigate to http://
Note: My machine was a virtual Windows 2000 Professional SP4 installation with the machine joined to the domain and logged on using a domain user account. - Configure MediaWiki as to your needs
- Copy LocalSettings.php from C:\Inetpub\wwwroot\mediawiki\config to C:\Inetpub\wwwroot\mediawiki
- Navigate back to http://
- You are good to go…
Troubles & Solutions
Error in my_thread_global_end(): 1 threads didn't exit
Using PHP 5.2.3 and MYSQL 5.0.24, ran into the issue where the http page request for each wiki page would hang for about 5 seconds before closing the connection, then finally display a message at the bottom of the page "Error in my_thread_global_end(): 1 threads didn't exit".
The fix for this was
- Download the PHP 5.2.1 Windows binary
- Rename your c:\php\libmysql.dll to c:\php\libmysql.dll_old
- Unzip and copy libmysql.dll from the 5.2.1 version to c:\php\libmysql.dll
Fix Email problem when using IIS SMTP Relay / Exchange
If you are having problems getting email notifications working and receive and error message of Invalid Address 5.5.4 (when using MediaWiki 1.6.5) then you can edit includes/UserMailer.php around line 45:
Before:
class MailAddress {
/**
* @param mixed $address String with an email address, or a User object
* @param string $name Human-readable name if a string address is given
*/
function MailAddress( $address, $name=null ) {
if( is_object( $address ) && is_a( $address, 'User' ) ) {
$this->address = $address->getEmail();
$this->name = $address->getName();
} else {
$this->address = strval( $address );
$this->name = strval( $name );
}
} After:
class MailAddress {
/**
* @param mixed $address String with an email address, or a User object
* @param string $name Human-readable name if a string address is given
*/
function MailAddress( $address, $name=null ) {
#To get round IIS SMTP Invalid Address Problem
$this->name = "";
if( is_object( $address ) && is_a( $address, 'User' ) ) {
$this->address = $address->getEmail();
} else {
$this->address = strval( $address );
}
}
Sem comentários:
Enviar um comentário