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.46, die Software hinter Wikipedia, nativ auf Ubuntu 24.04 LTS mit Apache, MariaDB und PHP 8.3 aufsetzen: Schritt-für-Schritt-Anleitung ohne Container, mit Kontrolle über Konfiguration, Extensions und Sicherheitseinstellungen.

Geprüft am 30.09.2026 · für mediawiki 1.46.0

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

MediaWiki nativ auf Ubuntu mit Apache, MariaDB und PHP installieren

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 Sie 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.3 bis 8.5 (MediaWiki 1.46 setzt PHP 8.3 voraus); Ubuntu 24.04 liefert PHP 8.3
  4. MariaDB ab 10.3, hier die Ubuntu-Version 10.11 LTS (alternativ MySQL ab 5.7)
  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.3.08.3.xPflicht ab MediaWiki 1.46
MariaDB10.310.11 LTSEmpfohlene Datenbank laut Release Notes
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

Bringen Sie das System vor der Installation 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 aktivieren Sie die PHP-Extensions und starten 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 MediaWiki 1.46 braucht und in welchen Ubuntu-Paketen sie stecken:

ExtensionUbuntu-PaketPflicht/OptionalFunktion
intlphp-intlPflicht (seit 1.36)Internationalisierung
mbstringphp-mbstringPflicht (seit 1.27)Multibyte-Strings
xml / domphp-xmlPflichtXML-Parsing
ctype, iconvphp8.3-commonPflichtZeichenprüfung und -konvertierung
fileinfophp8.3-commonPflichtMIME-Typ-Erkennung bei Uploads
apcuphp-apcuEmpfohlenObjekt-Caching im RAM
curlphp-curlEmpfohlenHTTP-Anfragen (APIs, Extensions)
ImageMagick (Programm, keine Extension)imagemagickOptionalBild-Thumbnailing
pdo_mysqlphp-mysqlPflicht für MariaDBDatenbanktreiber

Schritt 3: MariaDB absichern und Datenbank anlegen

Führen Sie zuerst 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 legen Sie Datenbank und Wiki-Benutzer an. Verwenden Sie 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 mariadb
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';
FLUSH PRIVILEGES;
EXIT;

Verifizieren: mariadb -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

Laden Sie den offiziellen Tarball von releases.wikimedia.org herunter, nicht aus dem Ubuntu-Paketarchiv mit meist älterer Version. Stand September 2026 ist 1.46.0 aktuell (1.43 ist die LTS-Version).

cd /tmp
wget https://releases.wikimedia.org/mediawiki/1.46/mediawiki-1.46.0.tar.gz
tar -xzf mediawiki-1.46.0.tar.gz
sudo mv mediawiki-1.46.0 /var/lib/mediawiki

Danach erstellen Sie einen Symlink und setzen 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: Das Upload-Limit von 2 MB ist zu klein, und das Speicherlimit ist knapp. Passen Sie 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

Setzen oder ändern Sie diese drei Zeilen und starten Sie Apache danach mit sudo systemctl restart apache2 neu:

upload_max_filesize = 20M
memory_limit = 128M
post_max_size = 25M

Verifizieren: grep -E '^(upload_max_filesize|post_max_size)' /etc/php/8.3/apache2/php.ini zeigt 20M und 25M. Die CLI nutzt eine eigene php.ini, php -r zeigt daher nicht den Apache-Wert.

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. Aktivieren Sie das Modul und legen Sie eine eigene 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

Die Rewrite-Regeln stehen direkt in dieser Datei, AllowOverride All erlaubt zusätzlich die .htaccess-Dateien, die MediaWiki in Unterordnern mitbringt. 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

Rufen Sie http://<server-ip>/mediawiki im Browser auf. Ohne LocalSettings.php bietet MediaWiki den Installer an. Füllen Sie 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 laden Sie die generierte LocalSettings.php herunter. Sie enthält Datenbankzugangsdaten und Wiki-Einstellungen, behandeln Sie sie vertraulich.

Verifizieren: Der Installer meldet den Abschluss und bietet LocalSettings.php zum Download an. mariadb -u wikiuser -p my_wiki -e "SHOW TABLES;" listet jetzt Tabellen wie page und revision.

Schritt 8: LocalSettings.php platzieren und absichern

Kopieren Sie die Datei auf den Server (z. B. per scp) und setzen Sie sofort die 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

Prüfen oder ergänzen Sie anschließend diese 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: http://<server-ip>/mediawiki zeigt statt des Installer-Hinweises die Wiki-Hauptseite, /mediawiki/wiki/Hauptseite funktioniert als Short-URL.

Schritt 9: Installation verifizieren und Datenbankschema prüfen

Führen Sie 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. Melden Sie sich mit dem Admin-Konto an und rufen Sie Spezial:Version auf. Dort stehen MediaWiki 1.46.0, 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üfen Sie mit apache2ctl -M | grep rewrite, ob das Modul geladen ist, und stellen Sie in der Apache-Konfiguration sicher, dass AllowOverride All für das MediaWiki-Verzeichnis gesetzt ist.

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

Wahrscheinlich fehlt dem Apache-Prozess die Leseberechtigung. Prüfen Sie: 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. Legen Sie die Datenbank bei einer frischen Installation neu an – CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; – und führen Sie den Installer erneut aus.

php-intl fehlt – Installer bricht sofort ab

Seit MediaWiki 1.36 ist php-intl Pflicht. Installieren Sie 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. Passen Sie /etc/php/8.3/apache2/php.ini an (upload_max_filesize = 20M, post_max_size = 25M) und starten Sie Apache neu.

Fehlt Options +FollowSymLinks in der Directory-Direktive, kann Apache dem Symlink /var/www/html/mediawiki → /var/lib/mediawiki nicht folgen. Ergänzen Sie die Option in /etc/apache2/conf-available/mediawiki.conf und führen Sie 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, Ubuntu bietet ein Paket, meist aber nicht in der aktuellen Version. Für aktuelle Versionen und planbare Upgrades empfiehlt sich die Installation per Tarball von releases.wikimedia.org – wie in dieser Anleitung beschrieben.

Wie aktiviere ich Extensions?

Legen Sie die Extension in /var/lib/mediawiki/extensions/ ab (per git clone oder Tarball) und tragen Sie 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?

Installieren Sie certbot mit dem Apache-Plugin und lassen Sie das Zertifikat einrichten:

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

Setzen Sie danach in LocalSettings.php den Server auf HTTPS und erzwingen Sie verschlüsselte Verbindungen:

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

Details zur TLS-Einrichtung stehen 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?

Sichern Sie zuerst Datenbank und /var/lib/mediawiki vollständig. Entpacken Sie den neuen Tarball in ein neues Verzeichnis, übernehmen Sie LocalSettings.php, images/ sowie zusätzlich installierte Extensions und Skins, tauschen Sie die Verzeichnisse und führen Sie das Update-Skript aus. Direkt auf 1.46 aktualisieren lässt sich ab 1.39, ältere Versionen brauchen einen Zwischenschritt über 1.39 oder 1.43.

Wie verbessere ich die Performance?

Das bereits installierte php-apcu ermöglicht Objekt-Caching im RAM. Aktivieren Sie 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>. Prüfen Sie mit curl -I http://<server-ip>/mediawiki/maintenance/, die Antwort ist 403 Forbidden.

Fazit

Eine native LAMP-Installation von MediaWiki auf Ubuntu 24.04 ist in etwa einer Stunde abgeschlossen und gibt Ihnen volle Kontrolle: Sie wählen 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 auch den Server selbst absichern. 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)