MediaWiki: Difference between revisions

imported>Vater
mNo edit summary
m fix mediawiki extension url
 
(14 intermediate revisions by 9 users not shown)
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">
services.mediawiki = {
services.mediawiki = {
   enable = true;
   enable = true;
   name = "Sample MediaWiki instance";
   name = "Sample MediaWiki";
   virtualHost = {
   httpd.virtualHost = {
     hostName = "example.com";
     hostName = "example.com";
     adminAddr = "admin@example.com";
     adminAddr = "admin@example.com";
   };
   };
   passwordFile = "/var/mediawiki/passwordFile"; # put the initial password for the admin account here
   # Administrator account username is admin.
  # Set initial password to "cardbotnine" for the account admin.
  passwordFile = pkgs.writeText "password" "cardbotnine";
   extraConfig = ''
   extraConfig = ''
     # Disable anonymous editing
     # Disable anonymous editing
Line 26: Line 21:


   extensions = {
   extensions = {
     VisualEditor = pkgs.fetchzip {
    # some extensions are included and can enabled by passing null
       url = "https://extdist.wmflabs.org/dist/extensions/VisualEditor-REL1_37-3aeea63.tar.gz";
     VisualEditor = null;
       sha256 = "sha256:0y7yysnm64vclyj0nh18ibsbrwsycdi7f8mf8j1b991qggqnclys";
 
    # https://www.mediawiki.org/wiki/Extension:TemplateStyles
    TemplateStyles = pkgs.fetchzip {
       url = "https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_40-5c3234a.tar.gz";
       hash = "sha256-IygCDgwJ+hZ1d39OXuJMrkaxPhVuxSkHy9bWU5NeM/E=";
     };
     };
   };
   };
};
};
</syntaxhighlight>
</syntaxhighlight>
<!--


== database ==
== 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.httpd.virtualHost</code> submodule.


== web server ==
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:
 
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.
 
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 54: Line 48:
];
];
</syntaxhighlight>
</syntaxhighlight>
<!--


== application ==
Alternatively, <code>services.mediawiki.webserver</code> can be set to <code>"nginx"</code> to use nginx instead of [[Apache HTTP Server|apache]].
 
== Troubleshooting ==
=== Edit php.ini ===
A [[Phpfpm|php-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 ==


=== extensions ===
* [https://github.com/NixOS/nixos-wiki-infra Configuration of the NixOS wiki]
* [https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/mediawiki.nix 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.


-->


[[Category:Guide]]
[[Category:Guide]]
[[Category:Applications]]
[[Category:Server]]
[[Category:Web Applications]]