Forum

Forum feed

» zum Forum | » aktuelle Diskussionen

Kommentare

Forum feed

Webentwicklungsumgebung  Unten

  • Ich überlege gerade, ob man die Pflege einer Website nicht vereinfachen könnte und ich brauch da von Euch mal ein wenig Input:

    Normalerweise arbeite ich ja unter Linux. Da kann man sich ja ne Menge feiner Entwicklungstools sehr einfach installieren. Meine Idee war jetzt: Das Problem bei Updates oder größeren Änderungen an einer Website weiß man nie so ganz genach, ob es klappt oder nicht. In 99% der Fälle klappt es. Manchmal nicht.
    Wir raten den Usern immer dazu komplette Backups zu machen und die zur Not wieder einzuspielen. Kann man das vielleicht ein wenig mehr automatisieren?

    Meine Idee war jetzt:
    Ich habe meine Liveserver und lokal richte ich mir auch einen Server ein. Die Dateien auf dem gleichen Stand zu haben, müsste ja noch recht einfach sein. Also ignorieren wir erst einmal die Datenbank. Ich habe also lokal ein Spiegelbild der Live-site. Ich ändere die Dinge, die ich ändern will, check das in ein lokales SVN und dann wäre es gut, wenn es automatisch auch auf die Live-Site geht. Ich habe so ein System mal gesehen. Das war aber für ein Ruby-Framework und wurde als SaaS angeboten (Heroku). Wenn man da noch die Datenbank abgleichen und per Klick wiederherstellen könnte, wäre es echt klasse.

    • Habt ihr ne Idee, wie man das umsetzen könnte?
    • Gibt es vielleicht schon ne Lösung dafür?
    • Kennen wir (Chris) jemanden, der so etwas in einer Art umsetzen könnte, dass man das einfach weitergeben kann?


    Gruß Steffen

    "If you want people to RTFM, make a better FM!"
  • Ich bin ein einfacher Webdesigner und habe nichts sehr viel Ahnung von Server Administration, da können andere sicher mehr beitragen ...
    Also einfach, was ich denke, oder mir wünschen könnte

    Quote

    Ich habe meine Liveserver und lokal richte ich mir auch einen Server ein. Die Dateien auf dem gleichen Stand zu haben, müsste ja noch recht einfach sein.

    Sehe ich nicht so einfach. Ich habe viele Seiten auf einem Server laufen, den ich halbwegs kenne, andere aber irgendwo, weil es der Kunde so will. Da habe ich keinerlei Einfluss auf die Versionen von PHP, Apache und MySQL. Ok, die Minimumstandards sind erfüllt, manche PHP Einstellungen werden über .htaccess geregelt oder via Mail an den Administrator, oder wie auch immer ...
    Diese Umgebung auf einem lokalen Server nachzubauen (sei es Linux, xammp virtuelles - ich arbeite auf Windows) würde meine Fähigkeiten übersteigen und wäre wahrscheinlich auch für Qualifiziertere mühsam ...

    ich habe mir deshalb folgende Routine für (zähneknirschende icon_biggrin ) Updates zurechtgelegt:
    ich spiegle die gesamte Seite mit allem Drum und Dran auf ein Unterverzeichnis oder eine Subdomain auf dem Liveserver, ebenso die Datenbank(en), wobei hier auch das Problem auftritt, das bei einer lebendigen Communiity-Seite laufend neue Einträge ankommen ... Ok, man kann die Seite Wegen Maintenance ein paar Stunden stillegen, viel mehr nicht ..

    Dann mache ich die Updates etc. teste alles, und wenn es funktioniert, spiele ich alle Dateien ins Originalverzeichnis zurück
    Wenn sich das in irgendeiner Weise automatisieren ließe, wäre es fantastisch, nur habe ich meine Zweifel, dass ein Server das akzeptiert ...

    lG aus Wien, Rolf

    ---ufo---
  • Quote

    Dann mache ich die Updates etc. teste alles, und wenn es funktioniert, spiele ich alle Dateien ins Originalverzeichnis zurück

    Wenn Du das Testupgrade gemacht hast, alles funktioniert und Du genau weisst, was Du wo machen und drehen musst, warum wiederholst Du dann nicht alles genauso auf dem Liveserver (mit einem aktuellen Backup vorher natürlich)? Das vermindert die Ausfallzeit und nimmt Dir den Druck schnell schnell eine Umstellung hinzubekommen? So kannst du auch verschiedene Schleifen drehen, in Ruhe wieder von vorne anfangen, wenn was in die Hose geht und so weiter.

    Jede Minderheit hat ein Recht auf Diskriminierung.
  • Es gibt dazu viele verschiedene Ansätze, die Umsetzung hängt halt dann doch wieder sehr vom persönlichen Workflow und Wünschen ab, sowie auch auf den Umfang der Zugriffsrechte auf die Ziel-Server Infrastruktur - und natürlich auch von den lokalen Möglichkeiten (Betriebssystem, Hardware - Virtualisierung möglich, Fähigkeit zum Umgang mit einer Konsole, etc.). Vor allem macht es aber auch einen riesen Unterschied wie groß (Datenbank, Traffik, Ausfallstoleranz) das Projekt ist. Hier mal die Einsteiger-Lösung:

    Der produktive Teil ist im Webroot, ein Duplikat in /test/. Beide teilen sich die selbe Datenbank/User, aber verwenden 2 verschiedene Tabellenpräfixe (z.B. z1_ und z2_). Auf /test/ wird z.B. ein Upgrade probiert. Bei Misserfolg einfach neu duplizieren, bei Erfolg ins Webroot verschieben. Über FTP kann das alles sehr zeitaufwendig werden, daher empfehle ich sowas eher nur mit SSH Zugang und Verständnis von rsync. Vorteil: Keine extra Tools nötig, alles wird am selben Server mit den selben Settings getestet - also keine Überraschungen möglich.

    Lokale Testumgebungen eignen sich meiner Meinung nach eher nur zum Entwicklen von Themes oder Modulen, weniger zur tatsächlichen Pflege aktiver Sites. Und selbt da kommt man letztlich um finale Tests auf echtem realen Servereisen nicht herum.

    SVN macht nur im Mehrpersonenbetrieb Sinn, wenn ich mit mir alleine an einer Seite arbeite reichen simple (automatisierte!) Backups allemal.

    Steffen, wenn du Linux verwendest, schau dir mal Luckybackup an - das ist eine super GUI Backup-Management Lösung basierend auf rsync. Der Author ist übrigens ein sehr netter und hilfsbereiter Kollege, der gerne auch mal neue Features einbaut wenn Du gute Ideen hast.

    Greetings,
    Chris

  • Frank, ich mache kein Testupgrade, weil ich keinen Testserver habe, aus Gründen wie oben erwähnt
    und ich kann damit leben ...

    wollte nur aus Steffens Idee von Möglichkeiten der Automatisierung antworten

    lG aus Wien, Rolf

    ---ufo---
  • Ja, könntest Du so aber mit einer kompletten Kopie der Seite (inkl. DB) in einer Subdomain oder einem Unterverzeichnis.

    Jede Minderheit hat ein Recht auf Diskriminierung.
  • Insgesamt war halt die Überlegung: Warum hat man eigentlich bei Updates von Webanwendungen immer so ein unsicheres Gefühl? Selbst wenn ich eine neue Version meiner Linuxdistribution installiere, weiß ich, dass hinterher alles läuft.

    Das liegt glaube ich an 3 Sachen:
    • Der Core wird so geändert, dass bestimmte Module nicht ohne gleichzeitiges Update funktionieren. Warum ist das eigentlich anders als bei Desktop-Software? Da werden doch auch mal Dinge geändert. Unter Windows gibt es das Phänomen ja durchaus auch: Nach jeder neuen Windows-Version funktionieren bestimmte, Programme nicht mehr. Meistens sind das aber auch schon vorher entweder sehr alte oder sehr spezielle Programme gewesen. Eine Software, die Windows XP nach dem aktuellesten Stand der Entwicklung funktionierte, lief auch unter Vista, oder?
    • Man hat Dinge angepasst, die eventuell verloren gehen. Das Problem seh ich aber nicht mehr so. Inzwischen haben wir ziemlich tolle Methoden gefunden, jegliche Anpassungen in Themes auszulagern. Wer dann keines der mitgelieferten Themes genutzt hat, ohne zumindest den Namen zu ändern, sollte eigentlich nichts mehr verlieren können.
    • Ein Update dauert ewig. Backup der DB - Download, Backup der Dateien - Download. Dann idealerweise alle Dateien löschen. Und dann Upload. Gerade der Upload dauert auf Grund der asynchronen Leitungen meist ewig.

    Seht ihr das auch so?

    Gruß Steffen

    "If you want people to RTFM, make a better FM!"
  • Quote

    * Gerade der Upload dauert auf Grund der asynchronen Leitungen meist ewig.
    Seht ihr das auch so?

    Jepp, genau so.
    Daher teile ich im Prinzip die Lösung von ufo:
    Dateien in ein Unterverzeichnis, zugriff auf die selbe DB mit anderem Präfix - Testupdate.
    Wenn Misserfolg, dann neu drüberkopieren, wenn Erfolg, dann auf dem Server das Verzeichnis für den Einstieg ändern und schon bin ich upgedatet online.

    -.-.-.-.-.-.-.-.-.-.-.-
    Frank
  • Servus,
    ich hab in letzter Zeit gute Erfahrungen mit GIT gemacht. Ich benutze es aber als Backup tool, weil man kinderleicht ein/auschecken kann, von wo immer man will.

    Auf dem Webserver also ein GIT Repository eingerichtet und alle Dateien eingehängt. Die DB dumpe ich vorher in ein File, damit sie dabei ist.
    Jetzt kann ich von wo auch immer einen Clone ziehen. Egal ob der lokal in einem anderen Verzeichnis des Webserver ist, oder bei mir zu Hause in der Testumgebung.
    Und wenn man mal was gelöscht hat, kann man es schnell wieder herstellen.
    Und wenn das lokale Update geklappt hat, checke ich es einfach ins Repository ein. Fertig.
    Und das alles mit 4 Commands.
    Gruß

    Gruß Sebastian

    Tweet with me
  • GIT kannte ich bisher nicht, habe jetzt kurz hineingeschaut, ist es etwas ähnliches wie SVN?
    Version Control Systeme sind wären für einige von uns, die auch nur (na vielleicht nicht ganz) einfache Webseiten betreiben wichtig und interessant!

    Und damit komme ich auf Steffens Anfangsidee zurück und erweitere sie vielleicht ganz ein wenig ... icon_biggrin
    Wenn es da halbwegs installierbare und administrierbare Möglichkeiten gäbe, die auf den verscheidensten Server eingesetzt werden können, wäre das toll ...

    lG aus Wien, Rolf

    ---ufo---
  • Servus,
    ja, GIT ist eine Art SVN. Also auch ein Repository. Der Wikipedia Artikel beschreibt GIT ganz gut. Wichtig finde ich den dezentrales Aspekt. man braucht theoretisch keinen zentralen Server.
    Meistens gibt es aber einen Master, von dem alle ein- und auschecken.
    Entweder installiert man sich das GIT repo lokal (gibt für alle Distros fertige Pakete), oder man nimmt zum Beispiel github.com . Die hosten dein Projekt.
    Gruß

    Gruß Sebastian

    Tweet with me
  • ich möchte das Thema noch einmal aufgreifen und ein wenig erweitern
    kann GIT das, oder gibt es andere Lösungen:
    neben der Absicherung von Updates wäre es ganz toll, die normale Arbeit eines Webdesigners unter einer Version Control laufen lassen zu können
    das hieße aber auf einem normalen Server ein Respository einrichten zu können (das braucht nicht viel Platz, die meiste Arbeit bewegt sich in Templates, CSS, mal ein Plugin und vielleicht ein kleiner Hack in einem Modul icon_biggrin )
    sollte webbasiert sein, dass man notfalls vom Notebook darauf zugreifen kann. Wenn es dazu noch ein Ticketing gäbe, wäre es ganz gut ... icon_cool
    vielleicht ist das gar nicht so kompliziert? Ich habe nur keine Ahnung, wie ich das angehen soll. github.com o.ä. wird bei mehreren Seiten teuer.
    Arbeitet schon jemand mir einer solchen Lösung und könnte ein kleines Tutorial schreiben?

    Wenn man das ganze in Zik integrieren könnte, wäre es natürlich ideal ...
    und ein tolles Marketing Argument ...

    lG aus Wien, Rolf

    ---ufo---
  • Hallo Leute,

    vielen Dank für diesen Thread. Mir ist gerade ein Licht aufgegangen. Ich habe mittlerweile so viele Projekte mit Zikula umgesetzt, dass ich bald lauter Updates vornehmen muss. Und eure Diskussion hat mich auf eine Idee gebracht (übrig. bin auch nur "einfacher" Webdesigner):

    Ich mache es wie oben beschrieben:

    1. Neues Verzeichnis, Kopie aller Dateien
    2. Eine Kopie der DB erstellen oder innerhalb der DB mit neuem prefix
    3. Bei der aktuellen Installation, das Einstellen von Inhalten über Rechteverfahren sperren und den "Kunden" mitteilen, dass Upgradearbeiten vorgenommen werden. Das verkraften die meisten ein paar Tage. Die Seite bleibt aber weiterhin besuchbar.
    4. Upgrade im neuen Verzeichnis (und der neuen DB oder des neuen Prefix) installieren und durchtesten
    5. Wenn alles gut klappt, dann die Domain auf das neue Verzeichnis einstellen und schon ist ist die neue Seite online und alle können weiter machen.
    6. Danach die alten Dateien im bisherigen Verzeichnis löschen und die alte Datenbank oder die alten Tabellen löschen.

    Könnte das so klappen?

    Gruß
    Thomas

  • Quote

    Könnte das so klappen?

    denke schon, ich mache es auch so ähnlich
    halt mir einem Unterverzeichnis und schiebe dann die neue Installation in das Hauptverzeichnis
    Datenbank bei localhost ist kein Problem

    lG aus Wien, Rolf

    ---ufo---
  • Denke auch, dass das so klappen könnte.
    Wenn du eine andere DB nehmen kannst, musst du noch nicht mal den Prefix ändern.
    Prefix ändern heißt ja auch immer im Datenbank Dump "suche&ersetzte".

    Wenn zwei Seiten gleich aussehen, muß man immer höllisch aufpassen auf welcher man sich bewegt.
    Mit nem fälschlicherweise absolut gesetzten Link, ist man schnell auf die alte Seite gekommen um merkt erst beim Funktionalität testen, dass da was nicht stimmen kann.
    Gruß

    Gruß Sebastian

    Tweet with me
  • 0 Benutzer

Diese Angaben basieren auf den Useraktivitäten der letzten 30 Minuten.