import wiki config from container

This commit is contained in:
goeranh 2026-02-28 14:04:58 +01:00
parent 99b1a87ad9
commit 0e647a2ad1
No known key found for this signature in database

588
hosts/wiki/default.nix Normal file
View file

@ -0,0 +1,588 @@
{ config, pkgs, modulesPath, ... }:
{
system.stateVersion = "21.11";
# system.stateVersion = "22.05";
imports = [
"${modulesPath}/virtualisation/proxmox-lxc.nix"
# /etc/nixos/goe.nix
# /etc/nixos/vat.nix
# /etc/nixos/pv.nix
];
proxmoxLXC = {
#### mit dieser konfiguration wird network stuff durch nix gemanaged
manageNetwork = true;
manageHostName = true;
};
systemd.suppressedSystemUnits = [
# "dev-mqueue.mount"
"sys-kernel-debug.mount"
# "sys-fs-fuse-connections.mount"
];
# environment.noXlibs = true;
# services.xserver.enable = false;
networking.enableIPv6 = false;
networking.useDHCP = false;
networking.interfaces.eth0.ipv4.addresses = [
{
address = "141.56.51.13";
prefixLength = 24;
}
];
networking.defaultGateway = "141.56.51.254";
networking.nameservers = [
"141.56.1.1"
"141.56.1.2"
];
networking.hostName = "wiki";
# networking.domain = "stura.htw-dresden.de";
# networking.fqdn = "${networking.hostName}.${networking.domain}";
# networking.fqdn = "wiki.stura.htw-dresden.de";
#### 2022-04-02 vater
#### Das MediaWiki laeuft auf "manuell" gesetzt auf der Zeitzone fuer Germany.
#### Die Datenbank wirft Fehlermeldungen unter Angabe der Zeitzone fuer UTC.
#### Daher wird versucht die Zeit fuer das System - und damit auch fuer die Datenbank - zu vereinheitlichen.
time.timeZone = "Europe/Berlin";
#### 2022-04-03 vater
#### andere klaegliche Versuche
# services.phpfpm.phpOptions = "date.timezone = \"Europe\/Berlin\"\n";
# services.httpd.phpOptions = "date.timezone = \"Europe\/Berlin\"\n";
#### https://nixos.org/manual/nixos/stable/#sec-upgrading-automatic
system.autoUpgrade.enable = true;
system.autoUpgrade.allowReboot = true;
# system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.05;
#### https://nixos.wiki/wiki/Storage_optimization#Automatic
# nix.autoOptimiseStore = true;
nix.settings.auto-optimise-store = true;
nix.optimise.automatic = true;
nix.gc.automatic = true;
# nix.gc.options = "--delete-older-than 7";
#### 2022-10-31 vater: vermutlich hat das goeranh hinzugefuegt, da goeranh das haben will.
programs.tmux.enable = true;
#### 2022-11-01 vater: Ich hoerte bei der gestrigen Einarbeitung, dass PV gern (neo)vim benutzt.
programs.neovim.enable = true;
environment.systemPackages = with pkgs; [
#### Installation vom Paket imagemagick, um bei MediaWiki die Anpassung $wgUseImageMagick zu ermoeglichen
imagemagick
vim
];
services.mediawiki.enable = true;
#### todo setzen auf lts
#### services.mediawiki.package = pkgs.mediawiki-143;
services.mediawiki.passwordFile = "/var/lib/mediawiki/mediawiki-password";
services.mysql.enable = true;
services.mysql.package = pkgs.mariadb;
services.mysql.ensureDatabases = [ "mediawiki" ];
services.mysql.ensureUsers = [ { name = "mediawiki"; ensurePermissions."mediawiki.*" = "ALL PRIVILEGES"; } ];
services.mediawiki.database.tablePrefix = "sturawiki";
services.mediawiki.database.createLocally = false;
# services.mediawiki.database.passwordFile = "/run/keys/mediawiki-dbpassword";
services.mediawiki.database.passwordFile = "/var/lib/mediawiki/mediawiki-dbpassword";
#### 2024-02-17 vater:
#### trace: warning: The option `services.mediawiki.virtualHost' defined in `/etc/nixos/configuration.nix' has been renamed to `services.mediawiki.httpd.virtualHost'.
# services.mediawiki.virtualHost.hostName = "wiki.stura.htw-dresden.de";
# services.mediawiki.httpd.virtualHost.hostName = "wiki.stura.htw-dresden.de";
# services.mediawiki.virtualHost.hostName = "${config.networking.fqdn}";
# services.mediawiki.httpd.virtualHost.hostName = "${config.networking.fqdn}";
services.mediawiki.httpd.virtualHost.hostName = "wiki.htw.stura-dresden.de";
# services.mediawiki.virtualHost.adminAddr = "wiki@stura.htw-dresden.de";
# services.mediawiki.httpd.virtualHost.adminAddr = "wiki@stura.htw-dresden.de";
# services.mediawiki.virtualHost.adminAddr = "${config.networking.hostName}@${config.networking.domain}";
services.mediawiki.httpd.virtualHost.adminAddr = "${config.networking.hostName}@${config.networking.domain}";
# services.mediawiki.virtualHost.forceSSL = true;
services.mediawiki.httpd.virtualHost.forceSSL = true;
# services.mediawiki.virtualHost.enableACME = true;
services.mediawiki.httpd.virtualHost.enableACME = true;
#### 2024-10-07T13:37 admin@ (vat@)
#### https://pro.stura.htw-dresden.de/issues/1999#note-6
#### Der unfertige (offensichtlich nicht einmal auf die wesentlichen Funktionalitaeten gepruefte) "Versuch" soll mit der Deaktivierung erst einmal abgebrochen werden, um die Funktionaliaet wieder herzustellen.
## Definiert den Webserver für das Mediawiki|default apache
# services.mediawiki.webserver = "nginx";
#### 2024-10-07T23:42 admin@ (vat@)
#### Der Vorgaenger (Aktualisierung 24.05) ist nun durch. Daher teste ich mal die Option nginx. :-)
# services.mediawiki.webserver = "nginx";
## services.nginx.virtualHosts."${config.networking.fqdn}".forceSSL = true;
## services.nginx.virtualHosts."${config.networking.fqdn}".enableACME = true;
## services.nginx.virtualHosts."${config.networking.fqdn}" = {
# services.nginx.virtualHosts."wiki.stura.htw-dresden.de" = {
# forceSSL = true;
# enableACME = true;
# };
## services.mediawiki.nginx.hostName = "${config.networking.fqdn}";
# services.nginx.recommendedOptimisation = true;
# services.nginx.recommendedTlsSettings = true;
# services.nginx.recommendedProxySettings = true;
# services.nginx.recommendedGzipSettings = true;
##services.nginx.recommendedZstdSettings
##services.nginx.recommendedBrotliSettings
services.mediawiki.extensions = {
#### https://extdist.wmflabs.org/dist/extensions/
#### https://github.com/NixOS/nixos-wiki-infra/blob/main/modules/nixos-wiki/update-extensions.py
#### Hinzufuegen der Erweiterung Lockdown fuer die Moeglichkeit zum Einschraenken des Zugriffs auf Namensraeume nach Gruppen
#### https://www.mediawiki.org/wiki/Extension:Lockdown
#### https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Lockdown
Lockdown = pkgs.fetchzip {
# url = "https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_43-7ac8966.tar.gz";
url = "https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_44-af1f4df.tar.gz";
sha256 = "sha256-Rj4sN22BLG7y4MB6vHCQkwh5QboeA87dgjE/dENCsy8=";
};
#### Hinzufuegen der Erweiterung ConfirmEdit fuer eine zusaetzliche Bestaetigung bei Bearbeitungen, etwa um Herausforderungen (aka CAPTCHA) zu stellen
#### https://www.mediawiki.org/wiki/Extension:ConfirmEdit
#### Die Funktionalitaet der Erweiterung Interwiki ist anscheinend standardmaessiger Bestandteil (von MediaWiki (ab der Version 1.18)).
#### Hinzufuegen der Erweiterung QuestyCaptcha als eine Zusatz der Erweiterung ConfirmEdit fuer die Herausforderungen (aka CAPTCHA) zur textlichen Beanwortung von bestimmten Fragen
#### https://www.mediawiki.org/wiki/Extension:QuestyCaptcha
#### Der Zusatz QuestyCaptcha ist anscheinend standardmaessiger Bestandteil der Erweiterung ConfirmEdit.
#### ConfirmEdit = pkgs.fetchzip {
#### url = "https://extdist.wmflabs.org/dist/extensions/ConfirmEdit-REL1_43-6e00b43.tar.gz";
#### url = "https://extdist.wmflabs.org/dist/extensions/ConfirmEdit-REL1_44-e9c961f.tar.gz";
#### };
#### Hinzufuegen der Erweiterung ContributionScores fuer eine Statistik von Beitraegen nach Beitragenden
#### https://www.mediawiki.org/wiki/Extension:ContributionScores
ContributionScores = pkgs.fetchzip {
# url = "https://extdist.wmflabs.org/dist/extensions/ContributionScores-REL1_43-a00a217.tar.gz";
url = "https://extdist.wmflabs.org/dist/extensions/ContributionScores-REL1_44-2efa7a5.tar.gz";
#### sha256 = "1fns6xwydyzvyla23m71jkcfba9kis5xrw8k4cqkydnzzpamkypy";
sha256 = "sha256-x9rL08jrSgzfU4FU6eluF5tzTlpipd8YSuVoYgHpYdA=";
};
#### Hinzufuegen der Erweiterung Interwiki fuer das Verwenden von Verweisen als eine Art Namensraum, wie beispielweise auf Wikipedia oder selbst festgelegte Verweise
#### https://www.mediawiki.org/wiki/Extension:Interwiki
#### Die Funktionalitaet der Erweiterung Interwiki ist anscheinend standardmaessiger Bestandteil (von MediaWiki (ab der Version 1.44)).
#### Interwiki = pkgs.fetchzip {
#### url = "https://extdist.wmflabs.org/dist/extensions/Interwiki-REL1_43-5512dd0.tar.gz";
#### };
#### Hinzufuegen der Erweiterung Cite fuer das Verwenden von Referenzen wie in der Wikipedia
#### https://www.mediawiki.org/wiki/Extension:Cite
#### Die Funktionalitaet der Erweiterung Interwiki ist anscheinend standardmaessiger Bestandteil (von MediaWiki (ab der Version 1.21)).
#### Cite = pkgs.fetchzip {
#### url = "https://extdist.wmflabs.org/dist/extensions/Cite-REL1_41-809bc89.tar.gz";
#### };
#### Hinzufuegen der Erweiterung UserMerge fuer das (Zusammenfueren und das) Loeschen von Konten (etwa durch SPAM)
#### https://www.mediawiki.org/wiki/Extension:UserMerge
UserMerge = pkgs.fetchzip {
# url = "https://extdist.wmflabs.org/dist/extensions/UserMerge-REL1_43-ed4a689.tar.gz";
url = "https://extdist.wmflabs.org/dist/extensions/UserMerge-REL1_44-d191781.tar.gz";
sha256 = "sha256-JHeyGr1rmwhPcEfk4BGV5sW3V5WJ4g6Qg64xCUmh8zY=";
};
};
services.mediawiki.extraConfig = ''
# TODO be
# Abgleich mit https://github.com/NixOS/nixpkgs/blob/nixos-22.05/nixos/modules/services/web-apps/mediawiki.nix
# Ueberfluessige Inhalte auskommentieren
# TODO en
########
#### Uhrzeit
########
#### https://www.mediawiki.org/wiki/Manual:$wgLocaltimezone
$wgLocaltimezone = 'Europe/Berlin';
########
#### Datenbank
########
#### (verpflichtender Eintrag fuer ein) Passwort fuer die Datenbank vom MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgDBpassword
$wgDBpassword = "PpKlIts";
#### (optionaler, aber bei der Einrichtung wohl verwendeter Eintrag fuer einen) zusaetzlicher Praefix vom MediaWiki fuer den Namen der Tabellen in der Datenbank, um Kollision bei der Bezeichnung mit anderen Anwendungen, die Datenbank nutzen zu vermeiden
#### https://www.mediawiki.org/wiki/Manual:$wgDBprefix
#### $wgDBprefix = ;
$wgDBprefix = "sturawiki";
########
#### Funktionalitaeten
########
#### https://www.mediawiki.org/wiki/Category:Path_variables
#### https://www.mediawiki.org/wiki/Manual:$wgDiff3
#### $wgDiff3 = "/usr/bin/diff3";
#### #### wenn es mal Probleme gibt
#### #### #### which diff3
#### $wgDiff3 = "/run/current-system/sw/bin/diff3";
#### https://www.mediawiki.org/wiki/Manual:$wgDiff
#### $wgDiff3 = "/usr/bin/diff";
#### #### wenn es mal Probleme gibt
#### #### #### which diff
#### $wgDiff = "/run/current-system/sw/bin/diff";
# TODO be
#### https://www.mediawiki.org/wiki/Manual:$wgFFmpegLocation
#### https://www.mediawiki.org/wiki/Manual:$wgFFprobeLocation
# TODO en
# TODO be
# braucht es das noch?
#### https://www.mediawiki.org/wiki/Manual:$wgLocalInterwikis
#### $wgLocalInterwiki = $wgSitename;
# TODO en
########
#### Allgemein
########
#### Aenderung der Bezeichnung vom Titel vom MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgSitename
#### $wgSitename = "MediaWiki";
$wgSitename = "Wiki StuRa HTW Dresden";
#### Aenderung der Bezeichnung vom standardmaessigen Namensraum der Seiten zum Projekt im MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgMetaNamespace
#### $wgMetaNamespace = "MediaWiki";
$wgMetaNamespace = "StuRa_HTW_Dresden";
#### $wgMetaNamespace = false;
#### Aenderung der Bezeichnung vom standardmaessigen Namensraum der Seiten fuer die Diskussion zu den Seiten zum Projektes im MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgMetaNamespaceTalk
#### $wgMetaNamespaceTalk = "MediaWiki_Diskussion";
$wgMetaNamespaceTalk = "StuRa_HTW_Dresden_Diskussion";
#### $wgMetaNamespaceTalk = false;
#### Aenderung vom Logo im MediaWiki
#### #### seit Version 1.35 veraltete Art zur Angabe der Quelle fuer das Logo im MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgLogo
#### $wgLogo = "/resources/assets/change-your-logo.svg";
// $wgLogo = "/var/lib/mediawiki/images/logo.png";
// $wgLogo = "/var/lib/mediawiki/customization/logo.png";
#### #### Angabe der Quelle fuerr das Logo im MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgLogos
#### $wgLogos = false;
$wgLogos = [
'1x' => "/images/logo.png",
'svg' => "/images/logo.svg",
];
// $wgLogos = "/var/lib/mediawiki/customization/logo.svg";
#### Hinzufuegen von einem Favicon fuer MediaWiki
#### #### Angabe der Quelle für das Favicon
#### https://www.mediawiki.org/wiki/Manual:$wgFavicon
$wgFavicon = "/images/favicon.png";
// $wgFavicon = "/var/lib/mediawiki/customization/favicon.png";
#### 2024-10-08 vat@
#### um das "neue" - MediaWiki Version 41 - standardmaessige Erscheinungsbild (vector-2022) vorerst durch das hinherige Erscheinungsbild (vector) zu ersetzen
#### https://www.mediawiki.org/wiki/Manual:$wgDefaultSkin
#### https://www.mediawiki.org/wiki/Manual:Skin_configuration
$wgDefaultSkin = 'vector';
#### Sprache vom MediaWiki
#### https://www.mediawiki.org/wiki/Manual:$wgLanguageCode
#### $wgLanguageCode = "en";
$wgLanguageCode = "de";
#### https://www.mediawiki.org/wiki/Manual:$wgEmergencyContact
$wgEmergencyContact = "wiki@stura.htw-dresden.de";
#### https://www.mediawiki.org/wiki/Manual:$wgPasswordSender
$wgPasswordSender = "wiki@stura.htw-dresden.de";
#### https://www.mediawiki.org/wiki/Manual:$wgUseInstantCommons
#### $wgUseInstantCommons = false;
$wgUseInstantCommons = true;
#### https://www.mediawiki.org/wiki/Manual:$wgEnotifUserTalk
#### $wgEnotifUserTalk = false;
$wgEnotifUserTalk = true;
#### https://www.mediawiki.org/wiki/Manual:$wgEnotifWatchlist
#### $wgEnotifWatchlist = false;
$wgEnotifWatchlist = true;
#### Option zum Erlauben vom Einbinden von Bildern von externen Quellen
#### https://www.mediawiki.org/wiki/Manual:$wgAllowExternalImages
$wgAllowExternalImages = true;
#### Option zum Erlauben vom Hochladen von Dateien
#### https://www.mediawiki.org/wiki/Manual:$wgEnableUploads
#### $wgEnableUploads = false;
$wgEnableUploads = true;
#### Option zum Erlauben vom Anpassen der Groesse von Bildern
#### https://www.mediawiki.org/wiki/Manual:$wgUseImageResize
# $wgUseImageResize = true;
$wgUseImageResize = true;
# TODO be
#### https://www.mediawiki.org/wiki/Manual:$wgUseImageMagick
#### $wgUseImageMagick = false;
$wgUseImageMagick = true;
#### https://www.mediawiki.org/wiki/Manual:$wgImageMagickConvertCommand
#### $wgImageMagickConvertCommand = "/usr/local/bin/convert";
$wgImageMagickConvertCommand = "/run/current-system/sw/bin/convert";
# TODO en
# TODO be
#### https://www.mediawiki.org/wiki/Category:MediaWiki_configuration_settings_still_in_use
#### https://www.mediawiki.org/wiki/Manual:$wgAdvertisedFeedTypes
# TODO en
# TODO be
#### https://www.mediawiki.org/wiki/Manual:$wgLocalInterwiki
// $wgLocalInterwiki = $wgSitename;
# TODO en
########
#### Erweiterungen
########
#### Erweiterung zum Stellen von einer Herausforderung, um unerwünschte Änderungen durch automaisierte Systeme zu verhindern
#### https://www.mediawiki.org/wiki/Extension:ConfirmEdit
#### Erweiterung zum Stellen von einer Herausforderung durch das Stellen von Fragen
#### https://www.mediawiki.org/wiki/Extension:QuestyCaptcha
wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]);
#### 2025-06-20 vat
#### Es heißt, dass $wgCaptchaClass direkt angegeben werden muss.
#### https://www.mediawiki.org/wiki/Extension:ConfirmEdit#CAPTCHA_types
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaTriggers['edit'] = true;
$wgCaptchaTriggers['create'] = true;
$wgCaptchaTriggers['createtalk'] = true;
$wgCaptchaTriggers['addurl'] = true;
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['badlogin'] = true;
$wgCaptchaQuestions = [
#### 2025-06-21 vat
#### Wir haben ein Problem mit SPAM!
#### Weitere moeglich Fragen und Antworten, wenn die Anforderungen zur Loesung hoeher weden muessen.
# "Nachname der Leitung vom Prorektorat Lehre und Studium seit 2025?" => "Franze",
# "Vorname der Leitung vom Prorektorat Lehre und Studium seit 2025?" => "Andreas",
# "Raum (im StuRa) mit einem Herd?" => "A103",
# "Raum (im StuRa) mit einem Billard-Tisch?" => "A001",
## "Raum (im StuRa) mit einigen Servern?" => "A008",
# "Raum (im StuRa) vor dem Sitzungsraum?" => [
# 'A104',
# 'A107'
# ],
#### Zum Test werden alle Verfahren, deren Loesung eine einzelne Zahl ist, deaktiviert. (Das ist ein erster troeger Versuch.)
# "Welche Anzahl an Fakultäten hat unsere Hochschule geschaffen (als Zahl, nicht als Wort)?" => "8",
"Welche Anzahl an Referaten hat unser StuRa geschaffen (als Zahl, nicht als Wort)?" => "11",
# "Welche Anzahl an Mitgliedern im Vorstand hat unser StuRa geschaffen (als Zahl, nicht als Wort)?" => "3",
# "Welche Anzahl an Mitgliedern im Präsidium hat unser StuRa geschaffen (als Zahl, nicht als Wort)?" => [
# '3',
# '4',
# '5'
# ],
"Welche Hausnummer hat das Gebäude in dem unser StuRa sitzt (als Zahl, nicht als Wort)?" => "23"
];
#### Erweiterung zum (Zusammenfuehren und zum) Loeschen von Konten
#### https://www.mediawiki.org/wiki/Extension:ContributionScores
wfLoadExtension( 'UserMerge' );
$wgGroupPermissions['bureaucrat']['usermerge'] = true;
$wgUserMergeProtectedGroups = [
'sysop',
'bureaucrat'
];
// $wgGroupPermissions['sysop']['deletelogentry'] = true;
$wgGroupPermissions['bureaucrat']['deletelogentry'] = true;
// $wgGroupPermissions['sysop']['deleterevision'] = true;
$wgGroupPermissions['bureaucrat']['deleterevision'] = true;
#### (standardmaessige) Erweiterung Interwiki fuer das Verwenden von Verweisen als eine Art Namensraum, wie beispielweise auf Wikipedia oder selbst festgelegte Verweise
#### https://www.mediawiki.org/wiki/Extension:Interwiki
wfLoadExtension( 'Interwiki' );
#### uebliche Loesung fuer das Ermoeglichen der Verwaltung von Eintraegen fuer Interwiki durch das Berechtigen der standardmaessigen administrativen Gruppe sysop fuer interwiki
$wgGroupPermissions['sysop']['interwiki'] = true;
#### (standardmaessige) Erweiterung Cite fuer das Verwenden von Referenzen wie in der Wikipedia
#### https://www.mediawiki.org/wiki/Extension:Cite
wfLoadExtension( 'Cite' );
#### Erweiterung zum Bewertung der Beitragenden im MediaWiki
#### https://www.mediawiki.org/wiki/Extension:ContributionScores
wfLoadExtension( 'ContributionScores' );
$wgContribScoreIgnoreBots = true;
#### #2506
# $wgContribScoreIgnoreBlockedUsers = true;
$wgContribScoreIgnoreBlockedUsers = false;
$wgContribScoreIgnoreUsernames = [];
$wgContribScoresUseRealName = true;
$wgContribScoreDisableCache = false;
$wgContribScoreUseRoughEditCount = false;
$wgContribScoreReports = [
[ 7, 50 ],
[ 30, 50 ],
[ 0, 50 ]
];
########
#### Namensraeume
########
### standardmaessiger Namensraum fuer den StuRa mit Diskussion
define("NS_STURA", 100);
$wgExtraNamespaces[NS_STURA] = "StuRa";
define("NS_STURA_TALK", 101);
$wgExtraNamespaces[NS_STURA_TALK] = "StuRa_Diskussion";
### erganzender Namensraum fuer interne (nicht oeffentliche) Inhalte des StuRa mit Diskussion
define("NS_INTERN", 102);
$wgExtraNamespaces[NS_INTERN] = "Intern";
define("NS_INTERN_TALK", 103);
$wgExtraNamespaces[NS_INTERN_TALK] = "Intern_Diskussion";
### erganzender Namensraum fuer administrative Inhalte (vom Wiki) mit Diskussion
define("NS_ADMIN", 104);
$wgExtraNamespaces[NS_ADMIN] = "Admin";
define("NS_ADMIN_TALK", 105);
$wgExtraNamespaces[NS_ADMIN_TALK] = "Admin_Diskussion";
### erganzender Namensraum fuer Inhalte zu einzelnen Personen (nicht oeffentliche) mit Diskussion
define("NS_PERSON", 106);
$wgExtraNamespaces[NS_PERSON] = "Person";
define("NS_PERSON_TALK", 107);
$wgExtraNamespaces[NS_PERSON_TALK] = "Person_Diskussion";
### erganzender Namensraum fuer Inhalte von faranto mit Diskussion
define("NS_FARANTO", 108);
$wgExtraNamespaces[NS_FARANTO] = "Faranto_e._V.";
define("NS_FARANTO_TALK", 109);
$wgExtraNamespaces[NS_FARANTO_TALK] = "Faranto_e._V._Diskussion";
### begin Namensraeume fuer die Fachschaft ET
define("NS_ET", 212);
$wgExtraNamespaces[NS_ET] = "ET";
define("NS_ET_TALK", 312);
$wgExtraNamespaces[NS_ET_TALK] = "ET_Diskussion";
define("NS_ET_INTERN", 412);
$wgExtraNamespaces[NS_ET_INTERN] = "ET_intern";
define("NS_ET_INTERN_TALK", 512);
$wgExtraNamespaces[NS_ET_INTERN_TALK] = "ET_intern_Diskussion";
### end Namensraeume fuer die Fachschaft ET
### begin Namensraeume fuer die Fachschaft LUC
define("NS_LUC", 216);
$wgExtraNamespaces[NS_LUC] = "LaUCh";
define("NS_LUC_TALK", 316);
$wgExtraNamespaces[NS_LUC_TALK] = "LaUCh_Diskussion";
define("NS_LUC_INTERN", 416);
$wgExtraNamespaces[NS_LUC_INTERN] = "LaUCh_intern";
define("NS_LUC_INTERN_TALK", 516);
$wgExtraNamespaces[NS_LUC_INTERN_TALK] = "LaUCh_intern_Diskussion";
### end Namensraeume fuer die Fachschaft LUC
### end Namensraueme fuer einzelne Gruppen
########
#### Gruppen und Berechtigungen
########
### ergaenzende Gruppen intern fuer das Zuweisen vom Recht zur Benutzung des Namensraumes NS_INTERN und NS_INTERN_TALK begin
// Implicit group for intern (copy of group user)
$wgGroupPermissions['intern']['move'] = true;
$wgGroupPermissions['intern']['move-subpages'] = true;
$wgGroupPermissions['intern']['move-rootuserpages'] = true; // can move root userpages
//$wgGroupPermissions['intern']['movefile'] = true; // Disabled for now due to possible bugs and security concerns
$wgGroupPermissions['intern']['read'] = true;
$wgGroupPermissions['intern']['edit'] = true;
$wgGroupPermissions['intern']['createpage'] = true;
$wgGroupPermissions['intern']['createtalk'] = true;
$wgGroupPermissions['intern']['writeapi'] = true;
$wgGroupPermissions['intern']['upload'] = true;
$wgGroupPermissions['intern']['reupload'] = true;
$wgGroupPermissions['intern']['reupload-shared'] = true;
$wgGroupPermissions['intern']['minoredit'] = true;
$wgGroupPermissions['intern']['purge'] = true; // can use ?action=purge without clicking "ok"
$wgGroupPermissions['intern']['sendemail'] = true;
### ergaenzende Gruppen intern fuer das Zuweisen vom Recht zur Benutzung des Namensraumes NS_ET_INTERN und NS_ET_INTERN_TALK begin
#### triviales Kopieren und Anpassen der Gruppe intern
$wgGroupPermissions['ET']['move'] = true;
$wgGroupPermissions['ET']['move-subpages'] = true;
$wgGroupPermissions['ET']['move-rootuserpages'] = true; // can move root userpages
//$wgGroupPermissions['ET']['movefile'] = true; // Disabled for now due to possible bugs and security concerns
$wgGroupPermissions['ET']['read'] = true;
$wgGroupPermissions['ET']['edit'] = true;
$wgGroupPermissions['ET']['createpage'] = true;
$wgGroupPermissions['ET']['createtalk'] = true;
$wgGroupPermissions['ET']['writeapi'] = true;
$wgGroupPermissions['ET']['upload'] = true;
$wgGroupPermissions['ET']['reupload'] = true;
$wgGroupPermissions['ET']['reupload-shared'] = true;
$wgGroupPermissions['ET']['minoredit'] = true;
$wgGroupPermissions['ET']['purge'] = true; // can use ?action=purge without clicking "ok"
$wgGroupPermissions['ET']['sendemail'] = true;
### ergaenzende Gruppen intern fuer das Zuweisen vom Recht zur Benutzung des Namensraumes NS_LUC_INTERN und NS_LUC_I
#### triviales Kopieren und Anpassen der Gruppe intern
$wgGroupPermissions['LUC']['move'] = true;
$wgGroupPermissions['LUC']['move-subpages'] = true;
$wgGroupPermissions['LUC']['move-rootuserpages'] = true; // can move root userpages
//$wgGroupPermissions['LUC']['movefile'] = true; // Disabled for now due to possible bugs and security
$wgGroupPermissions['LUC']['read'] = true;
$wgGroupPermissions['LUC']['edit'] = true;
$wgGroupPermissions['LUC']['createpage'] = true;
$wgGroupPermissions['LUC']['createtalk'] = true;
$wgGroupPermissions['LUC']['writeapi'] = true;
$wgGroupPermissions['LUC']['upload'] = true;
$wgGroupPermissions['LUC']['reupload'] = true;
$wgGroupPermissions['LUC']['reupload-shared'] = true;
$wgGroupPermissions['LUC']['minoredit'] = true;
$wgGroupPermissions['LUC']['purge'] = true; // can use ?action=purge without clicking "ok"
$wgGroupPermissions['LUC']['sendemail'] = true;
### ergaenzende Gruppen intern fuer das Zuweisen vom Recht zur Benutzung des Namensraumes NS_ET_INTERN und NS_ET_INTERN_TALK end
// To grant sysops permissions to edit interwiki data
$wgGroupPermissions['sysop']['interwiki'] = true;
########
#### Namensraeume und Einschraenkungen
########
$wgNamespacePermissionLockdown[NS_INTERN]['*'] = array('intern');
$wgNamespacePermissionLockdown[NS_INTERN_TALK]['*'] = array('intern');
$wgNamespacePermissionLockdown[NS_PERSON]['*'] = array('intern');
$wgNamespacePermissionLockdown[NS_PERSON_TALK]['*'] = array('intern');
$wgNamespacePermissionLockdown[NS_ET_INTERN]['*'] = array('ET');
$wgNamespacePermissionLockdown[NS_ET_INTERN_TALK]['*'] = array('ET');
$wgNamespacePermissionLockdown[NS_LUC_INTERN]['*'] = array('LUC');
$wgNamespacePermissionLockdown[NS_LUC_INTERN_TALK]['*'] = array('LUC');
# TODO be
#### coe foo
# $wgShowExceptionDetails = true;
# $wgDebugToolbar = true;
# $wgShowDebug = true;
# $wgDevelopmentWarnings = true;
# $wgShowSQLErrors = true;
# $wgShowDBErrorBacktrace = true;
# TODO en
'';
#### login zeit verlängern goeranh 10.12.2023
services.phpfpm.phpOptions = "session.cookie_lifetime = 10800";
networking.firewall.allowedTCPPorts = [
80
443
];
# security.acme.email = "cert@stura.htw-dresden.de";
security.acme.defaults.email = "cert@stura.htw-dresden.de";
security.acme.acceptTerms = true;
}