Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Fortgeschrittene › Tutorials & How To's - Tipps & Tricks ›

Module updaten via Shell auf Windows

Eingetragen von bernadotte (45) am 18.06.2009 - 13:58 Uhr

Obwohl es den Anschein hat, dass die meisten Drupal-Nutzer schon mit einem Linuxrechner in der Wiege lagen, soll es angeblich doch noch ein paar wenige Menschen geben, die auf einem Windowsrechner arbeiten.

Für diese ist dieses kleine HowTo.

Es mag auch noch viel ausgetüfteltere Wege geben, um das Updaten von Drupal zu gestalten, aber für mich hat sich das folgende Vorgehen bewährt. Es hat mich zwar viel Zeit und Mühe gekostet soweit zu kommen, aber es gibt bestimmt "perfektere" Lösungen.

Was man braucht:

  1. Einen Webspace mit Shell/(SSH)-zugriff. (Wessen Webspace dies nicht hat braucht garnicht erst weiterlesen)
  2. putty.exe: Putty ist ein kostenlosen Konsolenprogramm für Windows

Was man haben sollte:
backup-and-migrate-Modul: Diese Modul sichert einem schnell mal die Datenbank (unverzichtbar beim Rumhantieren mit Modulen)

Worum es geht:
Drupal macht nur das was man will, wenn man eine Vielzahl an Modulen installiert. Da diese Module eine evolutionäre Entwicklung durchlaufen, gibt es, abhängig von der Aktivität der Entwickler, mehr oder weniger Updates, von denen wiederum einige zwingend notwenig für das Funktionieren anderer Module sind.

So kann es sein, dass wöchtentlich und manchmal täglich Updatebenachrichtigungen angezeigt werden.
Die "Primitivlösung" zum Updaten ist, die Dateien herunterzuladen, zu entpacken und per FTP auf den Server zu schicken. Bei vielen Modulen und welchen mit vielen Dateien kann dies ein ziemlicher Zeitfresser werden.

Beim Updaten per Shell spart man sich den Schritt die Dateien lokal zu speicher und zu entpacken, sondern macht dies direkt per Konsole auf dem Server.

  1. Man erhält eine Updatebenachrichtigung. Auf .../admin/reports/updates sieht man die Liste der Module und die Downloadlinks.
  2. Einloggen als Administrator (User 1)
  3. Man öffne einen neuen Tab im Browser und gehe zur Einstellungen->Wartungsarbeiten (Site Maintenance) und stelle die Seite dort auf "Offline" damit niemand während den Updates von Aussen was durcheinander bringt
  4. Man gehe schon mal vorsorglich auf .../update.php

Auf dem Rechner wird jetzt Putty gestartet.
Nach der Eingabe der Serveradresse erscheint die Konsole und möchte die Zugangsdaten (Benutzer und Passwort für den Account). Hat das geklappt sieht man nun seinen Server.
Abhängig vom Hoster sitzt man jetzt in irgendeinem Wurzelverzeichnis.
Um zu den Modulen zu gelangen, muss man wissen wie das Verzeichnis für die Webseiten heisst: www, oder htdocs oder ...
Wenn man Glück hat sitzt man schon beim Start in diesem Verzeichnis. Über ein FTP-Programm kann man sich im Zweifelsfall einen Überblick über die Pfade zur Drupalinstallation informieren.
Einen Überblick über das aktuelle Verzeichnis erhält man mit den Befehlen

dir

oder
ls

In meinem Beispiel muss ich zunächst in mein Webverzeichnis "www" wechseln.
Dies passiert mittels des Befehls

cd www
(change directory)

Mein Drupalverzeichnis in diesem Beispiel heisst der Einfachheit halber "drupal" und sitzt direkt in meinem www-Verzeichnis.
Die Module in Drupal befinden sich IMMER in drupal/sites/all/modules !
Das modules-Verzeichnis im obersten Drupalverzeichnis enthält nur die Kernmodule und sollte unangetastet bleiben.

Um also vom Konsolenstart zum Modulverzeichnis zu gelangen gebe ich

cd www/drupal/sites/all/modules

ein.
Dieser Pfad sollte einem in Fleisch und Blut übergehen!
Mit
dir
verschaffe man sich einmal einen schnellen Überblick über die vorhandenen Module.

So, jetzt zum eigentlichen Thema:
Als Beispiel wird hier das CCK-Modul aktualisiert.

  • Updates runterladen
  • Updates entpacken
  • update.php laufen lassen

