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
software:middleware:installation [2021/02/14 13:04] – [Voraussetzungen] justinotherguysoftware:middleware:installation [2023/03/27 21:14] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
- 
 ====== Installation der Middleware ====== ====== Installation der Middleware ======
  
Zeile 5: Zeile 4:
  
 ===== Voraussetzungen ===== ===== Voraussetzungen =====
-  * PHP 7.(nicht verfügbar in Raspbian Stretch!)+  * PHP 7.(z.B. debian ab Buster (10))
   * Doctrine 2.5   * Doctrine 2.5
   * MySQL, MariaDB + PDO Treiber   * MySQL, MariaDB + PDO Treiber
Zeile 11: Zeile 10:
   * Apache, nginx (optional)   * Apache, nginx (optional)
  
-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 eignen sich hier Debian oder Ubuntu, sowie für den Raspberry Pi: Raspbian oder Raspbian Light.("Bullseye"-Version mit PHP 7.4)\\
 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 mariadb-server mariadb-client php-xml php-mbstring php-opcache php-common ca-certificates zip unzip php-zip apt-transport-https+<code>sudo apt-get install git php-cli php-mysql php-apcu mariadb-server mariadb-client php-xml php-mbstring php7.4-opcache php-common ca-certificates zip unzip php-zip apt-transport-https php-curl apache2
 </code> </code>
  
Zeile 32: Zeile 31:
  
 Das sollte dann ablaufen: Das sollte dann ablaufen:
 +[Bitte unbedingt ein Passwort für den vz-admin-User vergeben!]
  
 <code> <code>
Zeile 138: Zeile 138:
 create volkszaehler.org database and admin user? [y] create volkszaehler.org database and admin user? [y]
 creating database volkszaehler... creating database volkszaehler...
 +Enter password: {root password (raspberry)}
 creating db user vz-admin... creating db user vz-admin...
 +Enter password: {root password (raspberry)}
 creating database schema... creating database schema...
 ~/volkszaehler.org ~ ~/volkszaehler.org ~
Zeile 205: Zeile 207:
   - Systemd Service starten ''sudo systemctl start middleware''   - Systemd Service starten ''sudo systemctl start middleware''
  
 +<note important>Wird kein Proxy installiert, wie in den nächsten Sektionen empfohlen, gibt es den Pfad http://localhost/middleware.php nicht, der in vielen Beispielkonfigurationen auf dieser Webseite verwendet wird! Stattdessen muss http://localhost/ verwendet werden.</note> 
 ==== Apache als Proxy (empfohlene Methode) ==== ==== Apache als Proxy (empfohlene Methode) ====
 Dazu Apache auf die Weiterleitung zum PPM reduzieren. Dazu Apache auf die Weiterleitung zum PPM reduzieren.
Zeile 211: Zeile 214:
 sudo a2enmod proxy_http sudo a2enmod proxy_http
 sudo a2enmod rewrite</code> sudo a2enmod rewrite</code>
-  - Rewrite-Proxy aktivieren, ''nano ~/volkszaehler.org/htdocs/.htaccess''. Die Kommentarzeichen vor den Zeilen entfernen:<code>+  - Rewrite-Proxy aktivieren, ''nano ~/volkszaehler.org/htdocs/.htaccess''. Die Kommentarzeichen vor den Zeilen entfernen und Zeile 16 hinzufügen:<code>
 <IfModule mod_proxy.c> <IfModule mod_proxy.c>
-        RewriteEngine On + RewriteEngine On 
-        RewriteRule ^middleware(.php)?(/.*)? http://localhost:8080/$2 [P] + RewriteRule ^middleware(.php)?(/.*)? http://localhost:8080$2 [P] 
-        RewriteRule ^api(/.*)http://localhost:8080/$1 [P]+ RewriteRule ^api(/.*)http://localhost:8080$1 [P]
         RewriteRule (.*) http://localhost:8080/$1 [P]         RewriteRule (.*) http://localhost:8080/$1 [P]
 </IfModule> </IfModule>
