Manual:Running MediaWiki on Windows/bitnami

''This is a single user's experience installing XAMPP, mediawiki bitnami installer for XAMPP, and then mediawiki 1.21.2, then configuring it with Semantic Bundle extensions.

Remove this caution if you update these bitnami instructions for new versions or include options for non-XAMPP stacks bitnami supports such as WAMP, Nginx , WAPP , or non-Windows stacks such as Mac MAMP  and MAPP , Linux LAMP and LAPP. XAMPP runs on all platforms so the instructions below are probably the most generic.''

Simple SMW Bundle Install
''Instructions for Windows 7. [Version] indicates what version was tested.''

1. Download and install XAMPP [these instructions were tested under 1.8.3] for your host operating system from xampp.org.

You will need the administrator password to install XAMPP or an account with administrator priveleges.

2. Check the XAMPP status at http://localhost/xampp and ensure MySQL is on. If not restart it with command line or the XAMPP control panel.

3. Run the security setup to set passwords appropriate for your application. Set MySQL root password at this time.

4. Download and install MediaWiki [these instructions were tested with 1.21.2, current bitnami version is 1.23 as of December 2014] for XAMPP and your OS from bitnami.com 

5. Answer the installation questions. Make sure to set predictable memorable passwords. It is quite difficult to recover. The installation process is simpler than standard mediawiki setup, and does not require you to manually install a LocalSettings.php file.

If you need to use existing databases or accounts you may be better off manually installing the mediawiki version at /xampp/htdocs

However if you use the bitnami installer you will find the mediawiki system files at /xampp/apps/mediawiki/htdocs/ with scripts in their typical places /xampp/apps/mediawiki/htdocs/extensions/ /xampp/apps/mediawiki/htdocs/maintenance/ /xampp/apps/mediawiki/htdocs/skins/ and your (user contributed images) at /xampp/apps/mediawiki/htdocs/images/

If you wish to store these files elsewhere make them symbolic links before installing or Semantic Bundle.

6. Run maintenance/update.php to be sure the database is up to the current standard format
 * 1) php update.php

NOTE: If you do not have command line PHP installed but are using XAMPP then use so your command would be /opt/lampp/apps/mediawiki/htdocs/maintenance/update.php
 * 1) /xampp/bin/php
 * 1) /xampp/bin/php

Expect to see a long log of database table creation and checking for consistency.

Note: You can still run the standard mediawiki config program http://localhost/mediawiki/mw-config if you installed the bitnami installer. Some problems may become obvious earlier if you do, so it's worth trying. For instance you may see the following error doing so:

"A database error has occurred. Did you forget to run maintenance/update.php after upgrading? See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script Query: SELECT rev_id FROM `approved_revs` WHERE page_id = '1' LIMIT 1 Function: DatabaseBase::selectField Error: 1146 Table 'bitnami_mediawiki.approved_revs' doesn't exist (localhost)"

Because bitnami modifies the database structure, the update is particularly important.

7. Load the Main_Page of your newly installed mediawiki at http://localhost/mediawiki/index.php/Main_Page and be sure it works. Create some test pages.

Only once you are sure your basic installation works should you add extensions

adding Semantic Mediawiki and Bundle
''Except for the XAMPP-specific file system locations, these instructions are identical to any other Semantic Mediawiki and Bundle installation. Experienced users should not need these line by line instructions.''

8. Unzipping Semantic Bundle, (e.g. the file SemanticBundle-20130929.zip or a later version) into /xampp/apps/mediawiki/htdocs/extensions/ by copying the zip files as follows

Note that SemanticBundle includes a tested compatible version of SemanticMediawiki. It may not be the latest version - see steps 13-14 below for how to install the latest version if required.

It also includes SMW_update.php which you will need to run to update the database for the additional tables SMW requires.

9. You must activate extensions by manually modifying the LocalSettings.php file, usually located at /xampp/apps/mediawiki/htdocs/LocalSettings.php to configure extensions as desired. Save each version of this file with a sequential name (LocalSettings_1.php, _2.php etc) so you can restore if you make a mistake. Make sure to include documentation of why you made each change directly in the file.

First Validator, then Semantic Mediawiki, must be activated using the following lines:

Further customization instructions are always visible in the version INSTALL file at /opt/lampp/apps/mediawiki/htdocs/extensions/SemanticMediaWiki/INSTALL

Enabling one extension at a time is safer as you can determine which change or extension caused a problem. However Validator must be enabled simultaneously, and before, Semantic MediaWiki.

After you enable each version, and save a version of LocalSettings.php, check http://localhost/mediawiki/index.php/Special:Version which should indicate that each Semantic Bundle extension is installed and working. Under 'Installed Extensions' you will see each active extension that you have just enabled.

10. Load the Main_Page of your newly installed semantic wiki at http://localhost/mediawiki/index.php/Main_Page

Create some pages with properties and use other Semantic Mediawiki features to test each extension. To ensure that SMW and Validator are working properly, first, SMW 1.8.0.5 INSTALL instructions recommend the following steps to verify that SMW works:

"Go to the Special:Version page. You should see Semantic MediaWiki (version nn) listed as a Parser Hook there.

Create a regular wiki page named "TestSMW", and in it enter the wiki text Property test: testproperty::Dummypage

When previewing the page before saving, you should see a Factbox at the bottom of the article that shows your input. After saving the page, click on the link "Browse properties" in the page's toolbox. This view should show Testproperty with value Dummypage.

If you don't get these results, check the steps in the Installation section, consult the FAQ section, then contact the user support list (see the Contact section)."

11. Once SMW is definitely working, activate ConfirmEdit, then any other Semantic Bundle features and extensions that you require by editing LocalSettings.php

You can find good examples of settings for all the included extensions in the file ...extensions/SemanticBundle/SemanticBundleSettings.sample.php

Uncomment each line as you test it,

12. Attempt to access the wiki from a local and then more remote browser via IP number, i.e. not 'localhost', to be sure its settings are appropriate for your application(s).

You may need to add extra lines to enable semantics on more than one domain name, e.g.

If semantics are not enabled on particular domains then they will not be visible from those domains, although you will still be able to edit and change them from any other domain on/through which the wiki responds. That allows semantic annotations that are invisible to untrusted parties.

Updating database
Follow the above steps only for testing. Do not create an new pages/database you care about if your intent is to upgrade an existing database you have not yet installed. Instructions for updating old SMW databases are complex and in the INSTALL.

Restoring a previous database is among the most difficult MediaWiki tasks and should not be attempted by new users.

Latest Semantic MediaWiki
Semantic Bundle does not necessarily include the latest version of SemanticMediawiki. If you need the latest SemanticMediawiki for some reason, then follow these steps:

[OPTIONAL] 13. Install SemanticMediawiki [1.8.0.5], e.g. by unzipping Semantic MediaWiki 1.8.0.5.zip into /xampp/apps/mediawiki/htdocs/extensions/SMW1805 and determine which versions of Validator and SemanticMediaWiki files you need to use.

14. Load the Main_Page of your newly installed now-semantic mediawiki at http://localhost/mediawiki/index.php/Main_Page and http://localhost/mediawiki/index.php/Special:Version which should indicate that SemanticMediawiki [>1.8.0.5] is now installed and working.

Create some pages with properties and use other Semantic Mediawiki features to test.

As this version of SMW will not be the one that the SemanticBundle extensions were all tested with, it is very likely you will see unusual behavior. Accordingly be ready to roll back your version of SMW to the one that SemanticBundle[version].zip includes. It is accordingly helpful to keep this and other .run and .zip files around for reinstalls.