Runterladen:

  1. Browser: Auf der immer geöffneten Seite mit den Updates klicke man mit der rechten Maustaste auf den "Download"-Link und kopiere die Link-Adresse
    Im Zwischenspeicher liegt jetzt die Adresse des neuen CCK-Moduls: http://ftp.drupal.org/files/projects/cck-6.x-2.4.tar.gz
  2. Putty: In die Kommandozeile geben man ein
    wget
    . Danach klicke man mit der rechten Maustaste auf das Konsolenfenster. Dies kopiert den Download-Link aus der Zwischenablage in die Konsole hinter das wget und führt den Befehl sofort aus:
    wget http://ftp.drupal.org/files/projects/cck-6.x-2.4.tar.gz
    Wenn man keine Fehler gemacht hat, rattert es jetzt in der Konsole, und das Modul-Archiv wird direkt vom Drupalserver in das eigene Modulverzeichnis geladen.

Entpacken:
Damit man das Modul jetzt auch wirklich aktualisieren kann, muss das komprimierte Archiv (erkennbar an dem .tar.gz) entpackt werden. Beim entpacken wird der alte Modulordner komplett überschrieben.
Das Entpacken übernimmt der Befehl tar.
Diesem müssen noch kryptische Parameter hinzugefügt werden:

tar -xzvf

Auch diese Befehlskette am besten im Stammhirn abspeichern.
Desweiteren benötigen wir jetzt den Namen der zu entpackenden Datei, die hinten dran kommt:
tar -xzvf cck-6.x-2.4.tar.gz

Ich habe schon Stunden damit verbracht vertrackten Modulnamen einzugeben z.b Schönheiten wie content_profile-6.x-1.0-beta4.tar.gz), um mich dabei immer wieder zu vertippen, was in einem Fehler resultiert, so dass man nochmal eingeben darf. Bis ich die tolle Erfindung des "*" enddeckte. Der Stern ist die Wildcard. Setzt man diesen Stern hinter oder vor eine Zeichenkette, dann sucht das System nach allen Dateien und Ordnern die diese Zeichenkette enthalten, egal ob vorher oder eben nacher noch andere Zeichen stehen.
Angewendet bedeutet das:
statt tar -xzvf cck-6.x-2.4.tar.gz komplett einzugeben reicht es auch
tar -xzvf cck-*
zu schreiben. Vorraussetzung ist aber, das nur eine Datei im Verzeichnis vorliegt, die mit cck- beginnt. Sonst kommt es zum Konflikt. Deshalb sollten alle Modularchive nach dem Updaten auch gleich wieder gelöscht werden. (Dazu später)

Stimmt alles, rattern die Modulbestandteile durch das Konsolenfenster.

update.php:
Browser: Nach dem erfolgreichen Entpacken des neuen Modularchives sollt man immer das update.php laufen lassen. Nicht alle Module haben Einträge in der Datenbank die sich sich ändern könnten, aber da man das vorher nicht weiss gehört dieser Schritt eben zum MUSS.

Abhängig von der Anzahl der zu aktualisierenden Module wiederholen sich die Schritte, bis man durch ist.

Wenn man fertig mit dem ganzen Kram ist, Online-Modus nicht vergessen ;)

Aufräumen:
Bei einem Modul ist noch alles schön übersichtlich. Aber bei vielen und nach längerer Zeit sammeln sich nach dieser Methode diverse Modul-Archivdateien an, die dort eigentlich keinen Sinn mehr erfüllen.
Löschen per Kommandozeile kann ganz schön gefährlich sein wenn man nicht genau weiss wo man ist und was man tut. Also Vorsicht!
Wir befinden uns immer noch im Modulverzeichnis und wollen jetzt das CCK-Archiv wieder loswerden.
Löschen kann man mit dem Befehl

rm
remove
Um also unser CCK-Archiv zu löschen, können wir jetzt
rm cck-6.x-2.4.tar.gz

eingeben.
Eilige können auch
rm cck-*
eingeben.
Und wer alle Archive auf einmal loswerden will, macht das dann so:
rm *.tar.gz
Dies löscht alle Dateien, die .tar.gz am Ende enthalten.
Nochmal dir zum Überblick, und dann sind wir auch schon wieder fertig.

Nochmal eine kleine Befehlsübersicht

cd

Verzeichnis wechseln
cd ..

Ein Verzeichnis im Ast zurück
cd /

katapultiert Dich in dein Server-Rootverzeichnis

wget

Lädt zusammen mit dem Pfad zum Download Dateien direkt auf den Server

tar -xzvf

Entpackt die tar.gz-Archive

rm

Löscht Dateien

‹ Mac OSX - Backupskript für Websites auf MAMP nach oben Module übersetzen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

drush

Eingetragen von stBorchert (6003)
am 18.06.2009 - 15:15 Uhr

Sehr schöne Anleitung.
Jedoch ist dies alle simpler und fehlertoleranter mittels drush zu erledigen.
Nur für den Fall, dass man sich nicht mit den ganzen Befehlen herumärgern möchte und sich auch die Pfade nicht merken kann ...

 Stefan

