Manual:Installation on Uniform Server (Windows)

&lt; Help:Installation

A wiki and required web and database servers can be installed, configured and running under various versions of Windows in 10 minutes (with practice and on a good day) after downloading 2 files totalling 7MB in size and following the procedure.

Because the installed and configured software and databases use less than 21MB of storage, everything fits on a 32MB memory card, 32MB USB flash drive, PCMCIA/PC Card/CardBus disk, LS-120 SuperDisk, or other portable media. Having the wiki on a stick is useful for demonstrations, sophisticated note-taking, or super-fast installations using a simple copy. N.B. Always stop the servers and use the system tray "unplug/eject" icon to stop the media before removing it!

Procedure
This procedure installs the main components needed to run MediaWiki on Windows. See before starting, and if you have problems see.

Install the servers

 * Run . This extracts the actual installation and will ask for a destination folder - i.e. do not unpack to a temp folder.  It creates a sub-folder called " ", which can be renamed now or any time later (as long as the servers are not running).  Beneath this folder is a folder called " ", which is the top of the folder tree that will become a drive letter.
 * (The installation's default MySQL password for the " " user is " ", which will be used in this procedure.)

Configure the servers

 * 1) If it is not already there, create a sub-folder under   called " ".
 * 2) Open the file   in any text editor (e.g. notepad):
 * 3) Apache has 250 threads by default - reduce to 16 for lighter testing (search for " " in the file)
 * 4) Change " " to " " - this restricts access to the local computer (which can be referred to as " ")
 * 5) Save and close the file
 * 6) Open the file   in any text editor (e.g. notepad): (Windows Explorer may hide the   filename extension, and show a file type of  )
 * 7) Find the section called " ", and add this line beneath it:
 * 8) Save and close the file

Install the wiki

 * 1) Unpack the MediaWiki zip file under the sub-folder  .  (One free tool to unpack zip files is 7-zip.)  Depending on the unpacking tool, you may need to do a second unpack for the   file.  If using WinZip, turn off "TAR file smart CR/LF conversion" (under Options|Configuration|Miscellaneous), to prevent corruption of the configuration file.
 * 2) The unpacking creates a sub-folder called " ", which should be renamed as it becomes part of the URL in this procedure.  (These instructions will use the folder name " " as an example.)

Initial wiki configuration
needs an unused drive letter. These instructions use.
 * 1) Start both the web and database servers:
 * 2) This starts the servers' admin page in your web browser, which may get an error the first time due to timing. A refresh should confirm the server is running.  Then, open
 * 3) Fill out the form and note:
 * 4) The warning about   can be ignored, as you will be fixing it soon anyway.
 * 5) If you use lower-case for the first letter of the site name, it will be capitalised on most of the wiki pages.  The Cologne Blue skin will capitalise the entire name.
 * 6) Leave "MySQL server" as
 * 7) Set "DB root password" to  
 * 8) Press the "Install!" button.  This writes the file   and creates the   database, with one initial user ( ).  An empty page is displayed (due to bug #736 in MediaWiki v1.3.x) where a 1.3 install success page is expected.
 * 9) In your webbrowser, open
 * 10) Set   from " " to " " & press "Save"
 * 11) Click "Back to main page"
 * 12) Click "Shut-down the server"


 * 1) Move the file   up one level to

Optional wiki features
These can also be configured later.

Before editing configuration files:
 * Stop the servers
 * Make backup copies of the configuration files

Uploads
Uploads are disabled by default. To enable them: Uploads will then go into the directory  by default.
 * 1) Open   in any text editor (e.g. notepad)
 * 2) Find " ", and remove the " " in front of it
 * 3) Save and close the file

Email
If you do not have a SMTP server running on the local computer, pages that generate email will display an error. To use another SMTP server:
 * 1) Get the name or IP address of the SMTP server on your LAN or at your ISP
 * 2) Open   in any text editor (e.g. notepad)
 * 3) Change the line " " to use the actual SMTP server instead of " ".
 * 4) Optionally change the line " " to use an actual email address instead of " " for receiving bounces from inter-user email
 * 5) Save and close the file

Default skin
To set a different default skin:
 * 1) Open   in any text editor (e.g. notepad)
 * 2) Find " ", and remove the " " in front of it, and change " " to " " (or " " or " ") &mdash; see
 * 3) Save and close the file

Other default user settings
Other default user settings can be changed in:
 * if using English and you wish to allow users to choose their date preferences, add the line
 * search for the array  which can be modified (for other option names that can be added to the array, see the array  )
 * search for the array  which can be modified (for other option names that can be added to the array, see the array  )
 * search for the array  which can be modified (for other option names that can be added to the array, see the array  )

Performance
Performance can be improved and memory stick life extended by adding some of these lines to : If a hard disk drive is being used for the storage instead of a memory stick, also add:

