<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hallo,<div class=""><br class=""></div><div class="">das hatte ich alles gemacht nur nicht explizit gesagt (PHP-PM und Apache als Proxy war schon so konfiguriert, weil mit install.sh gemacht und composer update ebenfalls ausgeführt).</div><div class=""><br class=""></div><div class="">Nachdem ich die Services neu gestartet habe, konnte ich wieder Kanäle anlegen. Was es am Ende war, weiß ich leider auch nicht mehr.</div><div class=""><br class=""></div><div class="">Es bleibt nur der eher kosmetische Fehler: </div><div class=""><br class=""></div><div class=""><div class=""><b class=""><font color="#008cb4" style="font-size: 11px;" face="Menlo" class="">WebSocket connection to '<a href="wss://demo.vol" class="">wss://demo.vol</a><a href="http://kszaehler.org/ws'" class="">kszaehler.org/ws'</a> failed: There was a bad response from the server.</font></b></div></div><div class=""><br class=""></div><div class="">Das stört mich zunächst nicht und tritt bei allen meinen Installationen auf, sobald das Frontend aufgerufen wird (sind sämtlich mit image installiert). Das habe ich jetzt mal verglichen.</div><div class=""><br class=""></div><div class="">Vielen Dank!</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">Am 12.09.2023 um 11:59 schrieb Daniel Lauckner <<a href="mailto:vz@jahp.de" class="">vz@jahp.de</a>>:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hallo,<br class=""><br class=""><br class="">ich hatte Fragen gestellt und eine konkrete Handlungsempfehlung gegeben, mach das mal bitte.<br class="">Für mich sieht das von hier nämlich aus wie gestocher im Nebel.<br class=""><br class=""><br class="">Gruß, Daniel<br class=""><br class="">am Dienstag, 12. September 2023 um 11:49 hat applicationMGR ecoCuyo geschrieben:<br class=""><blockquote type="cite" class="">Leider weiterhin bleibt der Fehler wie oben zzgl. folgendem Fehler, egal ob url: '‘ oder url: ‚api', :<br class=""></blockquote><br class=""><blockquote type="cite" class="">WebSocket connection to '<a href="wss://demo.volkszaehler.org/ws" class="">wss://demo.volkszaehler.org/ws</a>' failed: There was a bad response from the server.<br class=""></blockquote><br class=""><blockquote type="cite" class="">Und dazu folgende Warnings:<br class=""></blockquote><br class=""><blockquote type="cite" class="">jQuery.Deferred exception: undefined is not an object (evaluating 'xhr.response.JSON') (2)<br class="">(anonyme Funktion) — wui.js:905<br class="">(anonyme Funktion) — functions.js:170<br class="">(anonyme Funktion) — functions.js:160<br class="">l — jquery-3.3.1.min.js:2:29381<br class="">(anonyme Funktion) — jquery-3.3.1.min.js:2:29679<br class="">undefined<br class=""></blockquote><br class=""><blockquote type="cite" class="">Das führt mich in /home/pi/<a href="http://volkszaehler.org/htdocs/js/functions.js" class="">volkszaehler.org/htdocs/js/functions.js</a> zu folgenden code snippets: <br class=""></blockquote><br class=""><blockquote type="cite" class=""> function (xhr) {<br class=""> return vz.load.errorHandler(xhr, skipDefaultErrorHandling);<br class=""> }<br class=""></blockquote><br class=""><blockquote type="cite" class="">und<br class=""></blockquote><br class=""><blockquote type="cite" class="">vz.load.errorHandler = function(xhr, skipDefaultErrorHandling) {<br class=""> if (!skipDefaultErrorHandling) {<br class=""> vz.wui.dialogs.middlewareException(xhr);<br class=""> }<br class=""> return xhr;<br class="">};<br class=""></blockquote><br class=""><blockquote type="cite" class="">In der jquery-3.3.1.min.js kann ich leider nicht suchen, weil ohne Zeilenumbrüche. <br class=""></blockquote><br class=""><blockquote type="cite" class="">Sagt das jemandem etwas, ist die jquery-3.3.1.min.js out of date?<br class=""></blockquote><br class=""><br class=""><br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">Am 12.09.2023 um 07:43 schrieb applicationMGR ecoCuyo <<a href="mailto:applicationMGR@ecoCuyo.de" class="">applicationMGR@ecoCuyo.de</a>>:<br class=""><br class="">Oups… habe übersehen, dass ich jetzt beides drin hab:<br class=""><br class=""><blockquote type="cite" class="">middleware: [<br class=""> {<br class=""> title: 'Local (default)',<br class=""> url: '',<br class=""> url: 'api',<br class=""> live: 8082 <br class=""></blockquote><br class=""><br class="">Das muss ich noch ändern.<br class=""><br class=""><br class=""><blockquote type="cite" class="">Am 12.09.2023 um 07:11 schrieb applicationMGR ecoCuyo <<a href="mailto:applicationMGR@ecocuyo.de" class="">applicationMGR@ecocuyo.de</a>>:<br class=""><br class=""><br class=""><br class="">Hallo Daniel et alii<br class=""><br class="">die /var/www/<a href="http://volkszaehler.org/htdocs//middleware.php" class="">volkszaehler.org/htdocs//middleware.php</a> hat folgenden Inhalt: <br class=""><br class="">namespace Volkszaehler;<br class=""><br class="">use Symfony\Component\HttpFoundation\Request;<br class=""><br class="">define('VZ_DIR', realpath(__DIR__ . '/..'));<br class=""><br class="">// default response if things go wrong<br class="">http_response_code(500);<br class=""><br class="">require VZ_DIR . '/lib/bootstrap.php';<br class=""><br class="">$router = new Router();<br class=""><br class="">// create Request from PHP global variables<br class="">$request = Request::createFromGlobals();<br class=""><br class="">// handle request<br class="">$response = $router->handle($request);<br class="">$response->send();<br class=""><br class="">für die /lib/bootstrap.php gibt es eine ganze Reihe von Kopien:<br class=""><br class=""># find / -name bootstrap.php -type f<br class="">/home/pi/<a href="http://volkszaehler.org/lib/bootstrap.php" class="">volkszaehler.org/lib/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-php81/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-php81/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-mbstring/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-mbstring/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-intl-grapheme/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-intl-grapheme/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-php73/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-php73/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-intl-normalizer/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-intl-normalizer/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-ctype/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-ctype/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-php80/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-php80/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/symfony/polyfill-php72/bootstrap.php" class="">volkszaehler.org/vendor/symfony/polyfill-php72/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/cboden/ratchet/tests/bootstrap.php" class="">volkszaehler.org/vendor/cboden/ratchet/tests/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/phpstan/phpstan/bootstrap.php" class="">volkszaehler.org/vendor/phpstan/phpstan/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/ringcentral/psr7/tests/bootstrap.php" class="">volkszaehler.org/vendor/ringcentral/psr7/tests/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/ratchet/rfc6455/tests/bootstrap.php" class="">volkszaehler.org/vendor/ratchet/rfc6455/tests/bootstrap.php</a><br class="">/home/pi/<a href="http://volkszaehler.org/vendor/webpatser/laravel-uuid/tests/bootstrap.php" class="">volkszaehler.org/vendor/webpatser/laravel-uuid/tests/bootstrap.php</a><br class="">/usr/share/php/phpseclib/bootstrap.php<br class=""><br class="">Ich denke jedoch die tatsächlich verwendetet liegt unter:<br class=""><br class="">/home/pi/<a href="http://volkszaehler.org/lib/bootstrap.php" class="">volkszaehler.org/lib/bootstrap.php</a><br class=""><br class="">Drin steht folgendes:<br class=""><br class="">use Volkszaehler\Util;<br class=""><br class="">function fail($msg) {<br class=""> // JSON request?<br class=""> if (preg_match('/\.json/', @$_SERVER['REQUEST_URI'])) {<br class=""> header('Content-type: application/json');<br class=""> echo json_encode([<br class=""> 'version' => VZ_VERSION,<br class=""> 'exception' => array(<br class=""> 'message' => $msg<br class=""> )<br class=""> ]);<br class=""> die();<br class=""> }<br class=""><br class=""> // normal request or command line<br class=""> throw new \Exception($msg);<br class="">}<br class=""><br class="">// enable strict error reporting<br class="">error_reporting(E_ALL | E_STRICT);<br class=""><br class="">// api version<br class="">define('VZ_VERSION', '0.3');<br class=""><br class="">// Note: users of bootstrap.php can set VZ_DIR before calling bootstrap<br class="">if (!defined('VZ_DIR')) {<br class=""> define('VZ_DIR', realpath(__DIR__ . '/..'));<br class="">}<br class=""><br class="">if (!file_exists(VZ_DIR . '/vendor/autoload.php')) {<br class=""> fail('Could not find autoloader. Check that dependencies have been installed via `composer install`.');<br class="">}<br class=""><br class="">if (!file_exists(VZ_DIR . '/etc/config.yaml')) {<br class=""> fail('Could not find config file. Check that etc/config.yaml exists.');<br class="">}<br class=""><br class="">require_once VZ_DIR . '/vendor/autoload.php';<br class=""><br class="">// load configuration<br class="">Util\Configuration::load(VZ_DIR . '/etc/config.yaml');<br class=""><br class="">// set timezone<br class="">$tz = (Util\Configuration::read('timezone')) ? Util\Configuration::read('timezone') : @date_default_timezone_get();<br class="">date_default_timezone_set($tz);<br class=""><br class="">// set locale<br class="">setlocale(LC_ALL, Util\Configuration::read('locale'));<br class=""><br class="">// force numeric output to C convention (issue #121)<br class="">setlocale(LC_NUMERIC, 'C');<br class=""><br class="">?><br class=""><br class="">Und nicht zuletzt ist ein Link wie folgt gesetzt:<br class=""><br class="">lrwxrwxrwx 1 root root 25 16. Apr 2022 /var/www/<a href="http://volkszaehler.org" class="">volkszaehler.org</a> -> /home/pi/<a href="http://volkszaehler.org" class="">volkszaehler.org</a><br class=""><br class=""><br class="">Das sieht erst mal unauffällig aus - was siehst Du darin ggf?<br class=""><br class="">Der einzige Abweichung konnte ich in ~/<a href="http://volkszaehler.org/htdocs/js/options.js" class="">volkszaehler.org/htdocs/js/options.js</a> finden - da war url:’’ auskommentiert. Das hab ich jetzt geändert.<br class=""><br class=""> middleware: [<br class=""> {<br class=""> title: 'Local (default)',<br class=""> url: '',<br class=""> url: 'api',<br class=""> live: 8082 <br class=""><br class="">Das hat nicht geholfen.<br class="">Freue mich über Tipps…<br class=""><br class="">Viele Grüße<br class="">Armin<br class=""><br class=""><blockquote type="cite" class="">Am 04.09.2023 um 15:09 schrieb Daniel Lauckner <<a href="mailto:vz@jahp.de" class="">vz@jahp.de</a>>:<br class=""><br class="">Hallo,<br class=""><br class=""><br class="">am Sonntag, 3. September 2023 um 12:28 hat applicationMGR ecoCuyo geschrieben:<br class=""><blockquote type="cite" class="">habe nach einem Datenbank Crash die Volkszähler DB mit purge entfernt und wieder neu installiert. Sowie die Middleware mit install.sh neu installiert.<br class=""></blockquote><br class="">Wie ist bei dir der Middleware bzw. der Webserver konfiguriert?<br class="">Letzte Empfehlung war PHP-PM und Apache als Proxy.<br class=""><br class=""><blockquote type="cite" class="">Im Safari-Debugger kommt der Fehler im Betreff oben und verweist auf http://<ip-des servers>/api/channel.json<br class="">Im code hängt das ganze dann hier fest:<br class=""></blockquote><br class="">Die Fehlermeldung sagt mir nix konkretes. Das spricht meist für einen Fehler beim Composer.<br class="">Mal bitte wieder holen und schauen was an möglichen Störungen auftritt:<br class=""><br class="">cd /var/www/<a href="http://volkszaehler.org/" class="">volkszaehler.org/</a><br class="">composer update<br class=""><br class=""><blockquote type="cite" class="">Die User Rechte sollten so stimmen, nehm ich an?<br class=""></blockquote><br class="">Ja, das passt.<br class="">Wenn du es zusätzlich ausschließen möchtest kannst du mal in ./ect/config.yaml bei 'user:' und 'password:' die Zugangsdaten vom vz_admin eintragen.<br class=""><br class=""><br class="">mfg Daniel<br class=""><br class=""></blockquote><br class=""></blockquote></blockquote></blockquote><br class=""><br class=""><br class=""><br class=""><br class=""><br class="">mfg Daniel<br class=""><br class=""></div></div></blockquote></div><br class=""></div></body></html>