Tools für den Remotezugriff
Auch bereits freigeschaltete Webseiten brauchen weiterhin Pflege. Es geht darum, Updates einzuspielen, Fehler zu beheben oder neue Features einzurichten. Matthias Viehweger stellt geeignete Tools vor.
Sobald eine Webseite in den Produktivbetrieb übernommen wird, kommt die Anforderung hinzu, Inhalte auf dem Webserver zu verwalten und Fehler direkt dort zu beheben. Hierfür gibt es eine Menge Tools, die teilweise direkt auf dem Server, teilweise auf dem heimischen Computer laufen.
Code ausliefern
Wer sich jetzt fragt, was so schwer daran ist, hat vermutlich bereits seine Hausaufgaben gemacht. Es gibt hier Lösungen vom einfachen Upload einer statischen HTML-Seite per FTP über fortschrittene System wie Capistrano bis hin zu vollautomatisierten Systemen, die anhand der Änderungen in Subversion oder Git selbstständig die Server aktualisieren.
Für eine einfache Dateiup- und -download ist ein FTP-Tool wie Filezilla (für alle gängingen OS erhältlich) eine guter Anfang. Wie in vielen andere Tools kann eine Liste hochzuladender Dateien zusammengestellt werden, die dann zügig und mehr oder weniger »auf einmal« auf dem Server landen. Ebenso verbreitet und wichtig ist die Fähigkeit, nicht nur per FTP Dateien zu kopieren, sondern auch SSH und SFTP als Protokoll einzusetzen.
Inhaltsverwaltung über ein Backend
Einfach abzudecken sind meist die Adminitrationsaufgaben, wenn ein eigenes Backend vorhanden ist. Ausgereifte System wie Contao erlauben es, strukturelle und inhaltliche Änderungen im laufenden Betrieb vorzunehmen.
Da die Änderungen meist sofort auf der Seite sichtbar sind, sollten solche Wartungsaufgaben nicht in Stoßzeiten durchgeführt werden. Ein ausgebesserter Tippfehler wird sicherlich keinen Besucher stören, eine neue Navigationsstruktur sollte aber außerhalb der Geschäftszeiten eingeführt werden.
Änderungen in der Ferne
Für Änderungen auf entfernten Systemen kommt meist ein FTP-Programm zum Einsatz. Eine Besonderheit in dieser Programmklasse ist hier Cyberduck, welches erlaubt Dateien direkt auf dem Server zu ändern. Technisch wird hier die fragliche Datei vom Server heruntergeladen, in einem lokalen Editor geöffnet und nach dem Speichern sofort wieder auf den Server hochgeladen.
Der Editor Vim (bzw. MacVim) ermöglicht es, Dateien direkt per FTP zu öffnen. Der Umweg über ein spezielles FTP-Tool entfällt dann komplett. Der Texteditor baut dabei die FTP-Verbindung auf, öffnet die Datei auf dem Server und ersetzt sie beim Speichern direkt auf dem Server.
Für schnelle Änderungen, z. B. an Konfigurationsdateien, ist das ideal. Nachdem die Änderungen in der Ferne durchgeführt wurden, sollten diese natürlich noch auf dem eigenen System gesichert werden, ggf. auch um die Änderungen in die firmeninterne Versionskontrolle einzupflegen.
Datenbank-Verwaltung
Je komplexer eine Seite wird, desto schneller ist neben HTML, CSS, JS, Bildern und Programmcode (wie PHP oder Ruby) auch noch eine Datenbank im Einsatz. In den meisten Fällen wird hierfür MySQL verwendet. Da diese Datenbank recht verbreitet ist, gibt es eine Vielzahl von Möglichkeiten, darauf auch aus der Ferne zuzugreifen.
Als sicherlich bekanntestes Werkzeug hat sich hier phpMyAdmin etabliert, der überall da einsetzbar ist, wo auch PHP läuft. Dieses Tool bietet einem die Möglichkeit, direkt auf Tabellenebene die Daten zu sehen und zu bearbeiten. Wenn die Webseite die ebenfalls freie Datenbank PostgreSQL einsetzt, kann zur Administration das Programm phpPgAdmin verwendet werden, dass in der Zielsetzung ähnlich ist. Der Funktionsumfang orientiert sich dabei natürlich an der zugrundeliegenden Datenbank.
Eine weitere Möglichkeit, die Daten des Produktivsystems zu verwalten, ist der Direktzugriff über eine Desktop-Anwendung. Grundsätzlich sind alle Programme in der Lage, sowohl zu lokalen wie auch zu entfernten Datenbanken Kontakt aufzunehmen. In der Praxis stehen einer Öffnung der DB gegenüber der ganzen Welt jedoch Sicherheitsbedenken gegenüber. Ein simples Passwort wird hierbei meist als nicht ausreichend angesehen. Daher wird von vielen Programmen die Verbindung über einen SSH-Tunnel angeboten. Wer also per SSH auf den Datenbank-Server kommt, hat im Wesentlichen bereits alle Möglichkeiten der Datenwartung. Die MySQL-Workbench ist für die meisten Betriebssysteme verfügbar und deckt die meisten Anforderungen ab.
In shared hosting-Umgebungen ist man allerdings meist darauf angewiesen, über HTTP und ein spezielles Skript auf die Datenbank zuzugreifen. Besser ist es dann meist, die vom Hostingprovider selbst bereit gestellten Möglichkeit zu nutzen, auf Datenbanken zuzugreifen. Die geschieht meist in Form einer der weiter oben genannten Weboberflächen.
Allgemein ist Vorsicht geboten, wenn Daten direkt in der Datenbank bearbeitet werden. Vollwertige CMS haben eine Vielzahl von Prüfungen und Komfortfunktionen eingebaut, um nicht zusammenpassende Daten zu verhindern. Beispielsweise muss die Autoreninfo eines Artikel auch wirklich auf einen existierenden Autor verweisen. Das CMS bietet hierfür gleich eine passende Liste an oder ändert es nur automatisch auf den gerade eingeloggten Benutzer. Es ist aber dennoch sinnvoll, auch Tools zur Datenbankverwaltung zumindest einmal anzusehen, da es die Trennung zwischen Inhalt und Präsentation neu betrachten lässt. Ebenso kann es sein, dass der direkte Weg in die Datenbank der einzige Weg ist, Inhalte in der Webseite zu ändern.
Webserver-Verwaltung
Über die bloße Manipulation von Nutzdaten hinaus muss ja – zumindest bei größeren Projekten – ab und zu auch noch Serversoftware administriert werden.
Seien es Betriebssystemupdates oder Erweiterungen der Software: Wenn es ans Eingemachte geht, sind meist direktere Tools gefragt. Einfache und wiederkehrende Aufgaben hat manchmal bereits der Hostingprovider mit einem Tool bedacht. So gibt es für häufig anzupassende PHP-Einstellungen bereits Weboberflächen, mit denen diese Parameter leicht angepasst werden können. Genauso lassen sich auch Hostnamen, Mail-adressen usw. verwalten.
Wer mehr einstellen möchte oder muss, sollte sich an den Systemadministrator oder den Hostingprovider wenden. Meist muss ein gesonderter SSH-Zugang eingerichtet werden und eine Einweisung in das System erfolgen.
Capistrano
Wenn das Projekt so erfolgreich ist, dass die Seite von mehreren Servern an die Seitenbesucher ausgeliefert wird, muss der Quellcode auch auf allen Systemen auf dem gleichen Stand sein. Diese Situation ist vor allem bei großen, dynamischen PHP, Python- oder Rails-Seiten zu erwarten, da hier jeder Seitenaufruf deutlich mehr Ressourcen als das Ausliefern einer statischen HTML-Seite kostet.
Das in Ruby geschriebene Tool Capistrano ist genau auf diesen Anwendungsfall angepasst. Im Kern ist es ein Tool, um Befehle auf mehreren entfernten Systemen gleichzeitig auszuführen. Das reicht vom parallelen Ausliefern des Quellcodes aus der Versionverwaltung über Datenbankänderungen bis hin zu komplexen Systemaufgaben. Die eigentlichen Aufgaben werden dabei über sog. Recipes definiert, die in Ruby geschrieben werden. Für die meisten Aufgaben gibt es aber schon fertige Sammlungen. Eine Suche nach »capistrano recipes« sollte schnell Erfolge bringen. Beispiele könnt Ihr Euch unter anderem auf GitHub ansehen.
Genau wie beim vorherigen Abschnitt handelt es sich hier auch um einen fortgeschrittenen Themenkomplex. In den meisten Fällen ist ein solches System bereits eingerichtet worden, folglich gibt es auch schon Ansprechpartner. Für den Neuanfang bietet die Projektseite von Capistrano viele Informationen und Tutorials.
Fazit
Vom einfachen Ausbessern eines Tippfehler im CSS bis hin zur feinkörnigen Administration mehrere Systeme gibt es viele Möglichkeiten, Webseite im Produktivbetrieb zu administrieren. Wie bei allen anderen Bereichen der Kunden- und Projektbetreuung hilft es, sich einfach mal die Optionen anzusehen und ggf. auch beim Hoster nachzufragen. Im Idealfall kann einem dies auch schonmal einen zufriedenen Kunden mehr bescheren.
Gemälde (Ausschnitt): Adolph von Menzel, Das Eisenwalzwerk. 1872-75. Nationalgalerie, Berlin.
Kommentare
Peter
am 23.12.2010 - 14:01
Gut geeignet ist auch das kostenlose WinSCP, welches sich bei mir seit Jahren bewährt.
Neben der SFTP-Möglichkeit finde ich das zuschaltbare synrone Wechseln der Verzeichnisse (lokal und remote) einfach nur schön :-). Damit ist man an beiden Orten immer im richtigen Verzeichnis, was die Arbeit erleichtert und den Arbeitsfluß beschleunigt.
WinSCP bringt viele Funktionen mit, u.a. das aktuell halten des Remote-Verzeichnisses, das Vergleichen von Verzeichnissen u.v.m.
OT: Fröhliche Xmas Euch Allen und danke für die nützlichen Türchen :-)
Matthias Viehweger
am 23.12.2010 - 14:48
Danke für den Hinweis. Das synchrone verzeichniswechseln ist wirklich eine enorme Arbeitsersparnis. Filezilla unterstützt das meines Wissens nach auch. Cyberduck hat natürlich von der Oberfläche her keine solches Feature.
Nils
am 24.12.2010 - 02:18
Ein recht neuer, sehr netter Dienst ist Deploy.
Deploy kann Git- und SVN-Repositories automatisch auf einen oder mehrere Server via FTP oder SSH/SCP hochladen. Wenn man sowieso eine versionskontrollierte Arbeitsumgebung (mit eigenem Server oder mittels GitHub, BitBucket, Codebase etc.) pflegt ist das das ideale Tool, den Code anschließend auszuliefern.
Bei jedem kostenpfichtigen Codebase-Account sind übrigens fünf Deploy-Server inklusive.
Die Kommentare sind geschlossen.