Betriebssystem

Das CHAMELEON Framework wurde erfolgreich getestet auf Linux-, MacOS X, FreeBSD- und weiteren UNIX-Derivaten, sowie Windows-Servern (für Windows-Versionen mit Usern und Dateisystemen, die Symlinks unterstützen).
 

Webserver

Chameleon ist erfolgreich getestet mit Apache 2.x und nginx, sowie verschiedenen ReverseProxies wie z.B. haproxy oder Traefik
 

PHP

PHP muss seit Chameleon V.6.2 in der Version 7.1.x installiert sein.

memcached oder redis als Cache-Storage-Lösung und/oder für Session-Storage, sofern diese nicht in der MySQL-DB erfolgen soll

Session
Bei der Verwendung von memcached/couchbase oder MySQL als Session-Handler müssen Sie bei verschiedenen Linux-Distributionen (z.B. Ubuntu/Debian) die PHP-garbage-collection aktivieren. Diese ist bei diesen Systemen standardmäßig deaktiviert und verwendet stattdessen einen Cronjob, der die Session-Dateien löscht.

  • session.gc_probability = 1
  • session.gc_divisor = 100

Der entsprechende Cronjob in /etc/cron.d/php5 kann dadurch auskommentiert werden, sofern er nicht parallel für andere Systeme verwendet wird.
 
Performance
Da das System mit zahlreichen Dateien arbeitet und automatisch Datenbankklassen generiert, kann es sinnvoll sein, den PHP-Dateicache zu erhöhen:

  • realpath_cache_size = 64K (Standard ist 16K)


 

MySQL-Datenbank

MySQL ab Version 5.5 (UTF-8-Support ist zwingend notwendig)
 
Chameleon nutzt die unterschiedlichen Vorteile verschiedener Storage-Engines. Die MySQL-Installation muss daher mindestens MyISAM, InnoDB und MEMORY unterstützen.
 
Die folgenden Rechte muss der Datenbankbenutzer zur Verfügung haben, um keine Funktionen zu beeinträchtigen:

  • Daten: SELECT, INSERT, UPDATE, DELETE (auf alle Tabellen)
  • Struktur: CREATE TABLE, CREATE TEMPORARY TABLES, ALTER, INDEX, DROP,
  • Admin: SHOW TABLES, LOCK TABLES

 
Optional
Chameleon-Shop kann optional für eine schnellere Indizierung des Produktkatalogs die Funktion LOAD DATA INFILE nutzen (dazu muss in der Config aktiviert sein: CMS_SEARCH_INDEX_USE_LOAD_FILE)
 
Read-Only-System
Es ist möglich, aus Sicherheitsgründen Chameleon ohne Schreibrechte zu betreiben, z.B. Frontend-Server und Backend-Server auf getrennten Systemen mit einer Shared-Database. Das Backend-System hat einen mySQL-Benutzer mit vollen Rechten und das Frontend-Auslieferungssystem hat nur Lese-Rechte.
 
Dies ist nur möglich, wenn Ihre Website keinerlei Benutzerinteraktion hat, für die Schreibzugriffe notwendig sind. Hier sind folgende Rechte notwendig:

  • Daten: SELECT (auf alle Tabellen), INSERT, UPDATE, DELETE (Tabellen: _cms_sessions, _cms_cache, _cms_cache_info, _cms_lockmanager)
  • Struktur: CREATE TEMPORARY TABLES (wenn sie ein Enterprise-System mit Freigabe-System nutzen)
  • Admin: SHOW TABLES

 
Hinweis
Bitte beachten Sie, dass die benötigten Rechte für den mySQL-Benutzer nur für ein System im Auslieferungszustand gelten. Je nachdem, welche Funktionen Sie implementieren, können weitere Rechte notwendig sein.