Manual:Running MediaWiki on Debian or Ubuntu

This page explains how to install MediaWiki on an Ubuntu linux.

This installation procedure requires knowledge of issuing commands from a terminal (e.g. installing applications) and using a text editor (e.g. graphical: gedit, kate; text: nano, emacs, vi).

When text editing is required it can be carried out on the graphical desktop by pressing Alt-F2 and typing gksudo gedit filename

Alternatively, editing can be done from a terminal sudo nano filename

Of course, kate could be used instead of gedit or vi instead of nano.

Ubuntu Up-To-Date
Double check that Ubuntu is up-to-date by running:

sudo apt-get update sudo apt-get upgrade

Install LAMP Stack
Ubuntu Server Edition makes LAMP (Apache, PHP, and MySQL) available for installation during the install process.

During the installation step, make sure you choose to install a LAMP server.

Alternately, you can install all of these packages from a normal Ubuntu installation using these commands:

for Ubuntu with php7.0

sudo apt-get install apache2 mysql-server php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-xml for Ubuntu with php5

sudo apt-get install apache2 mysql-server php5 php5-mysql libapache2-mod-php5

Opt. Useful Packages
These packages are not necessary but may be useful, depending on the installation:

Example: sudo apt-get install php-apc php5-intl imagemagick phpmyadmin vsftpd php5-cli

Get MediaWiki

 * download the official tarball (current version here)

This can be done from a browser or by     cd Downloads wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz


 * extract in your Web directory
 * Ubuntu 14+: /var/lib/mediawiki

tar -xvzf /pathtofile/mediawiki-*.tar.gz sudo mkdir /var/lib/mediawiki sudo mv mediawiki-*/* /var/lib/mediawiki


 * Ubuntu < 14: /var/www/html

tar -xvzf /pathtofile/mediawiki-*.tar.gz sudo mv mediawiki-*/* /var/www/html

Regular setup
'' This step is not necessary if you were prompted to create a mysql root password during MySQL installation. ''

First, set up a mysql root password.

Remember not to use same password for system root and mysql root.

This will also clear your command history so that other users cannot get to your password.

mysqladmin -u root password "" history -c

Secure setup
Consider running mysql_secure_installation .


 * from main page:

Optional: Configure PHP
Edit your PHP configuration file, php.ini.

For Ubuntu 14.x it is at.

Depending on Ubuntu version it may be located at  or

sudo nano /etc/php5/apache2/php.ini

Maximum upload file size
Assuming that various files are going to be uploaded to the Wiki as content, the limit on the maximum size of an upload has to be adjusted.

About one-half way down is the File Uploads section.

Change: upload_max_filesize = 2M

to at least 20M.

You may have to adjust this again in the future if you want bigger uploads.

Memory limit
Some PHP scripts require a lot of memory to run.

To increase the maximum amount of memory a script can use, page down to about 21%, and change the following entry, if found, from memory_limit = 8M

to memory_limit = 128M

If it is already 128M or more, leave it as is.

Configure Apache

 * Edit apache.conf file at /etc/mediawiki/apache.conf

sudo nano /etc/mediawiki/apache.conf

and un-comment this line: Alias /mediawiki /var/lib/mediawiki

Save and exit out of the editor.

Edit the Apache2 configuration file sudo nano /etc/apache2.conf
 * Verify that the Mediawiki configuration is in Apache.

or sudo nano /etc/apache2/apache2.conf

according to appropriate location.

Look for this line.

Add it if is not present: Include /etc/mediawiki/apache.conf

sudo apache2ctl restart
 * Restart Apache:

or sudo service apache2 restart

Configure MediaWiki
Navigate your browser to http://localhost/mediawiki (for certain installations it may be http://localhost/mediawiki/config or http://wiki.hostname.com/config instead) and following the procedure given.

If this gives a 404 error then this technique may work:

cd /var/www/html

sudo ln -s /var/lib/mediawiki mediawiki


 * Pay close attention for "Checking environment..." in MediaWiki installation script.

This can solve a lot of problems by specifically identifying the source of any errors.

Fill out the configuration form and continue.

Under Database Config, you may change the database name and DB username to new values, but you must turn on "Use superuser account", name: debian-sys-maint

giving the mysql root password you configured earlier.

The configuration process creates a custom LocalSettings.php that must be moved to the parent directory of the new wiki.

The configuration page will give the exact directory/filename that must be moved: sudo mv /var/lib/mediawiki/config/LocalSettings.php /var/lib/mediawiki

For added safety you can then remove the config subdirectory entirely: sudo rm -rf config

And navigate your browser to http://localhost/mediawiki (or http://server_ip_address/mediawiki or  http://server_ip_address/mediawiki/index.php) to see your new wiki.

Done!

You now have a working Wiki

General information
Mediawiki is configured by the LocalSettings.php file, usually found in.

Manual:LocalSettings.php has detailed information that may be useful.

The following are changes that appear to be universally helpful

