Update von Apps

  • Ist denn eine Möglichkeit in Planung, installierte Apps auch zu updaten?
    Gerade für PHPMyAdmin, den wohl die meisten installieren wäre das aus Sicherheitsgründen doch sehr wichtig - und würde die Arbeit ersparen, jedesmal manuell aktualisieren zu müssen.
    An PHPMyAdmin wird ja auch kaum jemand manuell etwas ändern, das Update müsste also nicht viele Ausnahmen berücksichtigen.
    Oder gibt es das schon und ich habe es nur nicht gesehen?

  • Also ich löse das bequem über git:


    Installaion:

    Code
    $ cd htdocs
    $ git clone -b STABLE git://github.com/phpmyadmin/phpmyadmin.git


    Updates per Cronjob:

    Code
    $ cd /var/www/web1/htdocs/phpmyadmin; git pull origin STABLE


    Grüße,
    Hendrik

  • Ich denke ja nach wie vor das die dinge wie z.B. phpMyAdmin und RoundCube zentrale dinge sind die dem anwender zur Verfügung gestellt werden und somit eigentlich nicht in die app-verwaltung reingehören... zumindest nicht in die die auch die kunden nutzen können... warum sollte sich dieser den z.B. noch RoundCube installieren sollen wenn der Administrator doch ein eMail-WebInterface zur Verfügung stellt den der Kunde per Klick in seinem WebInterface aufrufen kann?


    Dann können auch solche lösungen wie mit "git" oder einem anderen vom adminitrator preferierten weg realisiert werden.
    just my 5cents. :)

    - LiveConfig 1.6.0-r2052 (Inaktiv) :: BETA: 1.6.1 - r2142 (Inaktiv)
    [HR][/HR] - CentOS 6.3 x64[HR][/HR]- Apache 2.2.15 - PHP 5.4.12* - mod_suphp 0.7.1** - MySQL 5.5.30*
    - Postfix 2.6.6 - dovecot 2.0.9 - Clamd 0.97.6** - clamav-milter 0.97.6**- postgrey 1.34**
    - vsFTPd 2.2.2 - AWStats 7.0**
    * Aus dem REMI-Repository :: ** Aus dem rpmforge-Repository

  • Finde ich auch gut!

    Computer sind unglaublich dumme Geräte,
    die unglaublich intelligente Sachen können.
    Programmierer sind unglaublich intelligente Leute,
    die unglaublich dumme Sachen produzieren.
    ("Die Presse", 30.8.1999)

  • Um nochmal auf die Sache mit der Update-Funktion zurückzukommen. Ich denke es wäre auf jeden Fall von Vorteil, eine Update-Funktion mit in den App-Installer einzubauen.


    Im Prinzip müsste der App-Installer nur die neuen bzw. geänderten Dateien (unter Berücksichtigung gewisser Regeln) überschreiben und den Benutzer nach dem Update evtl. auf eine Seite weiterleiten um das Update abzuschließen.

  • Mag sein, dass so eine Update-Funktion nicht für 100% der Apps geeignet wäre. Allerdings lassen sich die meisten gängigen Apps auf dem Weg problemlos aktuallisieren.


    Mein Vorschlag wäre, dem App-Paket bei Bedarf eine Konfigurationsdatei beizulegen, um diverse Aktionen vor oder nach dem Update durchzuführen. Beispiel:


    Code
    update:
        before_update:
            - "lc/before_update.php"
        after_update:
            - "lc/after_update.php"
        ignore:
            - "system/config.php"  
            - "public/"
  • Das Problem wird viel mehr durch Plugins kommen und vor allem durch geänderte Dateien von Usern, daher sollte in jedem Falle der User entscheiden können ob ein Update ausgeführt wird oder nicht. So ein Feature nur für "manche" Apps anzubieten wäre wieder nicht verkäuflich als Anbieter. "Jetzt mit Auto-Update für manche Anwendungen" ist ein ziemlicher Fail ;)

  • Hallo alle zusammen,


    da ich hier für die Installer Scripte bei LiveConfig zuständig bin werd ich mal ein bisschen was dazu sagen.


    Ist denn eine Möglichkeit in Planung, installierte Apps auch zu updaten?


    Kurze Antwort: Ja! (unten mehr dazu)


    Also ich löse das bequem über git


    Wir nicht. Wir können nämlich nicht davon ausgehen das auf jedem Webhosting Server auch ein git/svn/bazaar/cvs/wasauchimmer Client installiert ist. Wobei ich persönlich die Idee nicht schlecht finde gerade für zentrale Instanzen von Webmail und/oder phpmyadmin die vom Admin verwaltet werden!


    hm, da schließe ich mich dir an. Eventuell kann man da ja einfach eine Rechteverwaltung nachrüsten, dass der Admin/reseller festlegen kann, welche Apps freigegeben sind.


    Wir planen gerade die Möglichkeit das jeder (Liveconfig Admin) sein eigenes (auch mehrere) Repository pflegen kann und somit völlig frei entscheiden kann welche Apps er anbieten möchte. Zusätzlich dazu planen wir aber auch die vorgeschlagene Rechteverwaltung einzubauen somit kann der "Oberadmin" (der der den LiveConfig-Server verwaltet) entscheiden welche Apps er generell bereitstellen will und die Reseller können ihren Kunden wiederum daraus eine Auswahl bereitstellen.


    Um nochmal auf die Sache mit der Update-Funktion zurückzukommen. Ich denke es wäre auf jeden Fall von Vorteil, eine Update-Funktion mit in den App-Installer einzubauen.


    Sehen wir auch so (mehr dazu unten).


    Das Problem wird viel mehr durch Plugins kommen und vor allem durch geänderte Dateien von Usern, daher sollte in jedem Falle der User entscheiden können ob ein Update ausgeführt wird oder nicht. So ein Feature nur für "manche" Apps anzubieten wäre wieder nicht verkäuflich als Anbieter. "Jetzt mit Auto-Update für manche Anwendungen" ist ein ziemlicher Fail ;)


    Das auch :D (mehr dazu jetzt im Anschluss)


    so nun mehr zum Updateprozess:


    Der Updateprozess für Apps wird sich aus unserer Sicht nur auf die Kernanwendung selbst beziehen (z.B. Joomla! oder Wordpress) und nicht die eventuell installierten Plugins. Herauszufinden welche Plugins installiert sind und für jedes verfügbare(!) Plugin eine Download URL und Installations/Update Anweisungen bereitzustellen ist einfach (unserer Meinung nach) nicht realisierbar.


    Anders als hier Befürchtet werden wir auch keinen Update Prozess automatisiert anstoßen (da kann unserer Meinung nach zu viel kaputt gehen wenn der Anwender nicht Bescheid weiss das seine App aktualisiert wurde und dann plötzlich einige Plugins nicht mehr funktionieren). LiveConfig wird im Webinterface darauf hinweisen dass ein Update für eine App bereitsteht. Der Anwender muss dann selbst tätig werden und auf "Update" klicken um das Update zu starten.


    Auch ein Sammelbericht für den Admin/Reseller ist für uns vorstellbar um ihn darauf hinzuweisen welche von ihm und seinen Kunden installierten Apps nicht mehr "up to Date" sind.


    Zum Zwecke der Erkennung auf Updates enthält jeder Installer eine Funktion die die aktuell installierte Version einer App erkennen kann. Also kann LiveConfig auch erkennen ob der Anwender hier vielleicht von Hand bereits einen Bug-/Securityfix oder ein Update eingespielt hat.


    Anwendungen die einen internen Update Mechanismus haben (wie z.B. Wordpress) werden von uns nicht aktualisiert da hier der Hersteller ja schon eine entsprechende Lösung bereitstellt. Auch hier wird LiveConfig den Anwender darauf hinweisen dass seine App nicht mehr aktuell ist und ihm ggf. eine kleine Schritt für Schritt Anleitung bereitstellen wie er sie über das Hersteller Interface updaten kann.


    Das Update als solches wird dann je nach Anwendung anders ablaufen. Bei Roundcube und Mediawiki (und einigen anderen) ist bereits ein Update Abschnitt im Installer enthalten. Die Installer kann man sich unter

    Code
    /var/cache/liveconfig/installer/


    ankucken sobald die zugehörige App einmal installiert wurde.


    Bei Mediawiki läuft das Update so dass wir das neue Paket entpacken und die enthaltene update.php (die kommt übrigens vom Hersteller und ist der vorgeschlagene weg eine Mediawiki Instanz zu aktualisieren) aufrufen die kümmert sich dann darum die Datenbank auf den neuesten Stand zu bringen.
    Bei Roundcube entpacken wir das neue Paket lesen das Änderungs-SQL-File ein und führen alle SQLs aus die für das Update auf die neue Version gebraucht werden.


    Dadurch dass wir in jedem Installer den Updatepfad auf die aktuelle Version bereitstellen, können wir auch auf besondere Umstände bei einem Versionssprung oder einem größeren Update eingehen z.B. umformatieren von config Dateien oder ähnliches.


    Grundlage jeder Update Funktion ist für uns sie so zu gestalten dass sie der Updateprozedur vom Hersteller folgt (Stichwort: minimal invasiv)


    Ich hoffe mit diesen Ausführungen konnte ich etwas Licht ins Dunkel bringen.


    Viele Grüße aus dem (aktuell) sonnigen Erlangen
    Christoph Russow

  • Der Updateprozess für Apps wird sich aus unserer Sicht nur auf die Kernanwendung selbst beziehen (z.B. Joomla! oder Wordpress) und nicht die eventuell installierten Plugins. Herauszufinden welche Plugins installiert sind und für jedes verfügbare(!) Plugin eine Download URL und Installations/Update Anweisungen bereitzustellen ist einfach (unserer Meinung nach) nicht realisierbar.


    Es geht weniger darum das die Plugins aktualisiert werden sondern viel mehr um Plugins die mit der neueren Version der Basissoftware nicht kompatibel sind und dafür sorgen das die App nicht mehr funktioniert, oftmals mit für den Endbenutzer unerklärlichen Fehlern (gerne 500er). Wordpress und Joomla sind die besten der negativen Beispiele wo dies ständig vorkommt. Hint: Sitze im Support eines Anbieters und weiss wovon ich rede wenn es danach geht :P


    Anders als hier Befürchtet werden wir auch keinen Update Prozess automatisiert anstoßen (da kann unserer Meinung nach zu viel kaputt gehen wenn der Anwender nicht Bescheid weiss das seine App aktualisiert wurde und dann plötzlich einige Plugins nicht mehr funktionieren). LiveConfig wird im Webinterface darauf hinweisen dass ein Update für eine App bereitsteht. Der Anwender muss dann selbst tätig werden und auf "Update" klicken um das Update zu starten.


    Klingt besser wenn ausreichende Warnhinweis der möglichen Folgen enthalten sind ;)


    Anwendungen die einen internen Update Mechanismus haben (wie z.B. Wordpress) werden von uns nicht aktualisiert da hier der Hersteller ja schon eine entsprechende Lösung bereitstellt. Auch hier wird LiveConfig den Anwender darauf hinweisen dass seine App nicht mehr aktuell ist und ihm ggf. eine kleine Schritt für Schritt Anleitung bereitstellen wie er sie über das Hersteller Interface updaten kann.


    *thumbsup*

  • Hallo,


    schön, dass es zu diesem Punkt so detaillierte Infos gibt!


    Da ich einige Kunden habe, die Joomla einsetzten (ich selbst auch), kann ich für die Version 2.5.x sagen, dass es auch hier bereits im Admin-Bereich ein eigenes Update-Feature gibt, d.h. auch hier würde ein Hinweis wie bei Wordpress ausreichen.


    Ist dies auch schon für die Verson 1.6 angedacht?


    herzliche Grüße
    Matthias Knick

  • Also wenn ich das richtig verstehe müsste man bei Roundcube wenn man vorher die v0.9.2 hatte nun ein Update Button dort haben, da ja die 0.9.4 aktuell ist? Weil immer erst die Anwendung löschen und dann neuinstallieren wäre blöd, da ja sonst die ganzen Adressbücher etc der Emailuser weg wären...

  • Hallo Herr Keppler,


    Wir planen gerade die Möglichkeit das jeder (Liveconfig Admin) sein eigenes (auch mehrere) Repository pflegen kann und somit völlig frei entscheiden kann welche Apps er anbieten möchte. Zusätzlich dazu planen wir aber auch die vorgeschlagene Rechteverwaltung einzubauen somit kann der "Oberadmin" (der der den LiveConfig-Server verwaltet) entscheiden welche Apps er generell bereitstellen will und die Reseller können ihren Kunden wiederum daraus eine Auswahl bereitstellen.


    Wie sieht es denn mit diesem Feature aus?
    Auch wenn es deutlich wichtigere Features aus der RoadMap gibt, wäre es schön zu wissen, ob das irgendwann noch eingeplant wird.


    herzliche Grüße
    Matthias Knick

  • Also wenn ich das richtig verstehe müsste man bei Roundcube wenn man vorher die v0.9.2 hatte nun ein Update Button dort haben, da ja die 0.9.4 aktuell ist? Weil immer erst die Anwendung löschen und dann neuinstallieren wäre blöd, da ja sonst die ganzen Adressbücher etc der Emailuser weg wären...


    Nein, Sie müssen leider manuell aktualisieren anhand der Anleitung, die einem "frischen" Roundcube-Download beiligt.

  • Zusätzlich dazu planen wir aber auch die vorgeschlagene Rechteverwaltung einzubauen somit kann der "Oberadmin" (der der den LiveConfig-Server verwaltet) entscheiden welche Apps er generell bereitstellen will und die Reseller können ihren Kunden wiederum daraus eine Auswahl bereitstellen.


    Ist dies immer noch geplant? Dann könnte man es vielleicht in Redmine hinterlegen :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!