MediaWiki
Warning: | This page is a work in progress and is not completed. Important informations might be missing or wrong. |
Warning: | These instructions were only tested on Debian. It will probably work for other Linux distributions, but you might need to adapt the provided instructions. |
Install Mediawiki
Warning: | Debian packages are currently unmaintained and outdated. This guide will install mediawiki from source. For your security, don't forget to follow upstream releases and update your installation. |
Prerequisite
DNS
This guide assume that you are using a dedicated subdomain for your wiki like https://wiki.example.com. Don't forget to point that domain to your webserver.
Database
You will need a database server store all dynamic data (users, articles…). You can check the MariaDB installation guide.
Nginx
In this guide, we will use Nginx as a web server. Please check the Nginx installation guide.
Get source
# cd /var/www
# curl https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz | tar xz
# chown -R www-data: mediawiki*
Configure Nginx
create certificate
update nginx config
/mw-config
chown root:www-data /etc/mediawiki/LocalSettings.php
chmod 640 /etc/mediawiki/LocalSettings.php
Install Extensions
ParserFunctions
This extension is bundled by default with mediawiki. You just need to activate it.
Add the line wfLoadExtension( 'ParserFunctions' );
to the file /var/www/mediawiki*/LocalSettings.php
SyntaxHighlight
This extension is bundled by default with mediawiki. You just need to activate it.
Add the line wfLoadExtension( 'SyntaxHighlight_GeSHi' );
to the file /var/www/mediawiki*/LocalSettings.php
TemplateData
Allows you to describe your templates using structured data for a better experience with the VisualEditor.
https://www.mediawiki.org/wiki/Extension:TemplateData
VisualEditor
Speedup
By default the mediawiki installation is pretty slow.
Localisation cache
Uncomment the line about $wgCacheDirectory
in /var/www/mediawiki*/LocalSettings.php.
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publically accessible from the web.
$wgCacheDirectory = "$IP/cache";
Enable CronJob
First create the log file
# touch /var/log/mediawiki-runJobs.log
# chown www-data:adm /var/log/mediawiki-runJobs.log
# chmod 640 /var/log/mediawiki-runJobs.log
Then add the following line in /etc/crontab
0 0 * * * www-data /usr/bin/php /var/www/mediawiki-1.26.2/maintenance/runJobs.php > /var/log/mediawiki-runJobs.log
Finally you can disable jobs running on user visits in /var/www/mediawiki*/LocalSettings.php
# Jobs are run by the cronjob. No need to run them on use visits
# https://www.mediawiki.org/wiki/Manual:$wgJobRunRate
$wgJobRunRate = 0;
You can check the number of jobs in the queue at https://wiki.example.com/api.php?action=query&meta=siteinfo&siprop=statistics&format=jsonfm