software:middleware:installation
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| software:middleware:installation [2019/04/27 16:05] – nginx Proxy Konfig, systemd Folge unwichtig jau | software:middleware:installation [2024/05/03 12:52] (aktuell) – [Voraussetzungen] PHP-Version jau | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | |||
| ====== Installation der Middleware ====== | ====== Installation der Middleware ====== | ||
| Zeile 5: | Zeile 4: | ||
| ===== Voraussetzungen ===== | ===== Voraussetzungen ===== | ||
| - | * PHP 7.1 (nicht verfügbar in Raspbian Stretch!) | + | * PHP 7.4 (z.B. debian ab Buster (10)) |
| * Doctrine 2.5 | * Doctrine 2.5 | ||
| - | * MySQL, MariaDB, PostgreSQL oder SQLite | + | * MySQL, MariaDB + PDO Treiber |
| * APC (optional, aber empfohlen) | * APC (optional, aber empfohlen) | ||
| - | * nginx, | + | * Apache, nginx (optional) |
| - | Es eigenen | + | Es eignen |
| Die Abhängigkeiten lassen sich schnell mit folgendem Befehl installieren: | Die Abhängigkeiten lassen sich schnell mit folgendem Befehl installieren: | ||
| - | < | + | < |
| </ | </ | ||
| - | bzw. für PostgreSQL | ||
| - | < | ||
| Für die manuelle Installation wird zudem " | Für die manuelle Installation wird zudem " | ||
| - | < | ||
| ==== Vollautomatisiert mit Ansible und DebOps ==== | ==== Vollautomatisiert mit Ansible und DebOps ==== | ||
| Zeile 35: | Zeile 31: | ||
| Das sollte dann ablaufen: | Das sollte dann ablaufen: | ||
| + | [Bitte unbedingt ein Passwort für den vz-admin-User vergeben!] | ||
| < | < | ||
| Zeile 141: | 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... | ||
| ~/ | ~/ | ||
| Zeile 187: | Zeile 186: | ||
| [Unit] | [Unit] | ||
| Description=Volkszaehler.org Middleware | Description=Volkszaehler.org Middleware | ||
| - | After=syslog.target network.target | + | After=syslog.target network.target |
| Requires= | Requires= | ||
| Zeile 208: | Zeile 207: | ||
| - Systemd Service starten '' | - Systemd Service starten '' | ||
| - | ==== nginx als Proxy (empfohlene Methode) ==== | + | <note important> |
| + | ==== Apache | ||
| + | Dazu Apache auf die Weiterleitung zum PPM reduzieren. | ||
| + | - Module aktivieren< | ||
| + | sudo a2enmod proxy | ||
| + | sudo a2enmod proxy_http | ||
| + | sudo a2enmod rewrite</ | ||
| + | - Rewrite-Proxy aktivieren, '' | ||
| + | < | ||
| + | RewriteEngine On | ||
| + | RewriteRule ^middleware(.php)? | ||
| + | RewriteRule ^api(/.*)? http:// | ||
| + | RewriteRule (.*) http:// | ||
| + | </ | ||
| + | </ | ||
| + | - Default VirtualHost bearbeiten: '' | ||
| + | DocumentRoot / | ||
| + | </ | ||
| + | - Apache Config bearbeiten um Rewrite in .htaccess zu erlauben: '' | ||
| + | < | ||
| + | Options Indexes FollowSymLinks | ||
| + | AllowOverride None | ||
| + | Require all granted | ||
| + | </ | ||
| + | </ | ||
| + | - Dann den Apache nur noch neu starten '' | ||
| + | |||
| + | ==== Alternativ: nginx als Proxy ==== | ||
| Nginx ist ein schlanker Webserver/ | Nginx ist ein schlanker Webserver/ | ||
| Zeile 225: | Zeile 251: | ||
| listen 80; | listen 80; | ||
| listen [::]:80; | listen [::]:80; | ||
| + | server_name volkszaehler.org; | ||
| location / { | location / { | ||
| Zeile 245: | Zeile 272: | ||
| proxy_pass http:// | proxy_pass http:// | ||
| } | } | ||
| + | |||
| + | # Konfigurationsbeispiel für eigene PHP-Scripte, | ||
| + | # von nginx unter http:// | ||
| + | # | ||
| + | # location /addapp/ { | ||
| + | # alias / | ||
| + | # index index.nginx-debian.html; | ||
| + | # | ||
| + | # location ~ \.php { | ||
| + | # include snippets/ | ||
| + | # fastcgi_param SCRIPT_FILENAME $request_filename; | ||
| + | # fastcgi_pass unix:/ | ||
| + | # } | ||
| + | # } | ||
| } | } | ||
| </ | </ | ||
| + | < | ||
| + | |||
| + | Installieren mit '' | ||
| Damit der nginx die Config lädt: | Damit der nginx die Config lädt: | ||
| < | < | ||
| Zeile 256: | Zeile 300: | ||
| sudo systemctl enable nginx | sudo systemctl enable nginx | ||
| </ | </ | ||
| + | |||
| + | ==== Alternativ: Apache als Server (unter Debian " | ||
| + | < | ||
| + | * Pakete installieren '' | ||
| + | * mod_rewrite aktivieren: '' | ||
| + | * Default VirtualHost bearbeiten: '' | ||
| + | ' In der Datei, neben ''< | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | * Apache Config bearbeiten um Rewrite zu erlauben: '' | ||
| + | * In der Datei den Abschnitt suchen: | ||
| + | < | ||
| + | < | ||
| + | Options Indexes FollowSymLinks | ||
| + | AllowOverride None | ||
| + | Require all granted | ||
| + | </ | ||
| + | </ | ||
| + | * in '' | ||
| + | |||
| + | Nach dem editieren und abspeichern der Datei '' | ||
| + | |||
| + | Sollte es zu einem PHP Fehler beim Anlegen der Datenbank kommen versucht mal Doctrine per Hand zu Installieren. | ||
| ==== Alternativ: nginx als Server ==== | ==== Alternativ: nginx als Server ==== | ||
| + | < | ||
| < | < | ||
| server { | server { | ||
| Zeile 276: | Zeile 346: | ||
| # | # | ||
| # With php7-fpm: | # With php7-fpm: | ||
| - | fastcgi_pass unix:/ | + | fastcgi_pass unix:/ |
| } | } | ||
| } | } | ||
| </ | </ | ||
| + | < | ||
| Wichtig ist dass in der config in der Zeile " | Wichtig ist dass in der config in der Zeile " | ||
| - | ==== Alternativ: | + | ==== Alternativ: |
| - | * Pakete installieren '' | + | Notwendige Rewrite-Regeln: |
| - | * mod_rewrite aktivieren: '' | + | |
| - | * Default VirtualHost bearbeiten: '' | + | |
| - | ' In der Datei, neben ''< | + | |
| < | < | ||
| - | / | + | url.rewrite-if-not-file = ( |
| - | </ | + | |
| - | + | "^/frontend/(.*)" => "$1" | |
| - | * Apache Config bearbeiten um Rewrite zu erlauben: '' | + | ) |
| - | * In der Datei den Abschnitt suchen: | + | |
| - | < | + | |
| - | < | + | |
| - | | + | |
| - | AllowOverride None | + | |
| - | Require all granted | + | |
| - | </Directory> | + | |
| - | </ | + | |
| - | * in '' | + | |
| - | + | ||
| - | Nach dem editieren und abspeichern der Datei '' | + | |
| - | + | ||
| - | Sollte es zu einem PHP Fehler beim Anlegen der Datenbank kommen versucht mal Doctrine per Hand zu Installieren. | + | |
| - | + | ||
| - | ==== Alternativ: Apache als Proxy ==== | + | |
| - | Auch Apache kann auf die Weiterleitung zum PPM reduziert werden. | + | |
| - | < | + | |
| - | sudo a2enmod proxy_http | + | |
| - | nano ~/ | + | |
| - | Die Kommentarzeichen vor den Zeilen entfernen: | + | |
| - | < | + | |
| - | < | + | |
| - | RewriteEngine On | + | |
| - | RewriteRule ^middleware(.php)?(/ | + | |
| - | | + | |
| - | </ | + | |
| </ | </ | ||
| - | Dann den Apache nur noch neu starten | ||
| - | < | ||
| Zeile 370: | Zeile 410: | ||
| === Datenbank konfigurieren === | === Datenbank konfigurieren === | ||
| - | * Datenbank-User anlegen: | + | * Datenbank |
| + | < | ||
| + | mysql: | ||
| + | CREATE DATABASE `volkszaehler`; | ||
| + | |||
| + | oder phpmyadmin: | ||
| + | Home -> " | ||
| + | </ | ||
| + | * Datenbank-User anlegen: | ||
| < | < | ||
| - | phpmyadmin: | + | mysql: |
| + | GRANT ALL ON volkszaehler.* to ' | ||
| + | CREATE USER ' | ||
| + | GRANT USAGE ON volkszaehler.* TO ' | ||
| + | GRANT SELECT, UPDATE, INSERT ON volkszaehler.* TO ' | ||
| + | |||
| + | oder phpmyadmin: | ||
| + | Home -> " | ||
| + | Benutzername: | ||
| + | Host: localhost | ||
| + | Passwort: < | ||
| + | Vollzugriff (Grant All) auf DB volkszaehler erlauben. | ||
| + | -> ok | ||
| Home -> " | Home -> " | ||
| Benutzername: | Benutzername: | ||
| Zeile 380: | Zeile 440: | ||
| keine globalen Rechte vergeben! | keine globalen Rechte vergeben! | ||
| -> ok | -> ok | ||
| - | oder: | ||
| - | CREATE USER ' | ||
| - | </ | ||
| - | |||
| - | * Datenbank anlegen: | ||
| - | < | ||
| - | phpmyadmin | ||
| - | Home -> " | ||
| - | oder: | ||
| - | CREATE DATABASE `volkszaehler`; | ||
| </ | </ | ||
| - | | + | * Tabellen anlegen: |
| < | < | ||
| # cd / | # cd / | ||
| Zeile 439: | 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, | + | Wenn nur die '' |
| - | Eine Beschreibung findet sich im Kapitel zu [[/ | + | Nachdem Volkszähler im Zuge der Installation eine Kopie des git Repositories erstellt, kann die Installation aber auch aus diesem Repository aktualisiert werden. |
| ====== phpMyAdmin installieren ====== | ====== phpMyAdmin installieren ====== | ||
| + | < | ||
| <note important> | <note important> | ||
| MySQL-Superuser ist: '' | MySQL-Superuser ist: '' | ||
software/middleware/installation.1556373945.txt.gz · Zuletzt geändert: von jau