Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Cloud / Hosting 15.06.2026 · 9 min Lesezeit

MediaWiki nativ auf Ubuntu installieren: LAMP-Stack ohne Docker

MediaWiki 1.45 – die Software hinter Wikipedia – nativ auf Ubuntu 24.04 LTS mit Apache, MariaDB und PHP aufsetzen: Schritt-für-Schritt-Anleitung ohne Container, mit voller Kontrolle über Konfiguration, Extensions und Sicherheitseinstellungen.

Moderne IT-Grafik zur Anleitung für die native Installation von MediaWiki auf Ubuntu mit LAMP-Stack ohne Docker, inklusive Apache, MariaDB, PHP, Terminal, Server, Wiki-Dashboard und wichtigen Pfaden.

MediaWiki ist die freie Wiki-Software, die Wikipedia und tausende weitere Wikis weltweit betreibt. Wer sie auf einem eigenen Ubuntu-Server nativ installiert – also ohne Docker oder Container –, behält die volle Kontrolle über PHP-Konfiguration, Extensions, Caching-Backends und Sicherheitseinstellungen. Diese Anleitung führt dich Schritt für Schritt durch eine vollständige LAMP-Installation (Apache 2.4, MariaDB 10.11+, PHP 8.3) auf Ubuntu 24.04 LTS, vom leeren Server bis zu einem laufenden Wiki mit Short-URLs und korrekten Dateirechten. Sie richtet sich an KMU-Admins und ambitionierte Selfhoster, die ein internes Firmen-Wiki, eine Wissensdatenbank oder ein Projekt-Wiki dauerhaft betreiben wollen.