Tidy up

 * 1) Start the servers again:
 * 2) (Everything should now be working, but the following steps can be done immediately.)
 * 3) In your webbrowser, open
 * 4) Login as
 * 5) In your webbrowser, open
 * 6) Edit the sub-title (keep it short)
 * 7) Press the "Save" button. (The sub-title is shown in the Cologne Blue skin, but not in the Classic or Nostalgia skins.)
 * 8) In your webbrowser, open
 * 9) Type (or copy & paste):
 * 10) Press the "Save" button
 * 11) In your webbrowser, open
 * 12) Type (or copy & paste):
 * 13) Press the "Save" button
 * 14) If you didn't choose GFDL as the license during wiki configuration, open
 * 15) Edit the page to match the license
 * 16) Press the "Save" button

Other pages to edit soon
These empty pages are already linked to from other pages in various skins, so you should edit them soon.


 * Pages in the default namespace:
 * 
 * 


 * Pages in your site's namespace (these are listed in Special:Allmessages where you see  ):
 * (linked from Special:Statistics)
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences
 * (linked from Special:Preferences) &mdash; could redirect to m:Help:Preferences


 * You may also want to add a "sitename:Sandbox" to assist new users.

Components
See also:

Uniform Server v3.2
Uniform Server v3.2 is a quick, easy and small installation containing the servers and platform software for MediaWiki. It includes:
 * web-server Apache 2 (v2.0.50)
 * scripting engine PHP 5 (v5.0.0) with libraries (inc. zlib v1.1.4, libxml2 v2.5.11, iconv v1.9) and extensions (sockets, mysql v3.23.57, GD2 v2.0.23-compatible inc. freetype v2.1.5)
 * database administration phpMyAdmin (v2.6.0-beta2)
 * databaser server MySQL 4 (v4.0.20d according to Uniform Server v3.2 documentation, but v4.0.20a according to MediaWiki and )
 * command scripting ActiveState Perl 5 (v5.8.4.810)

MediaWiki v1.3.7
MediaWiki v1.3.7 is the same wiki software seen here, and consists of PHP web scripts and libraries (including PHPTAL "non-PEAR-users" v0.7.0 and optional memcached v1.0.10 support), and a database schema, data, and interfaces.

Requirements
These are the requirements and related work-arounds for this procedure.

Windows
This procedure may work on any 32-bit/64-bit Windows, but initial testing of this procedure has only been done on Windows 2000 SP4. Exceptions and any work-arounds are: If you are using USB removable media, Windows 95 needs to be the OSR2 edition, and may need extra drivers.
 * Windows 95 : Ensure that the latest TCP/IP update (winsock2) has been applied.
 * Windows 98 : If you are using USB removable media, extra media drivers may be needed.
 * Windows NT 4 : Possible server-control problem.

For non-Windows operating systems, see Help:Installation.

Disk space

 * 7MB for the downloads
 * 21MB for the initial installation and configuration
 * Additional space as the wiki database grows with edits and uploads

Drive letter
This procedure assumes that the drive letter  is unused. Otherwise use a different unused letter where you see the italicised letter.

HTTP TCP port
This procedure assume that the HTTP TCP port (80) is unused. To check, run:

If the output shows  or , you need to either stop the current web server or use a different TCP port in this procedure. See.

No other Apache.exe
If another Apache is installed and running on the same computer, with the exact name "Apache.exe", then:
 * Rename  in the folder   to
 * Change " " to " " inside these files:  (2&times;),   (1&times;),   (1&times;)

Troubleshooting & support resources

 * These log files may contain clues if errors seem to be happening:
 * PHP can be configured to log errors to the Application event log (but not under Windows 95). Edit  :
 * set " "
 * PHP can be configured to log errors to the Application event log (but not under Windows 95). Edit  :
 * set " "
 * set " "


 * set " "
 * to include "notice"-level logging, set " "
 * MediaWiki can be configured to log errors, by adding lines to.
 * MediaWiki can be configured to profile/trace, by adding lines to.
 * There is a formal user guide
 * There are MediaWiki mailing lists with archives
 * has an IRC channel called.
 * There is a formal user guide
 * There are MediaWiki mailing lists with archives
 * has an IRC channel called.

How to throw away the wiki and start again

 * 1) In your webbrowser, open
 * 2) Click the "Drop" tab to remove the selected wikidb database
 * 3) Click the "<= Uniform Server" link
 * 4) Stop the servers by clicking the "Shutdown the server" link
 * 5) Delete   from the   sub-folder
 * 6) Follow the instructions again from

How to throw it all away and start again

 * 1) Stop the servers using
 * 2) Delete the top folder
 * 3) Follow the instructions again from

Software limitations

 * No monobook skin, as MediaWiki automatically disables it due to its included PHPTAL library being incompatible with Uniform Server's included PHP v5
 * No maths markup, due to lack of texvc, LaTeX, dvips, and ImageMagick software
 * Image resizing may not support certain formats, due to lack of ImageMagick software (but PNG, GIF, JPG, XBM and WBMP formats should be okay)
 * Image resizing may result in ugliness, due to lack of ImageMagick software
 * Edit conflicts do not automatically merge, due to lack of diff3 software (available from inside )
 * The  folder may gain small " " files, which can be deleted when the servers are stopped

