Manual:Streamlined Windows Install Guide

This guide provides both a relatively easy way to install MediaWiki on a Windows PC using the XAMPP stack, and step-by-step instructions for installing each of the separate programs first. Both methods have been tested on Windows XP SP 2, but only the XAMPP method has been tested on Windows Vista.

Easy simple setup (using XAMPP)
''' Please note that MediaWiki does not work with XAMPP 1.7.3, as it uses PHP 5.3.1, which has a bug, making it incompatible with MediaWiki. Please use XAMPP 1.7.4 or newer. '''

(This method has been verified to work on Windows Vista, using xampp-win32-1.6.6a-installer and MediaWiki 1.11.2, and on Windows 7 x64, using xampp-win32-1.7.7-VC9-installer and MediaWiki 1.18.1.)


 * 1) XAMPP includes Apache, MySQL, and PHP all in one integrated package. Just download and run the XAMPP installer and the database and server should be installed and running.
 * 2) * XAMPP requires port 80 and 443 to be free. Even if you have no special server software running, Skype may be using these ports. Before installing XAMPP, quit Skype for the time of installation. Once Apache is running, Skype can be used without problems again.
 * 3) * XAMPP provides instructions how to secure the installation. It is a good idea to secure it now, especially with a root password for mysql, since this password will be used in the MediaWiki setup. Point your browser to http://localhost, click on Security, and follow instructions.
 * 4) Download MediaWiki and extract it.
 * 5) Find the web root folder  and add the extracted MediaWiki folder to it.  You might want to rename the directory from "mediawiki-X.X.X" to "wiki" or something else easy to type.  Then open a browser to   where "mediawiki-X.X.X" is the name of the wiki directory and run the web-based installation script.
 * 6) * You do not have to create a MySQL database or MediaWiki DB user manually, the MediaWiki installation script will do everything for you!
 * 7) * See the main installation manual and m:MySQL_config for more information on setting up the database during the installation.
 * 8) * Note that if the install doesn't accept the password for "root" and shows DB error message, it's possible to leave the field empty for the first time, but be sure to create the password later on. Blank password compromises the wiki.
 * 9) Once the configuration is completed, follow the instructions on the page: " " Move the file   to the   directory.

The following is already done in the latest version of XAMPP and needs not be done. out the line "extension=php_domxml.dll[[Category:]]" by prefixing it with a ';'. The line should look like ";extension=php_domxml.dll". Stop the Apache service and then restart it.
 * 1) Also, xampp\apache\bin\php.ini needs to be modified for this to work.  Comment

XAMPP provides MediaWiki-specific help at http://www.nat32.com/xampp/wiki.htm.

See also Manual:Installing MediaWiki on XAMPP

Requirements

 * Apache Version 2.2.16
 * MySQL Community Edition Version 5.1.49
 * PHP Version 5.3.3
 * MediaWiki Version 1.16.0 or later

While not necessary, phpMyAdmin Version 3.3.5 is an extremely useful utility for management of the database created for your wiki.

Apache
Here we assume you don't want to compile the sources yourself, so just go to any Apache download mirror (e.g. this one), select the appropriate platform and then the file you want (see version number etc). Version 2.2.16 without SSL was used here. It is 4.2 MB in size.


 * 1) Download the file and execute it. Use the following settings in the installation wizard:
 * 2) * installed as a service,
 * 3) * any domain in the domain field, any server name in servername and an appropriate email-address in the email field.
 * 4) * Select "typical installation", for all users, as a service,
 * 5) * install to e.g.  (from here on, we will refer to this folder as  ).
 * 6) * A few users have had installation issues with filepaths that contain spaces, but others have not, so it is a good idea to not use spaces in the file directories. You will have to change several paths in the   file.
 * 7) * You also have to uncomment the line in  that says   (or something similar), and add an additional   for each way you want to access it (where is the local IP for access from your local net, DNS name or IP address for access from the Internet).

