MediaWiki
MediaWiki (wikipedia:en:MediaWiki) is available as a module.
Configuration Examples
Small Configuration
services.mediawiki = {
enable = true;
name = "Sample MediaWiki";
httpd.virtualHost = {
hostName = "example.com";
adminAddr = "admin@example.com";
};
# Administrator account username is admin.
# Set initial password to "cardbotnine" for the account admin.
passwordFile = pkgs.writeText "password" "cardbotnine";
extraConfig = ''
# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;
'';
extensions = {
# some extensions are included and can enabled by passing null
VisualEditor = null;
# https://www.mediawiki.org/wiki/Extension:TemplateStyles
TemplateStyles = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_40-c639c7a.tar.gz";
hash = "sha256-YBL0Cs4hDSNnoutNJSJBdLsv9zFWVkzo7m5osph8QiY=";
};
};
};
Web Server
By default, the services.mediawiki
module creates a services.httpd.virtualHost
which can be configured via the services.mediawiki.httpd.virtualHost
submodule.
If you are using another web server (like Nginx), you can configure MediaWiki for a reverse proxy with the services.mediawiki.virtualHost.listen
option:
services.mediawiki.httpd.virtualHost.listen = [
{
ip = "127.0.0.1";
port = 8080;
ssl = false;
}
];
Alternatively, services.mediawiki.webserver
can be set to "nginx"
to use nginx instead of apache.
Troubleshooting
Edit php.ini
A php-fpm pool is automatically created when Mediawiki is enabled. The php.ini
file can be modified by using phpOptions
. The following example shows how to increase the allowed file upload size.
services.phpfpm.pools.mediawiki.phpOptions = ''
upload_max_filesize = 10M
post_max_size = 15M
'';
See Also
- Configuration of the NixOS wiki
- nixos/tests/mediawiki.nix
- Dokuwiki, simple PHP- and web-based wiki software which uses file based storage for its content.
- Outline, a modern web based wiki and knowledge base for teams.