Manual:Configuring file uploads/de

MediaWiki unterstützt das Hochladen und das Einbinden von Mediendateien. Diese Seite beschreibt die technischen Aspekte dieses Features. Siehe Manual:Image Administration/de und Help:Images/de für allgemeine Anwendungsinformationen.

Beginnend mit MediaWiki Version 1.1 ist das Hochladen aus Sicherheitsgründen standardmäßig abgeschaltet. Das Hochladen kann mit einer Konfigurationseinstellung angeschaltet werden. Es empfiehlt sich jedoch, zunächst mehrere Voraussetzungen zu überprüfen.

Stelle sicher, dass das Hochladen in PHP angeschaltet ist
Folgendes muss in der  gesetzt sein (die unter ,  ,   oder   (openSUSE 11.2),   oder bei Windows  unter   zu finden ist):

Wenn das nicht gesetzt ist, können PHP-Skripte nicht die Hochladen-Funktion nutzen und das Hochladen wird im MediaWiki nicht funktionieren.

Wenn der -Befehl gesetzt ist, muss er das Zielverzeichnis für das Hochladen in der MediaWiki-Installation  und das  -Verzeichnis (das ist das Standardverzeichnis, wenn nicht anders konfiguriert). Das Hinzufügen der  kann die Meldung   vermeiden (worin in diesem Beispiel   die   ist. Lies mehr über das Hochladen von Dateien mit PHP in den File upload basics (englisch) und spezieller unter move_uploaded_file (englisch).

Prüfungen für Windows- und IIS-Benutzer
Setze für %SystemRoot%\TEMP die Rechte als Internetgastaccount (IUSR_Rechnername, oder IUSR für IIS 7+): Lesen, Schreiben und Ausführen;

Prüfe die Verzeichnissicherheit
Das Hochladeverzeichnis muss so konfiguriert sein, dass es einem Endbenutzer (jemand, der sich das Wiki mit einem Browser ansieht) nicht möglich ist, andere Skripte hochzuladen und auszuführen, weil das sonst einen Exploit-Zugang zu Deinem Webverzeichnis ermöglichen könnte und das Wiki oder die Webseite zerstört werden könnten.

Setze das -Verzeichnis (oder das  -Verzeichnis in früheren Versionen) auf die Berechtigung  :
 * User kann lesen, schreiben und ausführen;
 * Group kann lesen und ausführen;
 * World kann lesen und ausführen.

Wenn Du  verwendest, stelle sicher, dass das Verzeichnis dem Benutzer gehört, der das PHP-Skript laufen lässt (das ist der Apache-Benutzer oder, bei suphp, der Skriptbesitzer).

Wenn Du SELinux verwendest, stelle sicher, dass die ACLs entsprechend eingestellt sind (siehe dort).

Wenn Du suphp verwendest, stelle sicher, dass  in der   auf   (oder weniger) gesetzt ist.

Beschränke die Anzeige von Verzeichnissen im Bilderverzeichnis
Wenn Du nicht allen Benutzern ermöglichen willst, Dein Bilderverzeichnis einzusehen, könntest Du das in Deiner Apachekonfiguration verhindern:

Das Hochladen An- und Ausschalten
In MediaWiki Version 1.5 und später steht das zu setzenden Attribut in der  und   wird so gesetzt:

Das ermöglicht das Hochladen. Um das Hochladen zu unterbinden, muss man das Attribut auf FALSE setzen:

In älteren Versionen der Software steht das zu setzende Attribut auch in der, wird aber andersherum verwendet, mittels. Der Standard sieht so aus:

Den Wert umkehren, um das Hochladen zu ermöglichen:

Hochladerechte
Per Standard können alle registrierten Benutzer Dateien hochladen. Um das einzuschränken, musst Du die  ändern:


 * Um normale Benutzer am Hochladen zu hindern:


 * Um eine spezielle Gruppe namens "uploadaccess" anzulegen und den Mitglieder der Gruppe das Hochladen von Dateien zu erlauben:


 * Um automatisch bestätigten ("autoconfirmed") Benutzern ("non-newbie") zu erlauben, Dateien hochzuladen:

Das Recht, bestehende Dateien zu ersetzen wird mit einer anderen Berechtigung gesteuert, genannt :
 * Um normalen Bentzern zu verwehren, bestehende Dateien zu überschreiben:


 * Um automatisch bestätigten ("autoconfirmed") Benutzern ("non-newbie") zu erlauben, bestehende Dateien zu überschreiben:

Wenn ein ForeignFileRepo gesetzt ist, wird das Recht, diese Dateien lokal zu ersetzen mit einer speziellen Berechtigung gesteuert, genannt :
 * Um normalen Benutzern zu verwehren, filerepo-Dateien lokal zu überschreiben:


 * Um automatisch bestätigten ("autoconfirmed") Benutzern ("non-newbie") zu erlauben, filerepo-Dateien lokal zu überschreiben:

Siehe Manual:User rights für Details zu den Benutzerrechten und Manual:Preventing access für mehr Informationen zum Beschränken von Zugängen.

Konfiguration von Dateitypen
Die kannst  in der   hinzufügen, um das Hochladen von anderen Dateitypen zu erlauben. Beispielsweise kannst Du die -Zeile so ändern oder oder

Mehrere Dateitypen stehen jedoch auf einer Schwarzen Liste ($wgFileBlacklist) und können auch nicht hochgeladen werden, wenn sie  hinzugefügt wurden. Um Dateien mit gesperrten Endungen hochladen zu können, musst Du die Schwarze Liste bearbeiten. Um beispielsweise ausführbare Dateien hochladen zu lassen: Zusätzlich sperrt  mehrere Dateien an Hand des MIME-Typ; .zip-Dateien zum Beispiel sind verboten basierend auf dem MIME-Typ (seit MediaWiki Version 1.14).

Du kannst außerdem  verändern Das erlaubt, die meisten Dateitypen hochzuladen. An Hand der Schwarzen Liste und des MIME-Typs gesperrte Dateitypen können dann aber immer noch nicht hochgeladen werden.

Wenn Du den Fehler "The file is corrupt or has an incorrect extension" erhältst, stelle sicher, dass die MIME-Typ-Erkennun korrekt funktioniert.

Wenn Du jeden Dateityp zulässt, stelle sicher, dass Deine MIME-Typ-Erkennung funktioniert und denke darüber nach, Virusscans für hochgeladene Dateien zu ermöglichen.

Login
Per Standard können nicht angemeldete Benutzer keine Dateien hochladen. Sie müssen sich registrieren und anmelden, bevor die Dateihochladeoption im Menü erscheint

Thumbnailing. Das Erstellen von kleinen Vorschaubildern
Für Informationen zum automatischen Erstellen von Vorschaubildern siehe Manual:Image_thumbnailing. Bei Problemen mit dem Thumbnailing siehe Image Thumbnails not working and/or appearing.

Wenn die Datei nicht visuell ist (also keine Bilder oder Videos), wird an Stelle der Datei ein Icon angezeigt. Diese werden mit der -Funktion in der Dateiklasse in der FileRepo-Gruppe erzeugt. Die Icons werden in  im  -Format gespeichert.

Die Maximalgröße für hochzuladene Dateien setzen
Per Standard erlaubt PHP das Hochladen von Dateien mit nicht mehr als 2 Megabyte Größe. Wenn Du größere Dateien hochladen willst, ändere zwei Parameter in der :


 * 8 Megabyte als Standard
 * 2 Megabyte als Standard

Das kann Root-Zugriff auf den Server voraussetzen. (Wenn Du einen Shared Host hast, kontaktiere Deinen Serveradministrator.)

Die -Datei finden
Der Ort der  variiert je nach verwendeter Distribution. (Versuche  um den Ort Deiner Konfigurationsdatei zu finden.)

Es ist wichtig, die -Datei im apache2-Verzeichnis zu ändern. Es kann zum Beispiel eine Basis- unter   und zusätzlich eine unter   geben. Es ist die -Datei unter , die vorrangig geändert werden muss.

Mehrere Webseiten auf einem Server
Wenn Du mehr als eine Webseite auf einem Server hast und Du Änderungen nur für MEdiaWiki vornehmen willst, füge in Deine  in Deine   ein:

Beide obigen Einstellungen funktionieren auch in einer -Datei.

Webserver-Grenzen
Dein Webserver kann weitere Grenzen für hochzuladene Dateien verhängt haben. Für Apache ist eine der relevanten Einstellungen. Für Nginx ist  eine relevante Einstellung.

Die Warnung beim Hochladen zu großer Dateien
MediaWiki selbst gibt eine Warnung aus, wenn Du versuchst, Dateien größer als spezifiziert durch die -Option hochzuladen. Das ist unabhängig von der hart durch PHP gesetzten Grenze. MediaWiki hat zudem eine -Option, wird aber das wird derzeit für normales Hochladen (lokales Hochladen einer Datei) nicht erzwungen. Der einzige Weg für eine Begrenzung der Hochladegröße ist die Änderung der PHP-Konfiguration.

Temporäre Hochladebegrenzungen
Zeitweise Änderungen der Hochladebegrenzung (bei multiplen Wikis in einer Farm zum Beispiel) können durch das Hinzufügen dieser Zeilen: in der MediaWiki- -Datei für jedes Wiki gesetzt werden. In diesem Beispiel steht das PHP-Limit bei 50 Megabyte. Beachte, dass diese Einstellungen nicht die oben gesetzte Maximalgröße überschreiben werden (, weil die Basis- und die apache2-  das absolute Maximum setzen). Diese Methode setzt Maxima, die kleiner sind als das absolute Maximum.

Dateien größer als 2 GB hochladen
Füge folgende Zeile der  hinzu:

Ändere außerdem folgende Zeilen in der :

In der IIS- -Datei überschreibe den Wert von. Der folgende Eintrag in der  erlaubt beispielsweise, Dateien kleiner oder gleich 2 Gigabytes (GB) hochzuladen: Im IIS 7 musst Du außerdem das Hochladen von großen Dateien erlauben. Du findest das, wenn Du auf “Request Filtering > Edit Feature Settings” im IIS-Abschnitt in der Mitte des Fensters klickst. Sette das ”Maximum allowed content length (Bytes)”-Feld auf 2147482624. Wenn Die "Request Filtering" im IIS-Abschnitt nicht findest, muss es unter “Internet Information Services > World Wide Web Services > Security” im “Turn Windows features on or off”-Feld in den Systemeinstellungen angeschaltet werden.

Wenn obiger Tip nicht das Hochladen großer Dateien ermöglicht, dann öffne eine Kommandozeile und gib dieses Kommando ein:

%windir%\system32\inetsrv\appcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength: 2147482624

Direkt von einer URL hochladen ("Sideloading")
Wenn Du erlauben willst, dass Dateien von einer URL hochgeladen werden, anstatt vom lokalen Computer, dann setze. Im Hochladeformular erscheint dann ein neues Feld für die URL unter dem üblichen Dateinamenfeld. Das URL-Feld ist per Standard ausgegraut, kann aber aktiviert werden, indem man den Radiobutton links vom Feld anklickt.

Um diese Funktion nutzen zu können, müssen Benutzer das Benutzerrecht  haben, das normalerweise nur Sysops haben. Um das normalen Benutzern zu erlauben, setze. Beachte, dass das Erlauben des Hochladens von Dateien von anderen Webseiten es einfacher macht, zufälliges, unerwünschtes Material hochzuladen und es kann als EInladung missverstanden werden, alles Hochzuladen, was die Leute im Netz so finden.

Gelöschte Bilder wieder herstellen
Das Wiederherstellen von Bildern ist seit MediaWiki 1.8 möglich und per Standard aktiviert seit MediaWiki 1.11.

Vor MediaWiki 1.11 kannst Du das Wiederherstellen von Bildern mit der Einstellung  setzen. Seit Version 1.11 wird das Verhalten durch  kontrolliert und gelöschte Dateien werden per Standard unter   gespeichert. Seit Version 1.17 ist  veraltet und   sollte statt dessen verwendet werden.

Hochladen großer Mengen von Dateinen
Es gibt einige Tools für das Hochladen mehrerer Dateien auf einmal:


 * Extension:MultiUpload
 * Extension:SpecialUploadLocal (funktioniert bis Version 1.16). Setzt FTP-Zugriff voraus.
 * Extension:SpecialMultiUploadViaZip
 * Commonist (Externer Link nach Wiki Commons). Setzt das Dateihochladen via  voraus.
 * mit Python:
 * Uploadmultiple.py
 * imageharvest.py kopiert mehrere Bilder in ein Wiki von einer angegebenen URL.
 * imagetransfer.py kopiert Bilder in ein anderes Wiki
 * importImages.php "Speichere die Dateien auf einem Server in einem lesbaren Verzeichnis und führe das -Skript in der Kommandozeile aus."
 * User:Nichalp/Upload script
 * Commons:File upload service/Script, veraltet.
 * User:File_Upload_Bot_(Kernigh)

Siehe auch

 * Manual:Configuration settings für eine Liste aller Konfigurationsvariablen, die mit dem Hochladen zu tun haben
 * Category:Upload variables - ähnliche Liste als Kategorie (alphabetisch sortiert)
 * Die siehst eine leere Seite wenn Du versuchst, eine Datei hochzuladen