Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:middleware:installation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
software:middleware:installation [2019/04/09 14:02] – Version bei apt-get entfernt jausoftware:middleware:installation [2019/08/27 15:10] – [nginx] Zugriffpfad und Ablageort jau
Zeile 179: Zeile 179:
  
 ===== Webserver einrichten ===== ===== Webserver einrichten =====
 +Im Folgenden sind 3 mögliche Serverkonfigurationen beschrieben. Für Kompatibiltät mit alten Scripts und Konfigurationen empfehlen wir bei PPM zusätzlich einen Proxy einzurichten.
  
 ==== PPM als Server (empfohlene Methode) ==== ==== PPM als Server (empfohlene Methode) ====
-Der PPM-Webserver auf Basis von PHP läuft wesentlich Performanter als Apache2 und ist gerade auf schwacher Hardware wie RaspberryPi zu empfehlen.+Der PPM-Webserver auf Basis von PHP läuft wesentlich Performanter als Apache2 und ist gerade auf schwacher Hardware wie RaspberryPi zu empfehlen. In Standardkonfiguration bedient er Anfragen auf Port 8080.
  
   - Systemd Service einrichten ''sudo nano /etc/systemd/system/middleware.service''<code>   - Systemd Service einrichten ''sudo nano /etc/systemd/system/middleware.service''<code>
Zeile 208: Zeile 209:
  
 ==== nginx als Proxy (empfohlene Methode) ==== ==== nginx als Proxy (empfohlene Methode) ====
-Nginx ist ein schlanker Webserver/Proxy dessen Konfiguration sehr zentral erfolgt, was der Performance zu gute kommt. Er ist als Proxy für den Betrieb eines Volkszählers nicht zwingend nötig (PPM kann das gut alleine), bietet aber Abwärtkompatibilität für bestehende Scripte und Anwendungen.+Nginx ist ein schlanker Webserver/Proxy dessen Konfiguration sehr zentral erfolgt, was der Performance zu gute kommt. Er ist als Proxy für den Betrieb eines Volkszählers nicht zwingend nötig (PPM kann das gut alleine), bietet aber Abwärtskompatibilität für bestehende Scripte und Anwendungen.
  
 <code> <code>
 sudo apt install nginx sudo apt install nginx
 sudo rm /etc/nginx/sites-enabled/default sudo rm /etc/nginx/sites-enabled/default
-sudo nano /etc/nginx/sites-available/volkszaehler.conf+sudo nano /etc/nginx/sites-available/volkszaehler
 </code> </code>
 In diese wird eingefügt: In diese wird eingefügt:
 <code> <code>
-volkszaehler.conf+Volkszaehler
  
 include /etc/nginx/proxy_params; include /etc/nginx/proxy_params;
Zeile 223: Zeile 224:
 server { server {
   listen 80;   listen 80;
 +  listen [::]:80;
 +  server_name volkszaehler.org;
  
   location / {   location / {
-    proxy_pass http://localhost:8080;+    proxy_pass http://127.0.0.1:8080;
     include /etc/nginx/proxy_params;     include /etc/nginx/proxy_params;
   }   }
Zeile 231: Zeile 234:
   location /middleware {   location /middleware {
     rewrite ^/middleware(.php)?(/.*)? $2;     rewrite ^/middleware(.php)?(/.*)? $2;
-    proxy_pass http://localhost:8080/;+    proxy_pass http://127.0.0.1:8080/;
   }   }
  
   location /api {   location /api {
     rewrite ^/api(/.*)? $1;     rewrite ^/api(/.*)? $1;
-    proxy_pass http://localhost:8080/;+    proxy_pass http://127.0.0.1:8080/;
   }   }
  
   location /frontend {   location /frontend {
     rewrite ^/frontend/(.*) $1;     rewrite ^/frontend/(.*) $1;
-    proxy_pass http://localhost:8080/;+    proxy_pass http://127.0.0.1:8080/;
   }   }
 +
 +# Konfigurationsbeispiel für eigene PHP-Scripte,
 +# von nginx unter http://127.0.0.1/addapp/ bereitgestellt, lokal unter /var/www/html/ abgelegt.
 +#
 +#  location /addapp/ {
 +#    alias /var/www/html/;
 +#    index index.nginx-debian.html;
 +#      
 +#    location ~ \.php {
 +#      include snippets/fastcgi-php.conf;
 +#      fastcgi_param SCRIPT_FILENAME $request_filename;
 +#      fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
 +#    }
 +#  }
 } }
 </code> </code>
 +<note>Möchte man eigene PHP-Scripte neben Volkszähler bereit stellen ist das das Paket php-fpm nötig.
 +
 +Installieren mit ''sudo apt-get install php-fpm'' und darauf achten das in der nginx-Konfiguration bei ''/var/run/php/php7.3-fpm.sock'' auf die korrekte Datei verwiesen wird.</note>
 Damit der nginx die Config lädt: Damit der nginx die Config lädt:
 <code> <code>
