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/13 20:20] – Systemd Reihenfolge nginx-Proxy jausoftware:middleware:installation [2020/02/15 13:13] – [Voraussetzungen] tarts
Zeile 13: Zeile 13:
 Es eigenen sich hier Debian oder Ubuntu, sowie für den Raspberry Pi: Raspbian oder Raspbian Light.("Buster"-Version, oder "Stretch" mit PHP Update)\\ Es eigenen sich hier Debian oder Ubuntu, sowie für den Raspberry Pi: Raspbian oder Raspbian Light.("Buster"-Version, oder "Stretch" mit PHP Update)\\
 Die Abhängigkeiten lassen sich schnell mit folgendem Befehl installieren: Die Abhängigkeiten lassen sich schnell mit folgendem Befehl installieren:
-<code>sudo apt-get install git-core php-cli php-mysql php-apcu mysql-server mysql-client php-xml php-mbstring ca-certificates +<code>sudo apt-get install git-core php-cli php-mysql php-apcu mariadb-server mariadb-client php-xml php-mbstring ca-certificates 
 </code> </code>
 bzw. für PostgreSQL  bzw. für PostgreSQL 
Zeile 209: 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>
Zeile 224: 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 232: 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, vorhandene 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 /etc/nginx/sites-enabled/volkszaehler sudo ln -s /etc/nginx/sites-available/volkszaehler /etc/nginx/sites-enabled/volkszaehler
-</code> 
-Der Systemd für nginx muss angepasst werden damit siche rgestellt ist das der Proxa erst aktiv wird wenn PPM schon läuft. 
-<code> 
-sudo nano /lib/systemd/system/nginx.service 
-</code> 
-Im Abschnitt ''[Unit]'' neue Zeile einfügen: 
-<code> 
-Require=middleware.service 
 </code> </code>
 Dann nur noch Starten und in Bootprozess einbinden: Dann nur noch Starten und in Bootprozess einbinden:
Zeile 265: 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: ''url: 'api' ''.</note>
 <code> <code>
 server { server {
Zeile 283: Zeile 295:
         #       fastcgi_pass 127.0.0.1:9000;         #       fastcgi_pass 127.0.0.1:9000;
                 # With php7-fpm:                 # With php7-fpm:
-                fastcgi_pass unix:/var/run/php7-fpm.sock;+                fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
         }         }
 } }
 </code> </code>
 +<note>Darauf achten das in der nginx-Konfiguration bei ''/var/run/php/php7.3-fpm.sock'' auf die korrekte, vorhandene Datei verwiesen wird.</note>
  
 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]] 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") ====
-  * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php7.1''+<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: ''url: 'api' ''</note> 
 +  * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php7.3''
   * mod_rewrite aktivieren: ''sudo a2enmod rewrite''   * mod_rewrite aktivieren: ''sudo a2enmod rewrite''
   * Default VirtualHost bearbeiten: ''sudo nano /etc/apache2/sites-enabled/000-default.conf''   * Default VirtualHost bearbeiten: ''sudo nano /etc/apache2/sites-enabled/000-default.conf''
Zeile 452: Zeile 466:
  
 ====== 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