Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:installation_auf_webhoster

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
howto:installation_auf_webhoster [2020/03/09 17:29]
jau angelegt
howto:installation_auf_webhoster [2020/03/10 11:22] (aktuell)
jau Warnung, FPM, vzlogger, Aggregation
Zeile 4: Zeile 4:
 Nicht jeder hat vielleicht einen eigenen 24/7 Server für den Volkszähler zu Verfügung oder es nervt die Performance eines low-cost LAMP Ansatzes (z.B. auf RaspberryPi). Wer bei einer Monatsanzeige schon mal gefühlte Stunden gewartet hat, sehnt sich nach mehr Leistung. Ein Lösungsansatz kann eine Webhoster Implementierung sein. Für einen erträglichen Monatsbetrag (geht so ab 1,​99€/​Monat los) bekommt man eine eigene Domain und ein paar GigaByte Webspace. ​ Nicht jeder hat vielleicht einen eigenen 24/7 Server für den Volkszähler zu Verfügung oder es nervt die Performance eines low-cost LAMP Ansatzes (z.B. auf RaspberryPi). Wer bei einer Monatsanzeige schon mal gefühlte Stunden gewartet hat, sehnt sich nach mehr Leistung. Ein Lösungsansatz kann eine Webhoster Implementierung sein. Für einen erträglichen Monatsbetrag (geht so ab 1,​99€/​Monat los) bekommt man eine eigene Domain und ein paar GigaByte Webspace. ​
 Diese preiswerten Angebote bieten allerdings keinen root-Zugang und somit ist die Einrichtung des Volkszählers nicht über den Standardweg zu erledigen. Dafür bekommt man hübsche Webfrontends und fertige Tools über die man die Einrichtung vornehmen kann. Diese preiswerten Angebote bieten allerdings keinen root-Zugang und somit ist die Einrichtung des Volkszählers nicht über den Standardweg zu erledigen. Dafür bekommt man hübsche Webfrontends und fertige Tools über die man die Einrichtung vornehmen kann.
 +
 +<note important>​Das ganze hat aber auch Nachteile: Es gibt eine Menge verschiedener Hoster mit diversen Konfigurationen. Sollte es Probleme geben setzt das einiges an Erfahrung voraus und unsere Möglichkeiten zu unterstützen sind da sehr eingeschränkt. Der Support des Hosters ist in der Preisklasse auch keine große Hilfe weil die sich nur um die Bereitstellung kümmern, wenn es an der Anwendung klemmt ist der Kunde Zuständig.</​note>​
  
 ===== Voraussetzungen ===== ===== Voraussetzungen =====
Zeile 11: Zeile 13:
  
 Für unsere Installation auf dem Webhoster gelten die gleichen Bedingungen für den VZ wie für jeden anderen Server. Auf die folgenden Punkte sollte man bei der Auswahl des Hosters achten: Für unsere Installation auf dem Webhoster gelten die gleichen Bedingungen für den VZ wie für jeden anderen Server. Auf die folgenden Punkte sollte man bei der Auswahl des Hosters achten:
