Posts by Marco

    Hallo,


    ich meine, etwas ähnliches schon mal erlebt zu haben. Dabei handelte es sich um einen Vertrag, der unter einem Resellervertrag erstellt wurde. Im Resellervertrag war dann selbst kein PHP ausgewählt.


    Ansonsten müsste man die Grundkonfiguration von LiveConfig kontrollieren, ob hier überhaupt PHP richtig eingebunden ist. Unter dem Adminlogin bei Serververwaltung - Web sollte bei PHP-Versionen zumindest eine Version gelistet sein. Alternativ auf der Kommandozeile "liveconfig --diag" ausführen und nachsehen, ob PHP Versionen erkannt werden.


    Ebenso kontrollieren sollte man unter Serververwaltung - Web die eingerichteten Module des Webservers. Evtl. ist hier ein benötigtes Modul gar nicht aktiv.

    Hallo,


    das Problem liegt an unterschiedlichen Ausgaben bei Aufruf von "getBinaryVersion(bin)".


    Debian:

    Code
    :~# /usr/bin/mariadb -V
    /usr/bin/mariadb  Ver 15.1 Distrib 10.11.4-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper


    MariaDB:

    Code
    :~# /usr/bin/mariadb -V
    /usr/bin/mariadb from 11.2.2-MariaDB, client 15.2 for debian-linux-gnu (x86_64) using  EditLine wrapper


    Da in der Funktion "getBinaryVersion(bin)" nach "Distrib" bzw. "Ver" geschaut wird, liefert die Ausgabe bei MariaDB keinen Treffer.



    Quick and Dirty Lösung:


    In der Datei mysql.lua in der Funktion "getBinaryVersion(bin)" das "Ver " entfernen. Dann sollte die Erkennung funktionieren.


    Sinnvoller wäre, wenn dieser Unterschied der Textausgabe von den Entwicklern sauberer eingepflegt wird.

    Hallo,


    der AppInstaller für ownCloud hat auf Debian 11 (Bullseye) einen Fehler. Beim Versuch der Einrichtung kommt am Ende immer Status "Fehler: failed execute installer (errorcode: 1)".


    Ursache ist eine fehlerhafte Erkennung der PHP Version in der Datei "/var/cache/liveconfig/installer/wai-owncloud-10.12.2-1.php". Dort ist ein Array enthalten, das Fundstellen für PHP vorgibt. Dieses Array wird Schritt für Schritt abgearbeitet, bei Fund einer vorgegebenen Version wird die Routine abgebrochen.


    Auf dem System ist Debian 11 (Bullseye) eingerichtet, welches PHP 7.4 von Haus aus mitbringt. Daher ist auf dem System unter "/opt" kein php-7.4 eingerichtet. Bei der Erkennung kommt dann das unter "/opt" eingerichtete php-7.3 zum Zuge, welches zu ownCloud nicht mehr kompatibel ist. Die unter "/usr/bin/php7.4" installierte PHP Version wird dabei gar nicht mehr berücksichtigt.


    Lösung: Da ownCloud nur mit PHP 7.4 lauffähig ist, sollten andere Versionen gar nicht erkannt werden.


    Code
      $phpSearch = array(
        '/opt/php-7.4/bin/php',
        '/usr/bin/php74',
        '/usr/bin/php7.4',
        '/usr/bin/php7',
        '/usr/bin/php',
      );

    Hallo an alle,


    besteht eigentlich die Möglichkeit, LiveConfig so zu konfigurieren, dass alle LiveConfig eigenen Mails über ein SMTP Konto versendet werden? Aktuell scheint LiveConfig diese Nachrichten ja nur direkt über eine interne Funktion zu versenden.


    Und zur Klarstellung. Es geht nicht um E-Mails von Kunden auf dem System. Sondern um LiveConfig eigenen Nachrichten, die bei Kennwort zurücksetzen oder Zugangsdaten anfallen.


    liveconfig.conf lässt ja nur Einstellungen im Bezug auf Datenbank oder HTTP/HTTPS zu, aber nicht für SMTP. Und gerade im Hinblick auf DKIM benötigt man ja die SMTP Unterstützung.

    SQL
    SELECT RRD_ARCHIVEID, RRD_SLOTID, COUNT(*)
    FROM RRD_TRAFFIC
    GROUP BY RRD_ARCHIVEID, RRD_SLOTID
    HAVING COUNT(*) > 1



    Die Ausgabe der Query ist leer.


    Ich hatte auch vor dem Foreneintrag ähnliches versucht, um doppelte Einträge zu finden. Aber war ebenso ergebnislos.



    SQL
    DELETE r1 FROM RRD_TRAFFIC r1
    JOIN RRD_TRAFFIC r2 ON (r1.RRD_ARCHIVEID = r2.RRD_ARCHIVEID AND r1.RRD_SLOTID=r2.RRD_SLOTID AND r1.RRD_TIMESTAMP < r2.RRD_TIMESTAMP);


    Rückgabe: Error: near "r1": syntax error

    Scheinbar gibt es auch unter SQLite manchmal Probleme mit dem Upgrade:


    Upgrading database schema...
    - /usr/sbin/liveconfig: Database driver loaded: SQLite (3.37.0)
    - /usr/sbin/liveconfig: Upgrading database schema (r214002 -> 2.14.0-3)
    - /usr/sbin/liveconfig: - migrating RRD_TRAFFIC
    - /usr/sbin/liveconfig: Database connection failed: UNIQUE constraint failed: RRD_TRAFFIC_new.RRD_ARCHIVEID, RRD_TRAFFIC_new.RRD_SLOTID
    dpkg: Fehler beim Bearbeiten des Paketes liveconfig (--configure):



    Die vorliegende Datenbank habe ich schon überprüft, ob es hier Dupletten gibt. Soweit ich das sagen kann, sind die Werte UNIQUE.


    Betraf auch nur einen von ca. 30 Servern, die aktualisiert wurden. Aber mit dem Problem lässt sich LiveConfig auch nicht mehr starten.

    Hallo,


    das ganze dient der Erweiterung des open_basedir.


    Ich hab hier Systeme, da wird ein externer Datenspeicher eingebunden, der über Symlinks angesprochen wird. Nur kann PHP nicht darauf zugreifen, weil der Pfad mittels Symlink nicht frei gegeben ist.


    Danke für die Antwort. Ich vermute, die web.lua wird dann bei Updates überschrieben?

    Hallo an die Allgemeinheit,


    vielleicht kann mir hier einer helfen. Ich suche eine Übersicht der Variablen, die in der php.ini gesetzt werden können.


    Bekannt sind mir
    %PHP% für die PHP Version
    %HOME% für den absoluten Pfad, z.B. /var/www/web1


    Gesucht wird speziell die Variable, die den Vertrag alleine kennzeichnet, als z.B. web321. %SUBSCRIPTION% ist es schon mal nicht :)


    In der Doku und im Forum hab ich mit meiner Suche nichts gefunden.

    Wäre es nicht ratsam, die von LC verwalteten Zertifikate unter z.B. /etc/liveconfig/certs abzulegen? Dann bleibt der /etc/ssl Ordner sauber und es kann nichts versehentlich gehasht werden.


    Betrifft aber nicht nur das genannte 8d33f237.0, sondern viele weitere Dateien.
    Aktuelles System bei mir:


    lrwxrwxrwx 1 root root 20 Sep 24 2018 364f1228.0 -> 78db1beb7a05e7ca.crt
    lrwxrwxrwx 1 root root 20 Sep 24 2018 4dad6171.0 -> 78db1beb7a05e7ca.crt
    lrwxrwxrwx 1 root root 23 Sep 24 2018 4a0a35c0.0 -> 1056ded49ebf7fb0-ca.crt
    lrwxrwxrwx 1 root root 23 Sep 24 2018 4f06f81d.0 -> 1056ded49ebf7fb0-ca.crt
    lrwxrwxrwx 1 root root 20 Sep 24 2018 6547a221.0 -> fbfa1a8a4bd536ca.crt
    lrwxrwxrwx 1 root root 20 Sep 24 2018 d426f497.0 -> fbfa1a8a4bd536ca.crt
    lrwxrwxrwx 1 root root 20 Sep 24 2018 7ab1dbe1.0 -> ea542ef395cb04ca.crt
    lrwxrwxrwx 1 root root 20 Sep 24 2018 b617eeea.0 -> ea542ef395cb04ca.crt



    Zusätzlich kann auch 8d33f237.0 und 8d33f237.1 usw. vorliegen.

    Nach Abgleich auf mehreren Systemen (die meisten aktueller Stand) konnten zwei Ursachen für das Problem festgestellt werden. Vielleicht kann KK auch etwas dazu sagen.


    1. ehemalige Zertifikate von mittlerweile gelöschten Kunden


    Hier wurden Zertifikate über LE beantragt, die zum damaligen Zeitpunkt auch gültig waren. Als Aussteller dieser Zertifikate ist noch X3 eingetragen, was zur damaligen Zeit auch gültig war. Das zugehörige Zwischenzertifikat ist aber nun abgelaufen und nicht mehr gültig. Beim Löschen der Kunden wurden die zugehörigen Zertifikate aber nicht gelöscht und blieben als "Karteileiche" unter "/etc/ssl/certs" liegen.



    2. aktive Kunden


    2.1. aktiver Kunde, aber Vertrag aktuell gesperrt


    Hier gilt das vorher geschriebene. Kunde hatte ein gültiges Zertifikat, welches X3 als Aussteller hat. Das zugehörige Zwischenzertifikat ist aber mittlerweile abgelaufen und wird in der Übersicht bei LiveConfig unter Details als abgelaufen ausgewiesen. Da durch die Sperre keine Verlängerung stattfindet, bleiben diese alten Zertifikate im System hängen.


    2.2 aktiver Kunde mit älteren Verträgen


    Hier wurden die Zertifikate zu einem Zeitpunkt beantragt, als das alte Zwischenzertifikat noch gültig und der neue Aussteller noch nicht aktiv war. Nach und nach wurden solche Zertifikate aktualisiert und das neue gültige Zwischenzertifikat abgelegt. Das alte Zwischenzertifikat verbleibt aber im System gespeichert.




    Ursache allen Übels ist (unter Debian) die Funktion von "update-ca-certificates". Diese wird bei einer Aktualisierung des Paketes "ca-certificates" ausgeführt und erstellt unter "/etc/ssl/certs" Verlinkungen zu Zertifikaten her. Die Verlinkung trägt dabei den Namen HASHWERT.0, wobei bei Zwischenzertifikaten das .0 als .1, .2 usw. fortgeführt wird, wenn ein Zwischenzertifikat aktualisiert wird (Beispielsweise von Aussteller X3 auf R3).


    Bei neueren Zertifikaten ist dies alles kein Problem, da "update-ca-certificates" diese ignoriert, da mehrere Blöcke bzw. auch DH-Parameter in den Zertifikatsdateien vorhanden sind. In den alten Zertifikaten ist jedoch nur ein Block enthalten, daher werden diese Dateien gehasht. Zusätzliches Problem ist die Fortführung der Zertifikatskette. Dies sorgt auch dafür, dass alte abgelaufene Zwischenzertifikate im System verankert bleiben.


    Wenn nun eine Funktion ein LE Zertifikat einer Gegenstelle verifizieren möchte, dann wird (unter Debian) in dem Ordner "/etc/ssl/certs" nach einem passenden Zwischenzertifikat gesucht. Existieren nun solche "Karteileichen" auf dem System, dann wird die Verifizierung gegen das abgelaufene Zertifikat vorgenommen und ein gültiges Zwischenzertifikat oder die Datei "ca-certificates.crt" wird ignoriert. Mit den bekannten Folgen, dass der Verbindungsaufbau dann abgelehnt wird.



    Mögliche Problemlösungen, ohne Wertung der Sinnhaftigkeit


    1. Skripte anpassen und die Verifizierung abstellen. Damit hebelt man die Sicherheit aus, die man eigentlich damit erreichen möchte. Und je nach Anzahl der betroffenen Seiten ein mühseliges Unterfangen.


    2. Anpassung der php.ini. Unter LiveConfig den Schlüssel "openssl.cafile" ergänzen, dort den Wert "/etc/ssl/certs/ca-certificates.crt" eintragen und dann die Anpassung für die Verträge übernehmen lassen. Der Wert überschreibt damit die Systemeinstellung und zumindest PHP Skripte funktionieren wieder. Hilft aber nicht bei anderen Skriptarten. Hinweis: Evtl. auch bei der systemeigenen PHP Version anpassen, damit dies auch auf der Shell oder als Cronjob funktioniert.


    3. Im Ordner "/etc/ssl/certs" nach diesen alten Verlinkungen suchen und diese dann entfernen. Löst das Problem zumindest bis zur nächsten Aktualisierung von "ca-certificates". Dauerhaft ist nur ein Aufräumen dieser "Karteileichen" und die Löschung der alten Zertifikate/Zwischenzertifikate, damit diese nicht neuverlinkt werden können. Ist jedoch auch mühselig, da man den Dateien selbst nicht ansieht, ob diese aktiv verwendet werden oder sinnlos rumliegen. Aber zumindest kann man den Inhalt mit "openssl x509 -noout -text -in ZERTIFIKAT.crt" überprüfen.



    Für bessere oder einfachere Vorschläge bin ich offen.

    Hallo,


    das Problem sind manche Zertifikate, die von LiveConfig angelegt werden.


    Mal in den Ordner "/etc/ssl/certs" wechseln und dort "ls -la | grep 'ca.crt' | grep '\->'" ausführen. Es sollten dann Verlinkungen sichtbar werden, die man löschen muss. Danach funktioniert das mit Let's Encrypt Zertifikaten wieder.


    Problem ist die Updateroutine von ca-certificates. Hier werden Hashwerte erstellt und zu den Zertifitkaten verlinkt. Wenn dabei ein Zwischenzertifikat von LE enthalten ist, dann wird die Validierung mit diesem vorgenommen und nicht gegen ca-certificates.crt. So weit für mich ersichtlich, handelt es sich dabei um ältere Dateien, da die Zeitstempel teilweise aus 2020 sind. Aber genaue Ursache suche ich noch selbst.

    Hallo,


    vorweg die Information, Lizenz ist Standard, nicht Basic.


    Habe nun schon längere Zeit keinen Wiederverkäufervertrag angelegt. Daher kann ich mich auch komplett irren. Aber aus der Erinnerung heraus habe ich bislang immer einen neuen Kunden angelegt, dann diesem einen neuen Vertrag zugewiesen und konnte dort auch "Wiederverkäufer-Vertrag" auswählen.


    Dieser Weg scheint so nicht mehr gültig zu sein. Bei Vertragserstellung habe ich nur einen Punkt zu Auswahl. Nämlich "Webhosting-Vertrag". Aufgefallen ist dies unter Version 2.11.3, nachvollziehbar ist es auch unter Version 2.9.3.



    Über einen Umweg ist das ganze dann doch möglich. Wenn zuvor ein Angebot (z.B. Reseller) erstellt wird und dort der Punkt Wiederverkäufer ausgewählt ist, dann kann bei der Erstellung des Kundenvertrags das Angebot "Reseller" auch ausgewählt werden. Vertragstyp bleibt zwar Webhosting-Vertrag, aber angelegt wird dieser doch als Wiederverkäufer.

    Ist wohl bislang noch nicht aufgefallen.


    Bei der Einrichtung von Roundcube über Anwendungen wird das aktuelle Paket roundcubemail-1.3.10-complete.tar.gz geladen und entpackt. Dieses landet dann in dem Ordner "./apps/<NAME>/roundcube-1.3.10".


    Der Installer aus dem Skript "/var/cache/liveconfig/installer/wai-roundcube-1.3.10-1.php" greift dann aber auf den Ordner "./apps/<NAME>/roundcube-1.3.9" zu, da diese Pfadangabe hardcoded im Skript steht (4 Fundstellen). Somit schlägt die Installation fehl.


    Änderung der Fundstellen in .10 hilft dann ungemein bei dem neuen Versuch der Installation.

    Ich weiss nicht, ob es nur mir so geht. Oder ob andere sich auch schon daran gestossen haben.


    Bei der Anzeige des DKIM-Schlüssel würde ich mir eine sinnvollere Darstellung wünschen. Vor allem die mit Leerzeichen und " eingerückten Zeilenumbrüche sind doch etwas nervig. Sinnvoller würde ich es erachten, wenn der Key in einer Zeile stehen würde. Dazu evtl. dann Zeilenumbrüche nach Funktion, z.B. Hostname, Type, TTL getrennt mit Zeilenumbruch.



    Zusätzlich noch ein Problem bei der API.


    Unter HostingSubscriptionAdd lässt sich unter SSL der Wert 0, 1 oder 2 auswählen. Je nachdem, ob SSL zugelassen ist oder nicht bzw. ob auch die Verwaltung zugelassen ist. Dummerweise ist dies bei HostingPlanAdd nicht möglich. Dort sind als Werte nur 0 oder 1 erlaubt. Ich kann im Plan jedoch nicht einstellen, ob der Kunde auch Zertifikate verwalten kann. Macht meiner Meinung nach an dieser Stelle aber Sinn, wenn man es schon in der Vorlage festlegen könnte.

    Die aktuell verwendete Version von LiveConfig ist 2.7.0-r5079.


    Die vorherige Version ist von 2.3 bis 2.5 unterschiedlich. Teilweise wurden auch Systeme von Wheezy über ein Dist-Upgrade auf Jessie aktualisiert. Aktualisierung meint apt-get update und apt-get upgrade bzw. dist-upgrade.