MediaWiki: Difference between revisions

From NixOS Wiki
imported>Abhillman
(Add link to mediawiki.nix test)
imported>Tamiyo
No edit summary
Line 1: Line 1:
[https://mediawiki.org/ {{PAGENAME}}] ([[wikipedia:en:{{PAGENAME}}]]) is available as a [[module]].
[https://mediawiki.org/ {{PAGENAME}}] ([[wikipedia:en:{{PAGENAME}}]]) is available as a [[module]].


== configuration examples ==
== Configuration Examples ==
<!--
=== Small Configuration ===
==== minimal configuration ====
 
==== basic configuration ====
 
-->
 
==== small configuration ====


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 37: Line 30:
};
};
</syntaxhighlight>
</syntaxhighlight>
<!--


== database ==
== 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.virtualHost</code> submodule.
Line 59: Line 47:
</syntaxhighlight>
</syntaxhighlight>


== See also ==
== Troubleshooting ==
=== Edit php.ini ===
An fpm pool is automatically created when Mediawiki is enabled. The <code>php.ini</code> file can be modified by using <code>phpOptions</code>. The following example shows how to increase the allowed file upload size.
 
<syntaxhighlight lang="nix">
services.phpfpm.pools.mediawiki.phpOptions = ''
    upload_max_filesize = 10M
    post_max_size = 15M
'';
</syntaxhighlight>
 
== See Also ==


* [https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/mediawiki.nix nixos/tests/mediawiki.nix]
* [https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/mediawiki.nix nixos/tests/mediawiki.nix]

Revision as of 02:42, 14 February 2024

MediaWiki (wikipedia:en:MediaWiki) is available as a module.

Configuration Examples

Small Configuration

services.mediawiki = {
  enable = true;
  name = "Sample MediaWiki instance";
  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.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.virtualHost.listen = [
  {
    ip = "127.0.0.1";
    port = 8080;
    ssl = false;
  }
];

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