-  * PHP (auf die passende [[software/​middleware/​installation#​voraussetzungen|Version]] achten!, die PHP Version kann zum Glück bei einigen Webhoster frei ausgewählt werden)+  * PHP (auf die passende [[software/​middleware/​installation#​voraussetzungen|Version]] ​und FPM (FastCGI Process Manager) ​achten!, die PHP Version kann zum Glück bei einigen Webhoster frei ausgewählt werden)
   * MySQL (mindestens eine Datenbank muss erlaubt sein)   * MySQL (mindestens eine Datenbank muss erlaubt sein)
   * PHP Skript Memory Limit min. 512M (sonst gibt es bei composer Probleme)   * PHP Skript Memory Limit min. 512M (sonst gibt es bei composer Probleme)
Zeile 93: Zeile 95:
 </​code>​ </​code>​
 Schlägt der Schritt fehl liegt ein Fehler in der zuvor erstellten Konfigurationsdatei vor. Schlägt der Schritt fehl liegt ein Fehler in der zuvor erstellten Konfigurationsdatei vor.
 +
 +An der Stelle können wir auch direkt die Tabllen für die Aggregation anlegen lassen
 +<code bash>
 +php /​volkszaehler/​bin/​aggregate run -m full -l day -l hour -l minute
 +</​code>​
  
 ===== Stammverzeichnis ===== ===== Stammverzeichnis =====
Zeile 98: Zeile 105:
 {{:​howto:​webhoster1_a_stamm.jpg?​direct|}}\\ {{:​howto:​webhoster1_a_stamm.jpg?​direct|}}\\
 Das Frontend sollte nun zur Verfügung stehen und neue Kanäle anlegbar sein, bzw. alte Kanäle sollten abonniert werden können. Das Frontend sollte nun zur Verfügung stehen und neue Kanäle anlegbar sein, bzw. alte Kanäle sollten abonniert werden können.
 +
 +===== vzlogger =====
 +Jetzt folgt die Anpassung (bzw. Erstellung) der '​vzlogger.conf'​ auf dem System, das die Daten senden soll.
 +
 +Falls der ''​vzlogger''​ schon brav seinen Dienst verrichtet, braucht man lediglich in der Konfigdatei
 +<​code>"​middleware":​ "​http://​localhost/​middleware.php",</​code>​
 +den Middlewarepfad auf ''<​nowiki>​http://​volkszaehler.domain.tld/​middleware.php</​nowiki>''​ anpassen, den Prozess per ''​systemd''​ stoppen und neu starten.
 +
 +===== Aggregation =====
 +Auch wenn beim Hoster die erforderliche Leistung bei Anfragen über große Zeiträume kein Problem darstellt ist es dennoch nciht verkehrt die Aggregation der Middleware einzurichten.\\
 +{{:​howto:​webhoster1_d_geplanteaufgaben.jpg?​direct|}}\\
 +Die Anzahl der "​cronjobs"​ ist bei Webhostern oft eingeschränkt. Man kann aber Problemlos alle 3 Aggregationsstufen in einen Aufruf packen.
 +{{:​howto:​webhoster1_e_aggregation.jpg?​direct|}}\\
 +Benachrichtung (Email) bei Fehler ist ratsam, sonst versickern Störungen unbemerkt im Logfile.
  
 ===== Fehlersuche ===== ===== Fehlersuche =====
Zeile 103: Zeile 124:
   - An die URL das Unterverzeichnis ''/​frontend/''​ anhängen. z.B. [[http://​demo.volkszaehler.org/​frontend/​]] Wird diese URL nicht aufgelöst liegt ein Problem beim Redirect vor.   - An die URL das Unterverzeichnis ''/​frontend/''​ anhängen. z.B. [[http://​demo.volkszaehler.org/​frontend/​]] Wird diese URL nicht aufgelöst liegt ein Problem beim Redirect vor.
   - Die Middleware ohne Einfluss des Frontends kann man über direkten Aufruf eines Kanal prüfen: z.B. [[http://​demo.volkszahler.org/​api/​data/​7d3aa8c0-9e87-11e6-878f-b724ca3bd16b.json]]   - Die Middleware ohne Einfluss des Frontends kann man über direkten Aufruf eines Kanal prüfen: z.B. [[http://​demo.volkszahler.org/​api/​data/​7d3aa8c0-9e87-11e6-878f-b724ca3bd16b.json]]
-  - Ob die Middleware auf die Datenbank zugreifen kann prüft man mit einem Aufruf wie z.B. [[http://​demo.volkszaehler.org/​middleware.php/​capabilities/​database.json?​]]. Sehr wahrscheinlich ist die Konfiguration der Middleware falsch.\\ Genauere ​Diagnose erhält man indem man die PHP-Fehlerausgabe über den http aktiviert und die Datenbank mit einem kurzen Skript direkt anspricht:+  - Ob die Middleware auf die Datenbank zugreifen kann prüft man mit einem Aufruf wie z.B. [[http://​demo.volkszaehler.org/​middleware.php/​capabilities/​database.json?​]]. Sehr wahrscheinlich ist die Konfiguration der Middleware falsch. 
 +  - Zielführendere ​Diagnose erhält man wenn man die PHP-Fehlerausgabe über den http aktiviert und die Datenbank mit einem kurzen Skript direkt anspricht:
 <code php> <code php>
 <?php <?php
howto/installation_auf_webhoster.txt · Zuletzt geändert: 2020/03/10 11:22 von jau