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.
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:
sudo apt update sudo apt upgrade
or in one line
sudo apt update && sudo apt 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 standard installation using these commands:
sudo apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-mbstring
sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring
Optional useful packages
These packages are not necessary but may be useful, depending on the installation:
|Alternative PHP Cache||php-apcu||Modern MediaWiki versions will automatically take advantage of this being installed for improved performance.|
|PHP Unicode normalization||php-intl||MediaWiki will fallback to a slower PHP implementation if not available.|
|Inkscape||inkscape||Alternative means of SVG thumbnailing, than ImageMagick. Sometimes it will render SVGs better if originally created in Inkscape.|
|PHP GD library||php-gd||Alternative to ImageMagick for image thumbnailing.|
|PHP command-line||php-cli||Ability to run PHP commands from the command line, which is useful for debugging and running maintenance scripts.|
|PHP cURL||php-curl||Required by some extensions such as Extension:Math. See Manual:cURL|
|git source control version||git||If not present config script will tell you that it is not installed|
|Basic Calculator||php-bcmath||In order to make the visualeditor work on 32bit machines, like a raspi|
You can install any of the above with
sudo apt-get install packagename.
If you want to install all of them:
sudo apt-get install php-apcu php-intl imagemagick inkscape php-gd php-cli php-curl php-bcmath git
If you install php-apcu you will have to reload your apache configuration in order to avoid a warning message when running configuration script:
sudo service apache2 reload
- Download the official tarball
This can be done from a browser or by command line
- extract in your Web directory
tar -xvzf /tmp/mediawiki-*.tar.gz sudo mkdir /var/lib/mediawiki sudo mv mediawiki-*/* /var/lib/mediawiki
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 Enter password: Enter password of mysql root user (if you have not configured password it will be blank, so just press enter) mysql> CREATE USER 'new_mysql_user'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED'; mysql> quit;
- create a NEW mysql database my_wiki:
# sudo mysql -u root -p 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> commit; mysql> quit;
Optional: Configure PHP
Edit your PHP configuration file, php.ini.
It is located at
/etc/php/7.*/apache2/php.ini, depending on exact version of PHP.
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.
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
memory_limit = 128M
If it is already set to 128M or more, leave it as is.
If this gives a 404 error then working a symbolic link should solve the issue.
sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki
For Debian based systems running apache2, once you create a symbolic link in the /var/www/html directory you may still run into a 404 error. If this happens, try loading: localhost/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 fields in the configuration form and press the continue button. Use the username and password which you provided as above 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:
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
Additional wiki configuration
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 /var/lib/mediawiki/LocalSettings.php
or from a terminal
sudo nano /var/lib/mediawiki/LocalSettings.php
Changing the logo
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 Manual:Extensions.
To use /wiki/* instead of /wiki/index.php/* on Debian, follow the recommended short URL guide using
'/mediawiki' as the script path instead of
'/w' and placing the rewrites in /etc/apache2/conf-enabled/mediawiki.conf.