Webserver-Setup
Empfohlen wird eine aktuelle Version 2.x .
Im Apache sollten folgende Module aktiviert sein:
- "rewrite"
- "expires"
Ü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.
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.
Für den Betrieb einer eCommerce-Site sollte unbedingt natürlich ein SSL-Zertifikat erworben und installiert werden!
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.
Empfohlen wird eine aktuelle Version 5.x. In der MySQL-Config ( my.cnf) sollten für den mysqld-Service folgende Einstellung vorhanden sein:
query_cache_size = 256M query_cache_type = 1 query_cache_limit = 1M group_concat_max_len = 8192 sql_mode = ..... // siehe Kommentar!
In der MySQL-Variable " sql_mode" muss die Option " STRICT_TRANS_TABLES" deaktiviert sein.
Der MySQL User benötigt das Recht Datenbanken anlegen zu können.
Unterstützt wird PHP Version 5.3 und höher. Noch kein PHP 7.
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
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.
short_open_tag = On memory_limit = 128M output_buffering =
upload_max_filesize = 8M post_max_size = 10M
Folgende weitere Einstellungen sind ebenfalls empfehlenswert
# Error-Reporting ohne Warnings error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED # Zeitzone setzen date.timezone = Europe/Berlin # Für PHP Versionen < 5.4 empfielt sich ggfs. auch noch folgendes: allow_call_time_pass_reference = On # Safe-Mode abschalten (macht evtl. Probleme mit Shell-Kommandos, z.B. Imagemagick, PHP-Binary, etc.) safe_mode = Off safe_mode_gid = Off
Ein Token-Cash sollte definitiv zu besseren Performance installiert werden.
Erfolgreich getestet wurden APC, Zend Optimizer und Zend OPcache.
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
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.
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.
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.