MySQL
Use the MySQL 5.1 Community Edition &mdash; the installer file for Windows is 16.4 MB, and it was the version used in this installer.
 * 1) Make sure to turn off any firewalls or anti-virus software. These will make your life impossible and not let you install things correctly.
 * 2) Run the installer, and make sure you use the typical installation to e.g..
 * 3) Immediately after the installation finishes, the wizard offers you the opportunity to configure. Use it, and use the following settings:
 * 4) * Standard configuration (no other MySQL on this computer)
 * 5) * Run as a service
 * 6) * don't check bin paths,
 * [[Image:Bulbgraph.png|20px|]] Note:
 * Other guides (e.g. http://oss.segetech.com/wamp.html) suggest that it is absolutely necessary to check bin paths. My setup was not working (I got the "Could not find a suitable database driver!" error) and reconfigured MySQL to check bin paths; after a restart it worked. Unfortunately I had changed other settings so I can't be sure this was the problem.
 * 1) * Enter a root password
 * [[Image:Bulbgraph.png|20px|]] Note:
 * The root user must retain the name "root", as otherwise MediaWiki's installation script has problems during the initial installation.
 * 1) * no anonymous account
 * 2) * At the end, let MySQL's do its processing of the configuration.
 * [[Image:Bulbgraph.png|20px|]] Note:
 * Port 3306 has to be open for the current subnet, as otherwise the configuration can't be done. The wizard can remain open while opening the port and the processing started again afterwards. MySQL then uses about 57 MB of disk space.
 * 1) Test your installation by opening the Windows command prompt (cmd.exe, not command.com or MySQL's!), starting and stopping the MySQL server service by typing , followed by.

PHP
Make a manual installation using the zipped version (9 MB, 20 MB unzipped). While the CGI script can work, the zipped version contains all the necessary files, and does not require any additional downloads, so it is recommended.
 * 1) Just unzip to a local folder&mdash;e.g.  (from here on called  )
 * 2) Rename the file  in   to
 * [[Image:Bulbgraph.png|20px]] Note:
 * My experience installing under Windows XP was that the following needed to be performed also:
 * Copy php.ini-recommended to [Apache installation path]\conf\php.ini
 * --Myscha (novawoman@hotmail.com)
 * 1) Open the  file:
 * 2) Near the middle of the file, change the   directive line, so it reads   (or a different value if you installed your extensions in a different folder)
 * 3) Uncomment the   and   extensions by removing the semicolons that begin their respective lines (quite far at the back, under the heading "Windows extensions")
 * 4) In order to connect PHP to the Apache server as a module, you have to change the  (in  ) by adding the following text to the end of the file:
 * Don't forget to change both instances of  to the actual path of your PHP folder
 * 1) In httpd.conf file,the entry   needs to be expanded to:
 * 2) Expand the system variable  by the adding a semicolon, followed by the PHP directory   To do this, you can right-click on "My Computer" and select 'Properties' menu, which will bring up the System Control Panel dialog box, if you do this, you can directly go to substep three below:
 * 3) Open the Start Menu, and point to Settings/Control Panel.
 * 4) Select "System" from the Classic view.
 * 5) Select the "Advanced" tab.
 * 6) Click on "Environmental variables"
 * 7) On the "System" section, look for the   variable.
 * 8) Click on "edit"
 * 9) Add the PHP entry to the variable, by entering , as described above.
 * 10) Restart the computer, as it is necessary at this point.
 * 1) Restart the computer, as it is necessary at this point.

phpMyAdmin
While not necessary, phpMyAdmin is an extremely useful utility for management of the database created for your wiki.


 * 1) Download the installation file.
 * 2) Unzip to   (or whatever folder you configured as the Apache server's document root)(henceforth ).
 * 3) Rename the new directory to something easier to remember, such as e.g.   (hereinafter called  ). The zip has 3.7MB, 12.5 MB unzipped
 * 4) For using phpMyAdmin, open a browser of your choice and type the phpMyAdmin URL.  For example, if your apache server is running as , and you renamed your   to   then type.
 * phyMyAdmin tries to login to user 'root' without any password, so if a password is given for "root" user during the MySQL installation, go to  and rename "config.sample.inc.php" file to "config.inc.php" file. Open it and change "blowfish_secret" from blank to any non-blank string, and then browse the url; now it will ask for a username and password.
 * Do not change "blowfish_secret", but the string value it equates to, e.g.

MediaWiki
Download a release of MediaWiki. If you're looking to provide patches and help in development, use the version from SVN; if you are going to be an end user, and are not very concerned with having the latest features, download a stable release.
 * 1) Unzip your downloaded copy into a folder and then copy the folder to   (one can also directly unzip to  ). Unzipping is usually done with software such as 7-Zip (free), WinZip, WinRAR or IZArc (free).
 * 2) Rename the new directory created under   to whatever you would like to have in the URL. If your apache server is running as   for example, unzipping/installing MediaWiki to   directory would mean you would access your wiki at   which will lead to   or   (PHP running as a CGI module) kind of URL.  If you want to have short/pretty URL like Wikipedia see  Short URL for details.
 * 3) Now setup needs to be done to do that open a browser of your choice and type in the URL from above, a page will appear that tells you to Please set up the wiki first as a link.
 * 4) Clicking the link will open a page having a form. Fill the form and then click Install MediaWiki! button at the bottom of the form. The rest is done automatically (see Manual:Config script for details on filling up the form).
 * 5) After the setup, you are told to move a configuration file.

Eureka, the Wiki is installed!

Timespan: if everything goes well, 30 minutes, including download (on a good connection ;-))

Troubleshooting

 * If you receive the error "Could not find a suitable database driver! * For MySQL, compile PHP using --with-mysql, or install the mysql.so module" then make sure that the  and   files are accessible to Apache. One way to do this is to place them in the directory , and restart Apache.
 * No, this does not work - neither of proposed solutions.
 * If Apache cannot find, it may be because it was placed in the Windows folder in your hard drive and not in the Apache bin directory.
 * If you are using Windows XP, you may need to add the directory in which you installed PHP to the  errors, open   and comment the [PHP_OCI8], [PHP_OCI8_11G], and [PHP_PDO_OCI] references.

Backing up and moving wikis
This works for me. As always, please be bold in adding\modifying steps:

Back-up

 * In SQL admin, go to the wiki database (typically wikidb), and click Export. Check the first box under "structure" (DROP TABLES), and check the "save as file" checkbox near the bottom. Click Go and save the file to the back-up drive.
 * Save the wiki folder from htdocs to the back-up drive. This is "Mediawiki x.x.x" by default but typically it is renamed to "wiki"

Transferring to new server

 * Install XAMPP on the new server.
 * In SQL admin:
 * (optional but important for security) Give root a password (from the privileges tab). This password will need to be reflected in your config.inc.php file in xampp\phpmyadmin:
 * Create a new blank database (e.g. wikidb) with the default options and a name of your choice.
 * Import the database file you backed-up.
 * Change the SQL password of the root for that db (in privileges tab)
 * Copy the wiki folder from back-up into the htdocs folder.
 * Change localsettings.php to reflect the new db username and password.