-sudo ln -s /etc/nginx/sites-available/volkszaehler.conf /etc/nginx/sites-enabled/volkszaehler+sudo ln -s /etc/nginx/sites-available/volkszaehler /etc/nginx/sites-enabled/volkszaehler
 </code> </code>
-Dann nur noch bei Starten und in Bootprozess einbinden:+Dann nur noch Starten und in Bootprozess einbinden:
 <code> <code>
 sudo systemctl start nginx sudo systemctl start nginx
Zeile 256: Zeile 276:
  
 ==== Alternativ: nginx als Server ==== ==== Alternativ: nginx als Server ====
 +<note>Möchte man von PPM auf nginx als Server umstellen sind auch die Änderungen an der Middleware-Konfiguration für PPM zurück zu nehmen.</note>
 <code> <code>
 server { server {
Zeile 279: Zeile 300:
 </code> </code>
  
-Wichtig ist dass in der config in der Zeile "location ~ \.php {" kein $-Zeichen hinter dem PHP steht. Siehe [[http://volkszaehler.org/pipermail/volkszaehler-dev/2011-June/000925.html|Mail Archiv]]+Wichtig ist dass in der config in der Zeile "location ~ \.php {" kein $-Zeichen hinter dem PHP steht. Siehe [[https://lists.volkszaehler.org/pipermail/volkszaehler-dev/2011-June/000925.html|Mail Archiv]]
  
 ==== Alternativ: Apache als Server (unter Debian "Stretch") ==== ==== Alternativ: Apache als Server (unter Debian "Stretch") ====
 +<note>Möchte man von PPM auf Apache als Server umstellen sind auch die Änderungen an der Middleware-Konfiguration für PPM zurück zu nehmen.</note>
   * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php7.1''   * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php7.1''
   * mod_rewrite aktivieren: ''sudo a2enmod rewrite''   * mod_rewrite aktivieren: ''sudo a2enmod rewrite''
Zeile 443: Zeile 465:
  
 ====== phpMyAdmin installieren ====== ====== phpMyAdmin installieren ======
 +<note>Statt phpMyAdmin empfehlen wir derzeit einen lokalen Client wie z.B. [[https://www.heidisql.com|HeidiSQL]]</note>
 <note important>Für Vollzugriff auf die Volkszählerdatenbank über phpMyAdmin haben wir den User ''vz-admin''. Standardpasswort: ''secure''</note> <note important>Für Vollzugriff auf die Volkszählerdatenbank über phpMyAdmin haben wir den User ''vz-admin''. Standardpasswort: ''secure''</note>
 MySQL-Superuser ist: ''root'' und das Standardpasswort: ''raspberry''\\ MySQL-Superuser ist: ''root'' und das Standardpasswort: ''raspberry''\\
software/middleware/installation.txt · Zuletzt geändert: 2023/03/27 21:14 von joha