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

Module updaten via Shell auf Windows

Eingetragen von bernadotte (44) am 18.06.2009 - 12: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 (5516)
am 18.06.2009 - 14: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

  • Computed_Field Node Objekt bzw. nid?
  • Drupal Entwickler für Erstellung von Shop mit Ubercart in bestehende Drupal-Seite
  • Viele Fragen die mich quälen ...
  • Fataler Fehler nach update auf Drupal 6.24 wg fehlender Funktion in image.inc
  • meine Profilbesucher anzeigen?
  • URLs: Groß- und Kleinschreibung
  • Rules und Organic Group
  • [erledigt] drupal 7 - read more ausblenden
  • Modul für Absatznummern / Randnummern
  • Path-Based Metatags - wofür sind die gut?
  • Views Field Language (Spracherkennung der Felder) funktiniert nicht
  • [gelöst] Danland: Standard-Startseite formatieren
Weiter

Neue Kommentare

  • Laß Dir doch mal den Inhalt
    vor 51 Minuten 38 Sekunden
  • Problem gelöst
    vor 3 Stunden 2 Minuten
  • ich könnte mir vorstellen
    vor 3 Stunden 2 Minuten
  • Ja und wie greife ich da auf
    vor 3 Stunden 11 Minuten
  • Unser Server kann das. Ich
    vor 3 Stunden 25 Minuten
  • Modul "User Relationships"
    vor 3 Stunden 25 Minuten
  • Ist der Host ein Windows-Host?
    vor 3 Stunden 32 Minuten
  • Du läßt Dir in der Zeile die
    vor 3 Stunden 38 Minuten
  • Patch aus Issue Queue
    vor 4 Stunden 24 Sekunden
  • "Read more"-Link modifizieren
    vor 4 Stunden 3 Minuten

Statistik

Beiträge im Forum: 173996
Registrierte User: 15484

Neue User:

  • Spearoth
  • bwvebb
  • drupal4normi

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5516
quiptime4713
Tobias Bähr3874
wla3810
md3777
bv3700
Thoor3678
Alexander Langer3282
dereine2635
Exterior2571
» User nach Punkten
Zur Zeit sind 4 User und 26 Gäste online.

Benutzer online

  • wla
  • Sammelzwerg
  • tomti
  • Bogus

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
  • Bücherecke
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Buchempfehlung

Webseiten erstellen Drupal 7
Content - Layout - Administration
Das Drupal-Entwicklerhandbuch
Der Praxisleitfaden für Drupal-basierte Webprojekte.
Pro Drupal 7 Development
(Expert's Voice in Open Source)

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
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Ü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
  • Bücherecke

Quicklinks III

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

RSS & Twitter

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