Haftpflicht Blogger
Virtual Server von Host Europe

Trotz Beschränkung auf FTP Zugriff: zip Dateien entpacken

| 10. März 2013 | 5 Kommentare

Tipps und Tricks zu FTPAufgabenstellung

Eine vorhandene WordPress-Internetseite soll auf ein Webhosting-Paket von Strato installiert werden. Die WordPress-Seite ist schon seit geraumer Zeit in Betrieb, hat jede Menge installierte Plugins, selbst angelegte Verzeichnisse und Bilder und wird zusammen mit einem Datenbankexport als gepackte Datei im *.zip Format angeliefert.

 

Problem

Zunächst einmal vorab, in diesem Fall war der Hosting-Provider „Strato“, aber das Problem dürfte sich auch bei allen anderen wie Hosting-Europe etc. stellen.

Positiv:

  • Die Hosting-Provider bieten One-Click Installationen von WordPress, Contao, u.s.w.  an, so dass alle für den Betrieb dieser Anwendungen erforderlichen PHP-Einstellungen, … vorhanden sind.
  • Beim Strato-Webserver Paket ist das Apache Modul  „mod_rewrite“ aktiv, so dass eine Voraussetzung für eine erfolgreiche Seitenoptimierung für die Suchmaschinen gegeben ist
  • Das Hosting-Paket erlaubt selbst Datenbanken anzulegen
  • Man hat mit einem FTP-Programm Zugriff auf seinen Webspace und kann Dateien aufspielen.

Negativ:

  • Man hat keinen Root-Zugriff und kann daher direkt keine Pack- oder Entpackbefehle wie (zip, unzip, tar) absetzen.
  • Ein PHP-Skript mit einem Befehl wie
    exec ’shell_exec “ unzip meineDatei.zip“‚
    abzusetzen, ist nicht möglich, da der „exec“ und „shell_exec“ Befehl von den Providern aus Sicherheitsgründen (in der Regel) deaktiviert wurde.

Zusammenfassend heisst dies, dass der Provider einem alles bietet und erlaubt, nur das Packen und Entpacken von Dateien ist direkt nicht möglich.

Auf der anderen Seite möchte ich nun aber nicht zwei- bis dreitausend Dateien einzeln per FTP übertragen. Da ist das Risiko, dass es während der Übertragung Verbindungsprobleme gibt oder einzelne Dateien nicht oder fehlerhaft übertragen werden, einfach zu groß.

Mit welchem Trick schafft man es also, eine auf dem Server überspielte *.zip Datei zu entpacken?

Lösung

  1. Eine Datei beliebigen Namens mit der Endung „.php“ anlegen, z.B.  „entpacker.php“
  2. Folgende Codezeilen in diese Datei mit einem Texteditor (z.B. Notepad, aber nicht Wordpad oder Word!) schreiben:
    >
  3. Datei auf den Webspace beim Hosting-Provider per FTP-Programm überspielen
  4. Datei im Browser aufrufen
    z.B.:  <Domainname.de>/entpacker.php

Anmerkungen

  • Im obigen Beispiel wird durch die Codezeile
    $zip->extractTo('./');
    der Inhalt der *.zip Datei in das aktuelle Verzeichnis entpackt. Möchte man in ein Unterverzeichnis entpacken, dann müßte die Zeile etwa so lauten
    $zip->extractTo('unterverezeichnis/');
  • Schreiberlaubnis (write permisssion): Für das Verzeichnis/Unterverzeichnis in das man Entpacken will, muss man natürlich die Schreibrechte besitzen (ggf. per FTP-Programm sich selbst geben).
  • Nach dem Entpacken ist es erforderlich die (Lese-/Schreib-/Ausführungs) Rechte der Verzeichnisse und Dateien zu setzen.
  • Variante, wenn ‚exec‘ vom Provider als Befehl zugelassen ist
    für *.zip Dateien
    für *.tar Dateien

Dann wünsche ich noch viel Spaß beim individuellen Einrichten des Webauftritts

Manfred

 

Bildrechte: © Manfred Roos
Bildrechte: © Scientia – Wikimedia Commons – Free Art License

Stichworte: , , , , ,

Kategorie: Internet, WordPress

Kommentare (5)

Trackback-URL | Kommentarfeed

  1. Peter Lustig sagt:

    gerade bei starto erfolgreich getestet. super tip danke!

  2. Micha sagt:

    Hallo,

    danke für die hilfreiche Beschreibung.
    Gibt es auch eine Möglichkeit auf ähnlich einfache Weise mehrere Ordner auf dem Server zu zippen und dadurch schneller das Backup per FTP herunterzuladen?

    VG
    Micha

  3. Dietrich sagt:

    Ganz großartig das Programm, die Rettung von viel Zeit. Aber leider noch ein kleiner Haken: Wenn die Datei oder Verzeichnisnamen Umlaute enthalten, sieht das gar nicht schön aus, wenn auch sich auch die Dateien öffnen lassen, nicht jedoch in jeder Situation die Ordner mit Umlauten. Das liegt eindeutig an diesem Extrahieren. Was muss also noch zugefügt werden. Mein PHP-Kenntnisse sind leider marginal.

    • Manfred Roos Manfred Roos sagt:

      Hallo Dietrich,

      zunächst einmal würde meine Empfehlung lauten, auf einem Linux-Server ganz auf Dateinamen mit dt. Umlauten zu verzichten. Auch Leerzeichen in Dateinamen sind nur eine Quelle für Probleme. Ich sehe dafür auch keine wirkliche Notwendigkeit. Selbst wenn der Linktext auf einer Internetseite „Die Schöne und das Biest“ lautet, so könnte die Datei auf dem Linux-Server immer noch mit dem normalen Latin/ASCII Zeichensatz angelegt werden.

      Wenn Sie allerdings dennoch auf Linux-Betriebssystemebene Umlaute möchten, empfehle ich Ihnen folgenden Artikel: Falsch dargestellt Umlaute im Dateinamen unter Linux korrigieren

      Gruß
      Manfred Roos
      [Blogmaster, Perfect-Knowhow.de]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.