Voraussetzungen

  1. Ubuntu 24.04 LTS Server (frische Installation empfohlen), Root- bzw. sudo-Zugriff
  2. Mindestens 512 MB RAM (für Produktion empfohlen: 1 GB+), mindestens 10 GB freier Speicher
  3. PHP 8.2–8.5; diese Anleitung nutzt PHP 8.3 (Wikimedia-Produktionsstandard)
  4. MariaDB 10.11 LTS (Wikimedia-Standard; alternativ MySQL 8.0+)
  5. Apache 2.4 mit mod_rewrite und mod_alias
  6. Internetverbindung für apt-Pakete und den MediaWiki-Tarball
  7. Domain oder IP-Adresse; für HTTPS später ein SSL-Zertifikat (z. B. via Let's Encrypt)
KomponenteMinimumEmpfohlenHinweis
PHP8.2.08.3.xWikimedia-Produktion nutzt 8.3
MariaDB10.11.010.11 LTSWikimedia-Standard; beste Kompatibilität
MySQL5.7.08.0+Alternative zu MariaDB
Apache2.42.4mod_rewrite + mod_alias benötigt
RAM256 MB512 MB+Pro Wiki-Instanz
Speicher85 MB1 GB+Ohne hochgeladene Mediendateien
Ubuntu22.04 LTS24.04 LTSPakete via apt verfügbar

Schritt 1: System aktualisieren

Bevor du Pakete installierst, bringst du das System auf den neuesten Stand:

sudo apt update && sudo apt upgrade -y

Verifizieren: Der Befehl beendet sich ohne Fehler; sudo apt list --upgradable zeigt danach keine offenen Updates mehr.

Schritt 2: LAMP-Stack installieren

Ein einziger apt-Aufruf zieht Apache, MariaDB, PHP 8.3 und alle Pflicht-Extensions:

sudo apt-get install -y apache2 mariadb-server php php-intl php-mbstring \
  php-apcu php-curl php-mysql php-xml libapache2-mod-php php-cli imagemagick

Anschließend aktivierst du die PHP-Extensions und startest Apache neu:

sudo phpenmod mbstring
sudo phpenmod xml
sudo systemctl restart apache2

Verifizieren: php -m | grep -E 'intl|mbstring|xml|curl|apcu' listet alle fünf Extensions; systemctl status apache2 zeigt active (running).

Die folgende Tabelle zeigt, welche PHP-Extensions für MediaWiki 1.45 Pflicht sind und welche Paketnamen du auf Ubuntu brauchst:

ExtensionUbuntu-PaketPflicht/OptionalFunktion
intlphp-intlPflicht (seit 1.36)Internationalisierung
mbstringphp-mbstringPflicht (seit 1.27)Multibyte-Strings
xml / xmlreaderphp-xmlPflichtXML-Parsing
opensslPHP-CorePflichtHTTPS/Verschlüsselung
sodiumPHP-CorePflichtKryptografie
apcuphp-apcuEmpfohlenObjekt-Caching im RAM
curlphp-curlEmpfohlenHTTP-Anfragen (APIs, Extensions)
imagickimagemagickOptionalBild-Thumbnailing
pdo_mysqlphp-mysqlPflicht für MariaDBDatenbanktreiber

Schritt 3: MariaDB absichern und Datenbank anlegen

Zuerst führst du das Härtungsskript aus, das u. a. das Root-Passwort setzt, anonyme Nutzer entfernt und den Remote-Root-Login sperrt:

sudo mysql_secure_installation

Danach legst du Datenbank und Wiki-Benutzer an. Wichtig: Verwende immer utf8mb4 mit der Kollation utf8mb4_unicode_ci, um volle Unicode-Unterstützung inklusive Emojis sicherzustellen. Eine falsch angelegte latin1-Datenbank erzeugt später hartnäckige Zeichenkodierungsprobleme bei Umlauten und Sonderzeichen.

sudo mysql -u root -p
CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'sicheres_passwort_hier';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Verifizieren: sudo mysql -u wikiuser -p my_wiki -e "SHOW TABLES;" stellt eine Verbindung her (leere Ergebnismenge ist korrekt, da noch keine Tabellen existieren).

Schritt 4: MediaWiki herunterladen und einrichten

Du lädst den offiziellen Tarball direkt von releases.wikimedia.org herunter – nicht aus dem Ubuntu-Paketarchiv, das oft eine ältere Version enthält.

cd /tmp
wget https://releases.wikimedia.org/mediawiki/1.45/mediawiki-1.45.3.tar.gz
tar -xzvf mediawiki-1.45.3.tar.gz
sudo mv mediawiki-1.45.3 /var/lib/mediawiki

Danach erstellst du einen Symlink, damit Apache über /mediawiki auf die Dateien zugreift, und setzt die Dateirechte:

sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki
sudo chown -R www-data:www-data /var/lib/mediawiki

Verifizieren: ls -la /var/www/html/mediawiki zeigt einen Symlink; ls -la /var/lib/mediawiki listet die MediaWiki-Dateien mit www-data als Eigentümer.

Schritt 5: PHP konfigurieren

Die PHP-Standardkonfiguration ist für MediaWiki in zwei Punkten ungeeignet: Der Upload-Limit von 2 MB ist zu klein, und das Speicherlimit ist knapp. Passe die Werte in der richtigen php.ini an – die von Apache genutzte, nicht die CLI-Version:

php -v  # PHP-Version prüfen, ggf. Pfad anpassen (8.2, 8.3, …)
sudo nano /etc/php/8.3/apache2/php.ini

Setze oder ändere diese drei Zeilen:

upload_max_filesize = 20M
memory_limit = 128M
post_max_size = 25M
sudo systemctl restart apache2

Verifizieren: php -r "echo ini_get('upload_max_filesize');" gibt 20M aus (CLI-Wert). Für den Apache-Wert lege kurz eine phpinfo.php an, prüfe dort den Eintrag und lösche die Datei sofort wieder.

Schritt 6: Apache für Short-URLs konfigurieren

MediaWiki braucht mod_rewrite, um Adressen wie /wiki/Artikelname statt /mediawiki/index.php?title=Artikelname zu ermöglichen. Aktiviere das Modul und lege eine dedizierte Apache-Konfigurationsdatei an:

sudo a2enmod rewrite
sudo systemctl restart apache2
sudo tee /etc/apache2/conf-available/mediawiki.conf > /dev/null <<'EOF'
Alias /mediawiki /var/lib/mediawiki

<Directory /var/lib/mediawiki>
    Options +FollowSymLinks
    AllowOverride All
    Require all granted

    RewriteEngine On
    RewriteBase /mediawiki
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^wiki(/.*)?$ /mediawiki/index.php [L,QSA]
    RewriteRule ^/*$ /mediawiki/index.php [L,QSA]
</Directory>

<Directory /var/lib/mediawiki/maintenance>
    Require all denied
</Directory>
<Directory /var/lib/mediawiki/serialized>
    Require all denied
</Directory>
EOF
sudo a2enconf mediawiki
sudo systemctl reload apache2

Zwei Punkte sind hier entscheidend: AllowOverride All erlaubt .htaccess-Dateien, ohne die Rewrite-Regeln nicht greifen. Options +FollowSymLinks ist nötig, weil /var/www/html/mediawiki ein Symlink auf /var/lib/mediawiki ist – fehlt diese Option, liefert Apache eine 404-Seite.

Verifizieren: apachectl configtest gibt Syntax OK aus; im Browser ist http://<server-ip>/mediawiki erreichbar und zeigt die MediaWiki-Seite „Please set up the wiki first."

Schritt 7: Web-Installer ausführen

Rufe http://<server-ip>/mediawiki im Browser auf. MediaWiki erkennt, dass noch keine LocalSettings.php vorhanden ist, und leitet dich automatisch zum Installer weiter. Fülle das Formular vollständig aus:

  1. Datenbanktyp: MariaDB / MySQL
  2. Datenbankname: my_wiki
  3. Datenbankbenutzer: wikiuser
  4. Datenbankpasswort: das zuvor vergebene Passwort
  5. Wiki-Name, Admin-Benutzername und Admin-Passwort nach Wunsch

Am Ende des Installers kannst du die generierte LocalSettings.php herunterladen. Diese Datei enthält alle Datenbankzugangsdaten und Wiki-Einstellungen – behandle sie wie ein Geheimnis.

Schritt 8: LocalSettings.php platzieren und absichern

Kopiere die heruntergeladene Datei auf den Server und setze sofort korrekte Rechte. Falsche Berechtigungen sind ein häufiger Fehler: Ist die Datei für alle lesbar, können andere Nutzer auf dem System Datenbankpasswörter auslesen.

sudo cp ~/Downloads/LocalSettings.php /var/lib/mediawiki/LocalSettings.php
sudo chown www-data:www-data /var/lib/mediawiki/LocalSettings.php
sudo chmod 640 /var/lib/mediawiki/LocalSettings.php

Öffne die Datei anschließend und ergänze oder prüfe diese wichtigen Variablen:

$wgSitename = "Mein Wiki";
$wgServer   = "https://wiki.example.com";   // nach HTTPS-Einrichtung
$wgScriptPath  = "/mediawiki";
$wgArticlePath = "/mediawiki/wiki/$1";       // Short-URLs
$wgUsePathInfo = true;

// Caching mit php-apcu
$wgMainCacheType = CACHE_ACCEL;

// Uploads erlauben
$wgEnableUploads    = true;
$wgMaxUploadSize    = 1024 * 1024 * 20;     // 20 MB

// Nach SSL-Setup aktivieren
// $wgForceHTTPS = true;

Verifizieren: Rufe http://<server-ip>/mediawiki erneut auf – statt des Installer-Hinweises erscheint jetzt die Wiki-Hauptseite.

Schritt 9: Installation verifizieren und Datenbankschema prüfen

Führe das Maintenance-Update-Skript aus. Es prüft und aktualisiert das Datenbankschema und muss nach jeder neuen MediaWiki-Version oder jedem Extension-Install erneut ausgeführt werden:

sudo -u www-data php /var/lib/mediawiki/maintenance/run.php update --quick

Verifizieren: Das Skript beendet sich mit der Meldung Done. Logge dich anschließend mit dem Admin-Account im Wiki ein und rufe Spezial:Version auf – dort siehst du MediaWiki 1.45.3, die PHP-Version sowie alle geladenen Extensions.

Troubleshooting / Typische Fehler

404-Fehler bei Short-URLs (/wiki/Artikelname)

Ursache: mod_rewrite ist nicht aktiviert oder AllowOverride None verhindert, dass .htaccess-Regeln greifen. Prüfe mit apache2ctl -M | grep rewrite, ob das Modul geladen ist, und stelle in der Apache-Konfig sicher, dass AllowOverride All für das MediaWiki-Verzeichnis gesetzt ist.

Leere Seite oder PHP-Fehler nach Platzierung der LocalSettings.php

Wahrscheinlich hat der Apache-Prozess keine Leseberechtigung. Prüfe: ls -la /var/lib/mediawiki/LocalSettings.php – Eigentümer muss www-data sein, Berechtigungen 640.

Zeichenkodierungsprobleme (Umlaute, Sonderzeichen kaputt)

Die Datenbank wurde mit latin1 statt utf8mb4 angelegt. Eine nachträgliche Konvertierung ist aufwendig; lege die Datenbank lieber neu an – CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; – und führe den Installer erneut aus.

php-intl fehlt – Installer bricht sofort ab

Seit MediaWiki 1.36 ist php-intl Pflichtvoraussetzung. Installiere es mit sudo apt install php-intl && sudo systemctl restart apache2.

Datei-Upload schlägt fehl

Sehr wahrscheinlich ist upload_max_filesize in der PHP-Konfiguration noch auf dem 2-MB-Standard. Passe /etc/php/8.3/apache2/php.ini an (upload_max_filesize = 20M, post_max_size = 25M) und starte Apache neu.

Fehlt Options +FollowSymLinks in der Directory-Direktive, kann Apache dem Symlink /var/www/html/mediawiki → /var/lib/mediawiki nicht folgen. Ergänze die Option in /etc/apache2/conf-available/mediawiki.conf und führe sudo systemctl reload apache2 aus.

Datenbankfehler nach Extension-Aktivierung

Nach dem Eintragen einer Extension in LocalSettings.php fehlt oft der Schritt sudo -u www-data php /var/lib/mediawiki/maintenance/run.php update. Ohne dieses Skript werden nötige Datenbanktabellen nicht angelegt.

Häufige Fragen

Kann ich MediaWiki direkt per apt install mediawiki installieren?

Ja, auf Ubuntu 24.04 gibt es ein offizielles Paket. Es ist jedoch oft nicht die aktuellste Version. Für aktuelle Versionen, volle Kontrolle und einfachere Upgrades empfiehlt sich die manuelle Installation per Tarball von releases.wikimedia.org – wie in dieser Anleitung beschrieben.

Wie aktiviere ich Extensions?

Lege die Extension in /var/lib/mediawiki/extensions/ ab (per git clone oder Tarball) und trage sie in LocalSettings.php ein:

wfLoadExtension( 'VisualEditor' );

Danach unbedingt sudo -u www-data php /var/lib/mediawiki/maintenance/run.php update ausführen.

Wie richte ich HTTPS ein?

Installiere certbot und das Apache-Plugin, dann lasse das Zertifikat automatisch einrichten:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

Setze danach in LocalSettings.php den Server auf HTTPS und erzwinge verschlüsselte Verbindungen:

$wgServer    = 'https://wiki.example.com';
$wgForceHTTPS = true;

Weitere Details zur TLS-Einrichtung findest du in der Anleitung Let's Encrypt mit certbot – TLS-Zertifikate ohne Reverse-Proxy.

Wie führe ich ein Update auf eine neue MediaWiki-Version durch?

Erstelle zuerst ein vollständiges Backup von Datenbank und /var/lib/mediawiki. Lade dann den neuen Tarball herunter, entpacke ihn nach /var/lib/mediawiki (die alte LocalSettings.php bleibt erhalten) und führe anschließend das Update-Skript aus. Achtung: Von Versionen vor 1.39 ist ein Zwischenschritt auf 1.39 oder 1.43 nötig, bevor du auf 1.45 aktualisieren kannst.

Wie verbessere ich die Performance?

Das bereits installierte php-apcu ermöglicht Objekt-Caching im RAM. Aktiviere es in LocalSettings.php mit $wgMainCacheType = CACHE_ACCEL;. Für größere Wikis mit vielen anonymen Lesern ist zusätzlich $wgUseFileCache = true; sinnvoll, das statisches HTML für nicht eingeloggte Nutzer ablegt.

Wie sperre ich den Maintenance-Ordner ab?

Das ist bereits in der Apache-Konfiguration aus Schritt 6 enthalten: <Directory /var/lib/mediawiki/maintenance> Require all denied </Directory>. Überprüfe mit curl -I http://<server-ip>/mediawiki/maintenance/ – du solltest einen 403 Forbidden erhalten.

Fazit

Eine native LAMP-Installation von MediaWiki auf Ubuntu 24.04 ist in unter einer Stunde abgeschlossen und gibt dir maximale Kontrolle: Du wählst PHP-Einstellungen, Caching-Backend und Extensions ohne Container-Abstraktionsschicht selbst. Der Hauptunterschied zur Docker-Variante liegt im Betrieb – Updates, PHP-Konfigurationsänderungen und Erweiterungen sind direkt auf dem Dateisystem zugänglich. Wer mehrere Dienste auf einem Server betreibt, sollte die Absicherung des Servers selbst nicht vernachlässigen. Dazu passt die Anleitung VPS absichern und härten: UFW, SSH-Keys und Fail2Ban. Als Ergänzung zum nativen LAMP-Stack lohnt sich auch ein Blick auf MySQL- und PostgreSQL-Backups automatisieren, um die MariaDB-Datenbank regelmäßig zu sichern.

Weiterführende Anleitungen und Quellen

  1. WordPress nativ auf Ubuntu installieren (LAMP ohne Docker) – ähnlicher Stack für WordPress
  2. Nextcloud nativ auf Ubuntu installieren (LEMP ohne Docker) – Nextcloud als Wiki-/Kollaborations-Alternative
  3. VPS absichern und härten: UFW, SSH-Keys und Fail2Ban – Basis-Härtung des Ubuntu-Servers
  4. MySQL & PostgreSQL Backup automatisieren mit cron – Backup-Automatisierung für die Wiki-Datenbank
  5. MediaWiki Manual: Running MediaWiki on Debian or Ubuntu (offiziell)
  6. MediaWiki Manual: Installing MediaWiki (offiziell)
  7. MediaWiki Compatibility (PHP/DB-Versionen) (offiziell)