Information Systems:UniKB Wiki Technical Administration Guide

From uniWIKI
Revision as of 17:59, 19 August 2020 by Norwinu (talk | contribs)
Jump to navigation Jump to search
This page is updated for the migrated version of uniKB (on owl.unipharm.local).

Overview

This page describes the configuration of this wiki. uniKB, as with any other MediaWiki-based site, is a customized installation based on open-source software. This page is dedicated to outlining in detail these custom changes from the default configuration so that the wiki can be administered by any system administrator with some familiarity with open-source software.

Administration

Installation and location

Mediawiki is installed as a Debian package on owl.unipharm.local and therefore is easily managed with apt/aptitude. Check Owl LAMP server for notes on managing the server side of things. As a Debian package, it does a few things different from source:

  • /var/lib/mediawiki is the site root. This location is often referred to as /var/www/mediawiki in documentation. Most if not all of the files of the base installation here are symlinked to /usr/share/mediawiki. However, additional files such as non-base extensions and images, are physically located here.
  • /usr/share/mediawiki contains the physical files of the base installation. This folder should not really be touched (hence the symlinks).
  • /etc/mediawiki contains a symlink to LocalSettings.php.

Installing the package also installs the necessary dependencies: Apache web server, PHP v7, MariaDB (MySQL), memcached. Apache and PHP configuration is also done for you.

And as per the Debian philosophy of stability over cutting-edge features, the package offers only the LTS (long-term support) version of Mediawiki.

LocalSettings.php

This very important file is the main configuration file for MediaWiki. The server reads this file in real-time and operates accordingly. Any changes made to this file is automatically applied when the file is saved and the page is refreshed, and thus a single mistyped character can take down the entire wiki (but rather than this being scary, this also means it's relatively easy to fix a downed wiki). Changes to the wiki installation and configuration are summarized in the uniKB Changelog, but detailed explanations for changes to LocalSettings.php can be found in this section.

Namespaces

uniKB utilizes Mediawiki namespaces to provide some separation for the content of each department. These are defined in LocalSettings.php. The following table outlines the namespaces are their corresponding departments.

Custom namespace names and IDs.
Namespace ID
Accounting 3000
Accounting Talk 3001
Purchasing 3002
Purchasing Talk 3003
Information Systems 3004
Information Systems Talk 3005

Extensions

Extensions are modules that extend the functionality of Mediawiki. We try to implement only extensions that are in the stable status and that provide good value to the site. Otherwise, there are a lot of bad extensions that jeopardize the upgradeability (e.g. when they become unmaintained) and performance (if its not coded well) of the site. The ones used are listed below:

  • LDAPAuthentication2: For integrating the site with Active Directory to allow users to sign on via their AD credentials and for mapping AD groups to wiki groups (for permissions and preferences). This is actually a suite of related extensions, including PluggableAuth, LDAPAuthorization, LDAPUserInfo etc. [here] for more info regarding AD integration.
  • CirrusSearch/Elastica: This improves the search function of the site by using elasticsearch (must be installed separately) as the search backend. This came as a highly recommended extension and therefore it was installed (although setup is a little finicky).
  • MobileFrontend: Provides a responsive site for mobile users. This is what Wikipedia uses to enable its mobile site.

Note: Over time, select extensions are integrated into base by the Mediawiki team due to their usefulness.