MediaWiki: Difference between revisions
imported>Tamiyo |
imported>Tamiyo |
||
Line 33: | Line 33: | ||
== Web Server == | == Web Server == | ||
By default, the <code>services.mediawiki</code> module creates a <code>services.httpd.virtualHost</code> which can be configured via the <code>services.mediawiki.virtualHost</code> submodule. | By default, the <code>services.mediawiki</code> module creates a <code>services.httpd.virtualHost</code> which can be configured via the <code>services.mediawiki.httpd.virtualHost</code> submodule. | ||
If you are using another web server (like Nginx), you can configure MediaWiki for a reverse proxy with the <code>services.mediawiki.virtualHost.listen</code> option: | If you are using another web server (like Nginx), you can configure MediaWiki for a reverse proxy with the <code>services.mediawiki.virtualHost.listen</code> option: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
services.mediawiki.virtualHost.listen = [ | services.mediawiki.httpd.virtualHost.listen = [ | ||
{ | { | ||
ip = "127.0.0.1"; | ip = "127.0.0.1"; | ||
Line 46: | Line 46: | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Alternatively, <code>services.mediawiki.webserver</code> can be set to <code>"nginx"</code> to use nginx instead of apache. | |||
== Troubleshooting == | == Troubleshooting == |
Revision as of 03:07, 14 February 2024
MediaWiki (wikipedia:en:MediaWiki) is available as a module.
Configuration Examples
Small Configuration
services.mediawiki = {
enable = true;
name = "Sample MediaWiki instance";
httpd.virtualHost = {
hostName = "example.com";
adminAddr = "admin@example.com";
};
passwordFile = "/var/mediawiki/passwordFile"; # put the initial password for the admin account here
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
An 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
- 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.