To edit LocalSettings.php use

gksudo gedit /etc/mediawiki/LocalSettings.php or from a terminal sudo nano /etc/mediawiki/LocalSettings.php

Enable uploads
By default, the Wiki will not permit images to be uploaded.

To change this find $wgEnableUploads and change it from false to true.

Specifying uploadable file types
You may want to modify the list of accepted extensions, which is stored within the $wgFileExtensions array.

For example, you will not be able to upload PDF files without making this change.

If $wgFileExtensions is not already in LocalSettings.php add it at the end (before the ?> line, if one exists in your LocalSettings.php file):

In addition to the $wgFileExtensions option, the following settings may cause files to be rejected (even if $wgStrictFileExtensions = false; is set):


 * $wgFileBlacklist, a list of file extensions that are not uploadable


 * $wgMimeTypeBlacklist, a list of forbidden MIME types.

If problems are still encountered with uploads, check the includes/DefaultSettings.php file.

Image file uploads
The images directory must be writable:

For Ubuntu 9.04 and newer, the command is: sudo chmod a+w /var/lib/mediawiki/images For older Ubuntu: sudo chmod a+w /var/www/wiki/images

Enable thumbnails
The   option added to an   tag will automatically generate a thumbnail version of a picture — if support has been enabled, as follows:

sudo apt-get install imagemagick
 * As mentioned above in options, the ImageMagick package must be installed:


 * In LocalSettings.php, make sure the following settings are in place and not commented out.

They are normally about 80 lines down in the file marked "To enable image uploads":

Changing the logo
The $wgLogo variable specifies the graphical logo that gets displayed on the top left corner by default.

However, the $wgLogo variable may not be present in LocalSettings.php by default - it must be added in manually to the bottom.

There is no standard for the size of the logo image, but 135x135 pixels will fit most skins.

If the logo it is oversized for a specific skin it will show from the top left corner and clip the bottom/right of the image.

The logo file can be placed anywhere, but putting it in the top-level directory of the wiki is convenient.

Fortunately, the variable $wgScriptPath contains the top directory of the wiki, so simply adding the following works well:

Standard Extensions
The current installer for mediawiki comes with a package of 15 or so of the most popular extensions, but there are literally hundreds more.

Go to http://www.mediawiki.org/wiki/Category:Extensions for a complete list.

A list of the other "standard" extensions included with Ubuntu can be found by just running this command: ls /etc/mediawiki-extensions/extensions-available

Standard extensions can be installed with the mwenext command sudo mwenext extensionname.php

sudo mwenext ParserFunctions.php
 * Example: installing ParserFunctions

(If this fails the standard extension package needs to be installed with sudo apt-get install mediawiki-extensions )

Once enabled, it should be listed as a symbolic link in /etc/mediawiki-extensions/extensions-enabled.

You should now be able to go to http://localhost/mediawiki/index.php/Special:Version and see ParserFunctions listed there as an installed extension to your mediawiki.

Confirm it's functioning by putting

on a wiki page and saving.

Other Extensions
Most MediaWiki extensions that are not available in the Ubuntu package system are downloaded in tarball (tar.gz) format and installed manually by putting the files into new subdirectory under extensions.

The list of extensions is available here: Category:Extensions in Wikimedia version control


 * Download the tarball, unpack it to the "extensions" directory (on Ubuntu: "/var/lib/mediawiki/extensions")


 * Edit the "LocalSettings.php" (see above) to add a line reading

Confirm you have installed it properly, by going to the Special pages in your wiki (link on left side) and choosing Version.

All installed extensions are listed with versions, authors, and links to their home pages.


 * Example: installing MiniDonation

For an example, let's take the relatively simple extension called MiniDonation.

This extension lets you put a &lt;donationform&gt; tag in your wiki code, and it will display a link to paypal on the page.

The site for MiniDonation is here: Extension:MiniDonation

Download the tarball (save it to ~/Desktop), then unpack the files to the extensions directory: cd /var/lib/mediawiki/extensions sudo tar -zxvf ~/Desktop/MiniDonation

Next, modify LocalSettings with the Include directive specified in the instructions sudo nano /etc/mediawiki/LocalSettings.php

Finally, check http://localhost/mediawiki/index.php/Special:Version - it should now list MiniDonation there.

Edit a wikipage and add a tag to it, save the page and a functional paypal button should be available.

Upgrading Extensions

 * Standard MediaWiki extensions (such as Cite.php) included in the mediawiki-exstensions package can be upgraded to a newer version.

The extension must be disabled using the command mwdisext ExtensionName.php

before installing the files from the new version into the correct directory in /var/lib/mediawiki/extensions.


 * Manually installed extensions are upgraded by simply repeating the instructions, above, for installing other exstensions.

Shortened URL
To use /wiki/* instead of /wiki/index.php/* on Ubuntu, follow the recommended short URL guide using  as the script path instead of   and placing the rewrites in /etc/apache2/conf.d/mediawiki.conf.