Manual:Running MediaWiki on Debian or Ubuntu

This page explains how to install MediaWiki on a Debian or Ubuntu GNU/Linux server.

The instructions below refer to Debian, but unless otherwise noted also apply to Ubuntu and Raspbian.

Introduction
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/emacs instead of nano.

Ensure Debian is up-to-date
Double check that Debian is up-to-date by running:

or in one line

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 standard installation using these commands:

Optional useful packages
These packages are not necessary but may be useful, depending on the installation:

You can install any of the above with  .

If you want to install all of them:

If you install php-apcu you will have to reload your apache configuration in order to avoid a warning message when running configuration script:

Get MediaWiki

 * Download the official tarball

This can be done from a browser or by command line

cd /tmp/ wget https://releases.wikimedia.org/mediawiki//mediawiki-.tar.gz


 * extract in your Web directory

Configuration mysql
But before proceeding with the initial MediaWiki installation, there are certain steps you need to do first!

On Raspbian, if this is a new installation of mariadb you will also need to run. sudo mysqld_safe --skip-grant-tables --skip-networking &

You will have to:


 * create a NEW mysql user (new_mysql_user):

# sudo mysql -u root -p and enter password of mysql root user (if you have not configured password it will be empty, so just press return)

mysql> CREATE USER 'new_mysql_user'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED'; mysql> quit;


 * create a NEW mysql database my_wiki:

# sudo mysql -u root mysql> CREATE DATABASE my_wiki; mysql> use my_wiki; Database changed


 * GRANT the NEW mysql user access to the NEW created mysql database my_wiki:

mysql> GRANT ALL ON my_wiki.* TO 'new_mysql_user'@'localhost'; Query OK, 0 rows affected (0.01 sec) mysql>quit;

Optional: Configure PHP
Edit your PHP configuration file,.

On Ubuntu Trusty and Debian Jessie, it is located at.

On Ubuntu Xenial and Debian Stretch (PHP 7), it is located at.

On Raspbian (Buster) it is located at

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:

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

to

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

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 working a symbolic link should solve it:

sudo ln -s /var/lib/mediawiki /var/www/html/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.

It may complain that php extensions like mbstring and xml are missing even you have installed them.

Please manually activate them by using:

sudo phpenmod mbstring sudo phpenmod xml sudo systemctl restart apache2.service

Fill out all the field in the configuration form and press to continue button.

You will have to use your username and password provided in the mysql configuration section:

mysql> CREATE USER 'new_mysql_user'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED';

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 will prompt you to download a LocalSettings.php that must be saved to the parent directory of the new wiki.

The configuration page will give the exact directory/filename that must be moved:

sudo mv ~/Downloads/LocalSettings.php /var/lib/mediawiki/

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.

 has detailed information that may be useful.

The following are changes that appear to be universally helpful

To edit LocalSettings.php use

gksudo gedit /var/lib/mediawiki/LocalSettings.php

or from a terminal

sudo nano /var/lib/mediawiki/LocalSettings.php

File uploads
See .

Changing the logo
See .

MediaWiki extensions
The current tarball for MediaWiki comes with a package of 15 or so of the most popular extensions, but there are literally hundreds more.

Instructions on how to enable extensions can be found at .

Pretty URLs
To use /wiki/* instead of /wiki/index.php/* on Debian, follow the recommended short URL guide using  as the script path instead of   and placing the rewrites in /etc/apache2/conf-enabled/mediawiki.conf.