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 [2021/02/10 14:03] – systemd: middleware nach mysql jausoftware:middleware:installation [2021/02/14 18:54] – [Alternativ: Apache als Server (unter Debian "Stretch")] justinotherguy
Zeile 7: Zeile 7:
   * PHP 7.1 (nicht verfügbar in Raspbian Stretch!)   * PHP 7.1 (nicht verfügbar in Raspbian Stretch!)
   * Doctrine 2.5   * Doctrine 2.5
-  * MySQL, MariaDB, PostgreSQL oder SQLite + PDO Treiber+  * MySQL, MariaDB + PDO Treiber
   * APC (optional, aber empfohlen)   * APC (optional, aber empfohlen)
-  * nginx, Apache (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 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 mariadb-server mariadb-client php-xml php-mbstring ca-certificates zip unzip php-zip+<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> </code>
-bzw. für PostgreSQL  
-<code>sudo apt-get install git-core php-cli php-pgsql php-apcu postgresql-8.4</code> 
  
 Für die manuelle Installation wird zudem "curl" benötigt. Für die manuelle Installation wird zudem "curl" benötigt.
-<note>Wie man unter Raspian/Debian auf einer neuere PHP-Version >=7.1 kommt ist unter [[/howto/building_raspberry_pi_image_for_vz]] beschrieben. Nur für erfahrene User!</note> 
  
 ==== Vollautomatisiert mit Ansible und DebOps ==== ==== Vollautomatisiert mit Ansible und DebOps ====
Zeile 208: Zeile 205:
   - Systemd Service starten ''sudo systemctl start middleware''   - Systemd Service starten ''sudo systemctl start middleware''
  
-==== nginx als Proxy (empfohlene Methode) ====+==== Apache als Proxy (empfohlene Methode) ==== 
 +Dazu Apache auf die Weiterleitung zum PPM reduzieren. 
 +  - Module aktivieren<code> 
 +sudo a2enmod proxy 
 +sudo a2enmod proxy_http 
 +sudo a2enmod rewrite</code> 
 +  - Rewrite-Proxy aktivieren, ''nano ~/volkszaehler.org/htdocs/.htaccess''. Die Kommentarzeichen vor den Zeilen entfernen:<code> 
 +<IfModule mod_proxy.c> 
 +        RewriteEngine On 
 +        RewriteRule ^middleware(.php)?(/.*)? http://localhost:8080/$2 [P] 
 +        RewriteRule ^api(/.*)$ http://localhost:8080/$1 [P] 
 +        RewriteRule (.*) http://localhost:8080/$1 [P] 
 +</IfModule> 
 +</code> 
 +  - Default VirtualHost bearbeiten: ''sudo nano /etc/apache2/sites-enabled/000-default.conf''. Dort ''< DocumentRoot >'' suchen und ändern: <code> 
 +        DocumentRoot /var/www/volkszaehler.org/htdocs/ 
 +</code> 
 +  - Apache Config bearbeiten um Rewrite in .htaccess zu erlauben: ''sudo nano /etc/apache2/apache2.conf'' In der Datei den Abschnitt suchen: <code> 
 +<Directory /var/www/> 
 +        Options Indexes FollowSymLinks 
 +        AllowOverride None 
 +        Require all granted 
 +</Directory> 
 +</code>''AllowOverride None'' in ''AllowOverride All AuthConfig'' ändern.\\ 
 +  - Dann den Apache nur noch neu starten ''sudo systemctl restart apache2'' 
 + 
 +==== Alternativ: nginx als Proxy ====
 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. 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.
  
Zeile 274: Zeile 297:
 sudo systemctl enable nginx sudo systemctl enable nginx
 </code> </code>
 +
 +==== 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>
 +  * Pakete installieren ''sudo apt-get install apache2 libapache2-mod-php''
 +  * mod_rewrite aktivieren: ''sudo a2enmod rewrite''
 +  * Default VirtualHost bearbeiten: ''sudo nano /etc/apache2/sites-enabled/000-default.conf''
 +  ' In der Datei, neben ''< DocumentRoot >'' eintragen:
 +<code>
 + /var/www/volkszaehler.org/htdocs/
 +</code>
 +
 +  * Apache Config bearbeiten um Rewrite zu erlauben: ''sudo nano /etc/apache2/apache2.conf''
 +  * In der Datei den Abschnitt suchen:
 +<code>
 +<Directory /var/www/>
 +        Options Indexes FollowSymLinks
 +        AllowOverride None
 +        Require all granted
 +</Directory>
 +</code>
 +   * in ''AllowOverride All AuthConfig'' ändern.
 +
 +Nach dem editieren und abspeichern der Datei ''sudo systemctl restart apache2'' ausführen.
 +
 +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 ====
Zeile 302: Zeile 350:
  
 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") ==== 
-<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'' 
-  * Default VirtualHost bearbeiten: ''sudo nano /etc/apache2/sites-enabled/000-default.conf'' 
-  ' In der Datei, neben ''< DocumentRoot >'' eintragen: 
-<code> 
- /var/www/volkszaehler.org/htdocs/ 
-</code> 
- 
-  * Apache Config bearbeiten um Rewrite zu erlauben: ''sudo nano /etc/apache2/apache2.conf'' 
-  * In der Datei den Abschnitt suchen: 
-<code> 
-<Directory /var/www/> 
-        Options Indexes FollowSymLinks 
-        AllowOverride None 
-        Require all granted 
-</Directory> 
-</code> 
-   * in ''AllowOverride All AuthConfig'' ändern. 
- 
-Nach dem editieren und abspeichern der Datei ''sudo systemctl restart apache2'' ausführen. 
- 
-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. 
-<code>sudo a2enmod proxy 
-sudo a2enmod proxy_http 
-nano ~/volkszaehler.org/htdocs/.htaccess</code> 
-Die Kommentarzeichen vor den Zeilen entfernen: 
-<code> 
-<IfModule mod_proxy.c> 
-        RewriteEngine On 
-        RewriteRule ^middleware(.php)?(/.*)? http://localhost:8080/$2 [P] 
-        RewriteRule ^api(/.*)$ http://localhost:8080/$1 [P] 
-</IfModule> 
-</code> 
-Dann den Apache nur noch neu starten 
-<code>sudo systemctl restart apache2</code> 
  
  
software/middleware/installation.txt · Zuletzt geändert: 2024/05/03 12:52 von jau