Procedure limitations

 * The servers only run while you are logged-in

Other limitations

 * Running the wiki from portable writable media, while convenient, is slow.

Security considerations
The procedure only allows access to the web-server from the local machine. Once this changes, other aspects need to be considered for security.

Wiki security model
... overview & links ...

Types of users

 * Anonymous : ...
 * Registered : ... The initial  user has the user rights   and  .  For more information on user rights, see Setting user rights in MediaWiki.

Wiki access

 * Connecting to the wiki : ...
 * Reading the wiki : ...
 * Becoming a registered user : ...
 * Editing the wiki : ...
 * Special privileges (e.g. deletion) : ...

Wiki access models
Combining the types of user and types of access gives a security policy or access model. Common examples are:

Privacy

 * Internet : ... server certificates, caches ...
 * Web browser : ... cookies, cache, history, auto-completion, passwords ...

Servers
Uniform Server, like all WAMP packages, gets fixed slowly compared to its individual components. This makes these packages a security risk. Do not even think about making these servers accessible from the Internet without extra front-end authentication (e.g. by using a VPN).

... httpd IP address and port, mysql IP address ...

See also: MySQL Manual: 5.4 General Security Issues

General
... mention firewalls/NAT/packet-filters, passwords, config folder, test database ...

How to access the wiki from other computers
edit these files:

UniServer3_2\diskw\usr\local\Apache2\conf\httpd.conf:

Listen on the appropriate interfaces: to accept connections from all networks: Listen 80

or to accept connections from localhost and for example 192.168.100.0: Listen 127.0.0.1:80 Listen 192.168.100.0:80

to make self references to your apache work you will have to edit the ServerName entry: put our DNS name there or your IP ServerName 192.168.11.100:80

Give the appropriate rights in your .htaccess files: UniServer3_2\diskw\www\.htaccess Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 192.168.11.0

if there is already a webserver active on port 80 you can switch to another port, for example 81. Then exchange :80 for :81 in Listen and ServerName. additionally you will have to edit the setup of phpmyadmin:

UniServer3_2\diskw\home\admin\WWW\phpMyAdmin-2.6.0-beta2\config.inc.php $cfg['PmaAbsoluteUri'] = 'http://localhost:81/a/phpMyAdmin-2.6.0-beta2/';

If you want to have access to phpmyadmin from the network you will also have to give access to this directory in the corosponding .htacces file: UniServer3_2\diskw\home\admin\WWW\.htaccess Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 192.168.11.0

Multiple wikis
Since the mysql-database for the wiki on a stick wiki runs locally, there is no limit on the number of databases which can be stored. To have several independant wikis on the same apache and mysql, just put them in distinct directories below UniServer3_2\diskw\www and let each run it's install.php routine. Give different database names in the install.php routine. you can share the mysql-wiki user amongst different wikis, but it might be good to give each wiki it's own mysql-user.

directory layout (example) UniServer3_2\diskw\www\TestWiki UniServer3_2\diskw\www\Wikim\mediawiki-1.4rc1 (for testing) UniServer3_2\diskw\www\Wikim\Wiki (stable for production)

Internationalisation
... phpAdmin, multiple wikis ...

Licensing
Despite the variety of licenses, all components can be copied, modified, installed and run for free for private, public or corporate use. Source code is freely available for all binary components. Restrictions may apply if you wish to claim ownership of, sell, or relicense the components. Read the licenses for the actual terms.


 * Uniform Server v3.2: BSD-revised-style license
 * ActiveState Perl 5.8.0.810: ActiveState Community License
 * Perl 5: choose one of the Artistic License or the GNU General Public License (GPL v2)
 * Apache v2.0.50: Apache License v2.0.
 * MySQL 4.0.20d: GPL v2
 * PHP 5 v5.0.0: PHP License v3.0
 * Zend Engine 2: Zend Engine License v2.00
 * phpAdmin v2.6.0-beta2: GPL v2
 * FPDF v1.51: "freeware" (public domain)
 * PHPFM v0.2.3 (plugin): GPL v2
 * go-pear v1.57 (plugin): choose one version of these PHP Licenses: v2.0 or v3.0
 * blowfish (library): GNU Library General Public License
 * profiling (library): Mozilla Public License (MPL) (the version does not seem to be specified, and could be v1.0 or v1.1)


 * MediaWiki v1.3.7: GPL v2
 * PHPTAL-NP-0.7.0: GNU Lesser General Public License v2.1 (GLGPL or LGPL)
 * pear v1.1: PHP License v2.0

Also, some documentation files may be covered by the GNU Free Documentation License (GFDL) v1.1 or v1.2. Some software library files may be covered by a GLPL: GNU Library General Public License or GNU Lesser General Public License. Some library files do not contain license information, some of which do contain copyright notices and/or attributions.