--
sei nett zu Deinem Themer

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • All Casino Gambling Tips
  • migrate: legacy-db-key in settings.php, wie?
  • Webform - kleiner Einleitungstext vor dem Formular.
  • Konto löschen, wie? (Drupalorg/Drupalcenter)
  • Wie 'saubere' Dateinamen bei Upload erzwingen?
  • Modul lässt Website anstürzen
  • Showroom
  • rename admin paths - Probleme mit Modul - Alterantive?
  • Probleme mit Installation voa COMPOSER
  • Drupal- Vor- und Nachteile
  • Text Editor verschwunden
  • Wie URL Alias für Entity in Drupal 9 erstellen?
Weiter

Neue Kommentare

  • Das findet man in diesem
    vor 1 Tag 19 Stunden
  • Hallo, bitte löscht meinen
    vor 3 Tagen 18 Stunden
  • Schau mal hier
    vor 3 Tagen 23 Stunden
  • Das Modul ist ja ganz schön,
    vor 6 Tagen 23 Stunden
  • Modul Purge
    vor 1 Woche 17 Stunden
  • Nö
    vor 1 Woche 1 Tag
  • Manuell aus der Datenbank löschen
    vor 1 Woche 1 Tag
  • Bots ... auf Abstand
    vor 1 Woche 1 Tag
  • Cache vs Browser
    vor 1 Woche 1 Tag
  • h2b2 schrieb Nach einigen
    vor 1 Woche 4 Tagen

Statistik

Beiträge im Forum: 247806
Registrierte User: 19538

Neue User:

  • ArthurCluby
  • Chrisvek
  • RebeccaBeils

» Alle User anzeigen

User nach Punkten sortiert:
wla9210
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

DrupalCenter durchsuchen:

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
    • Best Practice - Drupal Sites - Guidelines
    • Die beliebtesten Themes und Module
    • Tutorials & How To's - Tipps & Tricks
      • Kurztipps - Dinge die Stunden sparen können.
      • Notfallpläne - Tipps die Deine Drupalinstallation retten können
      • Anleitung zur Erstellung eines einfachen Kontaktformulars
      • Arbeiten mit dem Drupal Taxonomie-System [beinhaltet veraltete Inhalte]
      • Bearbeiten-Tab zu jeden Block hinzufügen
      • Block View mit Argument
      • Das Tagebuch einer Site
      • Drupal 6 - Automatisch unterschiedliche Bildgröße bei Teaser und Artikel
      • Drupal 6 - Eigene CSS Datei in ein Theme integrieren
      • Drupal 6 - Einfache Bildergalerie mit Image und Lightbox2
      • Drupal 6 - Einrichten eines Kalenders
      • Drupal 6 - Google Adsense ohne Zusatzmodul einbinden
      • Drupal 6 - Hauptnavigation mit DropDown Effekt ab Ebene Zwei
      • Drupal 6 - ImageMagick mit XAMPP Lite nutzen
      • Drupal 6 - Imagefield mit Imagecache und Colorbox
      • Drupal 6 - Installation FCK Editor
      • Drupal 6 - Installieren der WYSIWYG API inkl. Editoren
      • Drupal 7: mehrere Bilder in Node: 1 Bild in Anrisstext
      • Drupal Code Highlighting in Redmine Projektarchiv (CodeRay)
      • Drupal Theming: JavaScript einhängen in Abhängigkeit von Page-Variablen
      • Drush - Das Schweizermesser für Drupal auf Kommandozeile
      • Einfaches und erfolgreiches Patchen unter Windows
      • Eingabeformat & Inputfilter
      • Einrichten eines einfachen, statischen Menüsystems
      • Erstellen von Patches
      • Gallery mit CCK und Views erstellen (Drupal 5)
      • Header image Modul einrichten
      • Inhaltsübersicht für einen User mit einem View erstellen
      • Javascript und CSS-Dateien einbinden
      • Kontaktformular mit Jquery aufwerten
      • Leitfaden zur Erstellung von Suchmaschinenoptimierten Drupal-Sites
      • Mac OSX - Backupskript für Websites auf MAMP
      • Module updaten via Shell auf Windows
      • Module übersetzen
      • Perl-Script zum Erzeugen einer statischen Kopie einer Drupal-Website
      • Portierung eine Themes von openwebdesign.org
      • Prozentbalken bei Views (Balkendiagramm)
      • Themen eines Node-Formulars
      • Titel mit Stil
      • Umkreissuche mit Location- und Views-Modul
      • Usergalerie mit ImageCache, CCK, Views + Thickbox
      • Userprofil mit Usernodes erstellen
      • Validierung von Usereingaben bei Nodes
      • Variation vom Showroom auf drupalcenter.de
      • View mit Eingabeformular für neue Beiträge
      • WebSVN mit Drupal Code Highlighting
      • Zusätzliche Submit-Schaltfläche in Node-Formularen
      • i18n Language Switcher Block, die Links mit den Flaggen themen
      • ui.slider als Ersatz für den Ajax-Pager von Views
      • Zugriffsbeschränkungen für Nodes - eine Übersicht der Möglichkeiten
  • Entwicklung von Modulen und Themes
  • Drupalcenters Community
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association