Zeile 300: Zeile 303:
 ==== 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: ''url: 'api' ''</note> <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''+  * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php''
   * 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 350: Zeile 353:
  
 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: Lighttpd als Server ====
 +Notwendige Rewrite-Regeln:
 +<code>
 +    url.rewrite-if-not-file = (
 +        "^/(?:middleware|api)(/.*)?" => "/middleware.php$1",
 + "^/frontend/(.*)" => "$1"
 +    )
 +</code>
  
  
Zeile 398: Zeile 410:
  
 === Datenbank konfigurieren === === Datenbank konfigurieren ===
-  * Datenbank-User anlegen:+  * Datenbank anlegen: 
 +<code> 
 +mysql: 
 +    CREATE DATABASE `volkszaehler`; 
 +     
 +oder phpmyadmin: 
 +    Home -> "Datenbank anlegen", Name"volkszaehler" -> "Anlegen"  ​ 
 +</code>
  
 +  * Datenbank-User anlegen:
 <code> <code>
-phpmyadmin:+mysql: 
 +    GRANT ALL ON volkszaehler.* to 'vz_admin'@'localhost' IDENTIFIED BY '<shhhh!>' WITH GRANT OPTION; 
 +    CREATE USER 'vz'@'localhost' IDENTIFIED BY '<shhhh!>'; 
 +    GRANT USAGE ON volkszaehler.* TO 'vz'@'localhost'; 
 +    GRANT SELECT, UPDATE, INSERT ON volkszaehler.* TO 'vz'@'localhost'; 
 +         
 +oder phpmyadmin: 
 +    Home -> "Rechte" -> "Neuen Benutzer hinzufügen" 
 +        Benutzername: vz_admin 
 +        Host: localhost 
 +        Passwort: <shhh!> 
 +        Vollzugriff (Grant All) auf DB volkszaehler erlauben. 
 +        -> ok
     Home -> "Rechte" -> "Neuen Benutzer hinzufügen"     Home -> "Rechte" -> "Neuen Benutzer hinzufügen"
         Benutzername: vz         Benutzername: vz
Zeile 408: Zeile 440:
         keine globalen Rechte vergeben!         keine globalen Rechte vergeben!
         -> ok         -> ok
-oder: 
-    CREATE USER 'vz'@'localhost' IDENTIFIED BY '<shhhh!>'; 
-</code> 
- 
-  * Datenbank anlegen: 
-<code> 
-phpmyadmin 
-    Home -> "Datenbank anlegen", Name: "volkszaehler" -> "Anlegen" 
-oder: 
-    CREATE DATABASE `volkszaehler`; 
 </code> </code>
  
-  * Tabellen anlegen:+ * Tabellen anlegen:
 <code> <code>
 # cd /var/www/volkszaehler.org/ # cd /var/www/volkszaehler.org/
Zeile 467: Zeile 489:
 ====== Aktualisierung der Middleware einschließlich des Frontends ====== ====== Aktualisierung der Middleware einschließlich des Frontends ======
  
-Nachdem Volkszähler im Zuge der Installation eine Kopie des git Repositories erstellt, kann die Installation auch aus diesem Repository aktualisiert werden.+Wenn nur die ''./etc/config.yaml'' angepasst kann wieder das [[software:middleware:installation#install-skript_empfohlene_methode|Installationsskript]] von oben verwendet werden. Da die Datenbank vermutlich nicht angetastet werden soll, die entsprechenden Fragen einfach verneinen.
  
-Eine Beschreibung findet sich im Kapitel zu [[/howto/git]].+Nachdem Volkszähler im Zuge der Installation eine Kopie des git Repositories erstellt, kann die Installation aber auch aus diesem Repository aktualisiert werden. Eine Beschreibung findet sich im Kapitel zu [[/howto/git]]. Beim Image ist dies der notwendige Weg weil da auch andere Dateien editiert wurden.
  
  
software/middleware/installation.1613304288.txt.gz · Zuletzt geändert: 2021/02/14 13:04 von justinotherguy