Webserver-Setup

Hilfe-Artikel für das generelle Setup eines Servers vor der Installation der eCommerce Suite. Hier sind nur die notwendigen Einstellungen beschrieben, damit die eCommerce Suite und eCMS funktionieren und NICHT, wie ein grundsätzlich sicherer Server installiert und konfiguriert werden muss!

Apache Webserver

Version

Empfohlen wird eine aktuelle Version 2.x .

 

Module

Im Apache sollten folgende Module aktiviert sein:

  • "rewrite"
  • "expires"

 

Konfiguration

Üblicherweise sind diese Einstellungen in der Konfigurationsdatei httpd.conf vorzunehmen.

  • Für die ".htaccess" Dateien sollte die " AllowOverride"-Einstellung auf " ALL" gesetzt sein.
  • Für die SEO URLs des Shops sollte bei der "Options"-Einstellung die Option " FollowSymLinks" aktiviert sein.

 

Zugriffsrechte 

Für die Nutzung des webbasierten Installers und die Installation von Erweiterungen (Plugins) im eCMS-Admin, benötigt der Apache User ("wwwrun", "www-data", etc.) Schreibrechte auf die Zielverzeichnisse der Installation. 

 

SSL

Für den Betrieb einer eCommerce-Site sollte unbedingt natürlich ein SSL-Zertifikat erworben und installiert werden!

 

Andere Webserver

Andere Webserver, die letztendlich PHP und ioncube (PHP-Decoder) unterstützen, sollten ebenfalls funktionieren sind aber (noch) nicht für den Produktiv-Einsatz getestet.

Entsprechend korrespondierende Konfigurationen, wie für den Apache beschrieben, müssten dort dann vorgenommen werden.

 

MySQL Datenbank 

Empfohlen wird eine aktuelle Version 5.x. In der MySQL-Config ( my.cnf) sollten für den mysqld-Service folgende Einstellung vorhanden sein:

  1. query_cache_size = 256M
  2. query_cache_type = 1
  3. query_cache_limit = 1M
  4. group_concat_max_len = 8192
  5. sql_mode = ..... // siehe Kommentar!

In der MySQL-Variable " sql_mode" muss die Option " STRICT_TRANS_TABLES" deaktiviert sein. 

 

Benutzerrechte

Der MySQL User benötigt das Recht Datenbanken anlegen zu können. 

 

PHP 

Version

Unterstützt wird PHP Version 5.3 und höher. Noch kein PHP 7.

 

PHP Libraries

Folgende zusätzliche Libraries werden benötigt

  • GD Lib ab Version 2.0
  • calendar
  • CURL
  • json
  • mbstring
  • mcrypt
  • mysql
  • openssl
  • soap
  • tidy
  • xml
  • xsl
  • zip

 

php.ini - Konfiguration

In der PHP-Config ( php.ini) sollten folgende Einstellungen vorhanden sein. Diese Einstellungen müssen für PHP-Config in der Webserver-Umgebung und für die Kommandozeilen-Umgebung (CLI) vorgenommen werden. Je nach Linux-Distribution sind dies ein oder mehrer Config-Files.

  1. short_open_tag = On
  2. memory_limit = 128M
  3. output_buffering =
Bei Bedarf können die Einstellung für den File-Upload hochgesetzt werden. Dies wird zum Beispiel dann benötigt, wenn entsptrechend große (Bild-) Dateien über eCMS/eMediaBase-Backend über den Browser hochgeladen werden sollen:
 
  1. upload_max_filesize = 8M
  2. post_max_size = 10M

Folgende weitere Einstellungen sind ebenfalls empfehlenswert

  1. # Error-Reporting ohne Warnings
  2. error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
  3.  
  4. # Zeitzone setzen
  5. date.timezone = Europe/Berlin
  6.  
  7. # Für PHP Versionen < 5.4 empfielt sich ggfs. auch noch folgendes:
  8.  
  9. allow_call_time_pass_reference  = On
  10.     
  11. # Safe-Mode abschalten (macht evtl. Probleme mit Shell-Kommandos, z.B. Imagemagick, PHP-Binary, etc.)
  12. safe_mode = Off
  13. safe_mode_gid = Off

 

Token-Cashes (APC, Zend Optimizer, Zend OPcache)

Ein Token-Cash sollte definitiv zu besseren Performance installiert werden.

Erfolgreich getestet wurden APC, Zend Optimizer und Zend OPcache.

 

ioncube

Für den Betrieb der verschlüsselten Software-Komponenten muss im PHP der ionCube-Loader installiert werden. Der kostenfreie Loader kann über die folgende Seite gedownloadet werden:

http://www.ioncube.com/loaders.php

 

ImageMagick

Für die automatische Größenanpassung von Bildern (z.B. bei Produkten) wird das Software-Paket ImageMagick benötigt. 

Die Verwendung von ImageMagick erfolgt über die Kommandozeile. Dafür ist der Zugriff auf die ImageMagick Binaries "convert" und "mogrify" erforderlich. 

 

Apache FOP

Für die Generierung von PDF-Dokumenten (z.B. Rechnungen) wird das Software-Paket Apache FOP benötigt. 

Die Verwendung des FOPs erfolgt über die Kommandozeile. Dafür ist der Zugriff auf das "fop" Binary erforderlich.

 

GhostScript

Für die Bearbeitung von PDF-Dokumenten (z.B. Zusammenfügen von mehreren PDF's in eine PDF-Datei) wird das Software-Paket GhostScript benötigt.

Die Verwendung des GhostScript-Interpreters erfolgt über die Kommandozeile. Dafür ist der Zugriff auf das "gs" Binary erforderlich.