Mindestanforderungen für Auktion Server

Hard- und Software-Anforderungen an den Webspace

Technische Anforderungen

Die Software benötigt keine außergewöhnlichen Anforderungen an die Technik, es genügt im Prinzip der aktuelle Stand der Technik eines

  • LAMP-Webservers mit PHP Version 5.6 (erfolgreich getestet zwischen v. 5.6.3 < 7.0.1)
  • und eine MySql-Datenbank empfohlene Version 5.6 (erfolgreich getestet zwischen v. 5.1.x < 5.6.x , 5.5.x fehlerhaft*) 

(Weitere Angaben über Servervoraussetzungen weiter unten, siehe auch Prüfscript.)

Hinweis:
Der erfolgreiche Betrieb von PHP Scripten ist manchmal nicht auf jedem Webspace eines Providers gleichmaßen erfolgreich oder zufriedenstellend möglich. Insbesondere günstige Webspace Pakete haben oft die Ressourcen derart limitiert, dass die höheren Anforderungen einer Software an die Server Ressourcen oder spezielle Bibliotheken für ein komplexes online Auktionssystem nicht erfüllt werden können; häufig sind wichtige Funktionen deaktiviert oder schlicht nicht installiert oder installierbar. Dies ist leider nicht "von außen" in den Preislisten und oft auch nicht in PHP Konfigurationen erkennbar. Meist kann man davon ausgehen, dass Webspace-Anbieter in der '10 EURO pro Monat-Klasse' eher nicht die Anforderungen eines professionellen Auktionssystems erfüllen. Dies kann jedoch nur eine grobe Richtlinie sein und im Individualfall die Wahl eines höherwertigen Anbieters erforderlich machen. Gerne bieten wir geeignete, professionelle Webserver - Systeme an.

Prüfung der Voraussetzungen für eine Sourcecode Installation:

Webserver-Hardware

Arbeitsspeicher: Rechnen Sie mit etwa 1 GB RAM je 100 zeitgleiche Nutzer. Pro 50 gleichzeitig, bietende User rechnen Sie grob je 1 Prozessorkern.
Festplattenplatz: Auktion:NG benötigt als Basis ca. ab 200 MB Festplattenplatz. Pro eingestelltem Auktionsartikel kalkulieren wir zusätzlich ca. 2-5 MB Festplattenplatz pro Artikel. Dieser Wert kann jedoch je nach Art und Größe der eingesetzten Bilder oder Medien stark abweichen. Wenn Sie also viele Bilder, PDFs oder andere, große Dateien einsetzen oder die Werte automatischen Bildgrößenberechnungen hochsetzen, ist der erforderliche Wert entsprechend empirisch nach oben zu korrigieren.

Genaue, für Ihr Projekt individuelle Prozessgrößen ermittelt nur ein Livebetrieb, denn auch das projektspezifische Benutzerverhalten spielt hier eine wichtige Rolle.
Ein Beispiel: Enden alle Auktionen zur exakt gleichen Zeit (nicht zu empfehlen), potenzieren sich die Serverlasten enorm.

Webserver-Software

Meist wird Apache als Webserver genutzt. Auktion:NG sollte jedoch unter jeder Serversoftware, die PHP oder höher, MySQL  und .htaccess unterstützt, lauffähig sein. Zb. auch nginx. Offiziell getestet und freigegeben ist die Auktion:NG Versteigerungssoftware nur unter Apache 1+2 Umgebungsbedingungen. Details zu möglichen Inkompatibilitäten finden Sie weiter unten. Einschränkungen oder Fehlfunktion sind daher möglich bei abweichenden Versionen!

Prüfung Ihrer Serverumgebung

Wir haben für Sie im folgenden ein

vorbereitet, welches Ihre Serverkonfiguration zunächst SEHR GROB prüfen kann,

ob alle wichtigen Voraussetzungen bereits erfüllt sind bzw. anzeigt, welche Parameter Sie ggf. noch einschalten (lassen) müssen. Laden Sie diese Datei herunter , entpacken Sie diese und legen sie per FTP Zugang in ein von aussen erreichbares Verzeichnis auf Ihrem Webserver. Rufen Sie das Script dann mit Ihrem Domainnamen + dem Dateinamen "/check_server.php" im Browser auf.

Sie erhalten nun eine Liste mit den benötigten/optionalen und vorhandenen Settings. Nach Gebrauch löschen Sie das script unbedingt wieder vom Webserver oder sperren die Ausführung, um aus Sicherheitsgründen keine dieser Informationen öffentlich preis zu geben!

Die folgenden, üblichen Konfigurationsparameter sind erforderlich:


APACHE Webserver-Einstellungen:

  • .htaccess Einstellungen erlaubt
  • Apache Webserver Version 2.x

PHP Interpreter-Einstellungen:

Meist sind es nur Standardeinstellungen, die benötigt werden. Sie sollten aber optimalerweise die Möglichkeit besitzen, Ihre PHP.INI Datei ggf. selbst zu konfigurieren. Anderfalls kann es erforderlich werden, dass jemand anderes (zb. Rechenzentrum) es für Sie tun kann wie folgt

  • safe_mode OFF
  • memory_limit sollte mindestens auf 128 MB gesetzt sein oder höher. Der Maximalwert darf gern der Höchstmögliche sein, jedoch nicht unlimitiert. (Ggf. empirische Ermittlung der besten Performance nötig)
  • max_execution_time - sollte deutlich über die häufig gesetzten '30' Sekunden gesetzt werden (z.B. auf '60' Sekunden oder mehr, jedoch nicht umlimitert)

PHP-Erweiterungen und -Bibliotheken:

  • GD Library  - Dieses Modul wird benötigt, um Grafiken automatisch in Größe und Auflösung zu optimieren und ggf. Wasserzeichen automatisch einzurechnen. (Ab Version 2.x.)
  • mod_rewrite (Optional, meinst schon PHP Standardinstallation)
    Wenn Sie bessere Chancen in der Suchmaschinen-Platzierung erreichen möchten, dann ist dieses Modul Pflicht! Die Auktion:NG Auktionssoftware nutzt dieses Modul zur suchmaschinentauglichen Umsetzung der URLs.
  • mod_zip (Optional, wenn Sie den Artikelimport über ZIP Datei Import Funktion nutzen wollen)

Als empfohlene Erweiterungen: (werden nur verwendet, sofern auf dem Host installiert)

  • idn_to_ascii - Convert domain name to IDNA ASCII form

MySQL Datenbankserver

  • Mysql Server für MySQL mit INNODB Engine als Datenbank (PHP-Standardeinstellung), mindestens 1 funktionsfähig installierte  MySQL Datenbank auf dem Web-Server. Aktivieren Sie - sofern Sie dieses können - das erlaubte Maximum gleichzeitig zulässiger Datenbankzugriffe, um Flaschenhälse beim Datenbankzugriff zu minimieren (meist nur bei eigenem Server und/oder kooperativem Rechenzentrum realisierbar. Alternativ kann man geeignete Systeme bei onSite.org buchen). Sparen an dieser Stellschraube ist, neben zu wenig RAM, einer der häufigsten Gründe für schlechte Performance.

CRON Jobs - Zeitgesteuerte Abläufe

  • Die Ausführung von Cron Jobs für automatisch angestoßene Prozessabläufe muss möglich sein, ggfs. durch Nutzung eines externen Dienstleisters für externe Cronjobs. Etliche zentrale Prozesse, wie z.B. die Ermittlung des Gewinners, werden hier in zeitversetzten Intervallen ausgeführt, um z.B. die Serverlasten bei Spitzenlasten zu glätten und Routineaufgaben wie E-Mailversand, Gewinnerermittlung und GarbageCollection aus zu führen. Ein 10 minütger Job sollte ausreichen. Ein 5 minütiger Start wäre optimal. Sollte Ihr Hostinganbeiter keine solch häufigen Ausführungen zulassen, erwägen Sie den Wechsel zum Hosting bei onSite.org internet services oder unser Auktionsserver Paket.

Sendmail - Mailversand

  • Sie benötigen Zugriff auf "Sendmail" zum Mailversand. Dieses stellt im Allgemeinen den Normalfall bei Shared Hosting dar und wird über die PHPMAIL Funktion ausgeführt. Alternativ ist auch ein Versand über SMTP und somit externem Host möglich. Zum Mailversand muss logischerweise ein MTA auf dem Server eingerichtet sein.

 

Wichtiger Hinweis:
Diese Informationen schließen nicht aus, dass Komplikationen auftreten können, da die meisten Server individuell konfiguriert sind. Zudem ist  individuelle Planung und Konfiguration Ihres Systems erforderlich, wenn Sie größere Installationen betreiben wollen.


Unverträglichkeiten:
Wir haben bei einer Kundenseiten Installation schon einmal eine Unverträglichkeit bei Verwendung des SUHOSHIN Patch und besonderen Settings dessen festgestellt. In der Standardinstallation haben wir keine Inkompatibilitäten festgestellt. Man kann über Einstellung der SUHOSHIN Settings sicherlich die Kompatibilität herstellen, jedoch sollte jeder, der den Suhoshin Patch verwendet, auch mit dessen Funktionsweise und Einschränkungen gut vertraut sein.


Serviceoptionen:
Im Rahmen unserer Serviceleistungen unterstützen wir Sie gerne bei der Planung, Installation und Konfiguration Ihres Auktionssystems und sind Ihnen gerne bei der Installation der Auktion auf Fremdsystemen nach abzurechnendem Serviceaufwand behilflich.

Zukunft:
Die künftigen Anforderungen an Auktionsserver werden im laufenden Betrieb durch erhöhen Funktionsumfang und größere Anzahl gleichzeitiger User erfahrungsgemäß weiter steigen. Planen Sie daher Ihre Hardware sorgfältig, nach Parametern wie z.B.:

  • Wieviele gleichzeitige User erwarten Sie zu Spitzenzeiten?
  • Planen Sie Radiowerbung/Fernsehwerbung?
  • etc.

Erfahrungsgemäß überlasten zu Spitzenzeiten auftretende Zugriffszahlen schnell einen zu gering dimensionierten Serverplatz. Speziell Billigprovider begrenzen gerne engmaschig die Anzahl der erlaubten Datenbank-Requests! Woher kommt nochmal genau der billige Preis ?

Wenn Sie nicht wissen, welche Konfiguration Ihr Hoster Ihrem Server einsetzt

Dann können Sie dies mit der folgenden Kurz-Hilfe schnell herausfinden (www.onSite.org stellt Ihnen aber geeignete Servertechnik zur Verfügung):

  • Öffnen Sie z.B. Notepad und schreiben Sie die folgenden PHP-Code hinein:
    <?php phpinfo(); ?>
  • danach speichern Sie die Datei z.B. unter dem Dateinamen "info.php" ab und kopieren diese auf Ihren Server:
  • Danach rufen Sie Ihre Domain plus "/info.php" mit Ihrem Browser auf. Sie sehen jetzt alle Servervariablen.

Gleich an erster Stelle steht Ihre aktuelle PHP-Version, weiter unten finden Sie alle Informationen zur MySQL-Version und zu der installierten GD Library. (Optional können Sie auch danach suchen: Suchbegriffe "GD" und "mySQL")

Löschen Sie diese .php Datei nach Gebrauch wieder! - Sie sollten ungebetenen Gästen nicht mehr Angriffsfläche bieten als notwendig. Ihre Sicherheit steht für uns an oberster Stelle.

Die Settings Ihrer Datenbanken und Anzahl gleichzeitig erlaubter Requests erfragen Sie direkt bei Ihrem Anbieter.

Tuningtipps

  • Wir arbeiten regelmäßig an der Verbesserung der Sicherheit und der Performance der Software selbst. Nutzen Sie unsere regulären Updates, um in den Genuss aller Optimierungsarbeiten zu kommen.
  • Standardmäßig verwenden wir CDNs für Libraries wie dojo, jquery usw. Obwohl diese CDNs meisten sehr schnell und gut ereichbar sind, kann es manchmal bessere Performance bringen, wenn Sie diese Libraries auf Ihrem eigenen CDN oder gleichen Server installieren. Laden Sie dazu einfach bei den Anbietern das gewünschte Paket hertunger und legen es optimal ab. Ändern Sie dann die Pfade in den Templates. Vergleichen Sie auf jeden Fall die Ladezeiten mit Tools wie Firebug/ Network, yslow usw.
  • Ab 01.03.2013 unterstützt Auktion:NG das Caching via APC/ Memcache. Vorsicht jedoch bei PHP Versionen die als CGI installiert sind, hier greift APC Caching nicht und verlangsamt daher sogar den Aufruf, da Informationen zwar in den Chache geschrieben werdne, jedoch nicht geholt werden können! Auf unseren aktuellen Auktionsservern verwenden wir aus verschiedenen Gründen memchache.
  • Nutzen Sie Serverhardware, die den besonderen Anforderungen an Ihr Projekt gewachsen ist. Es macht kaum Sinn, bei großen Besucheraufkommen am Webserver zu sparen. Man bekommt für wenig Geld eben wenig Leistung, warum sollte sich das in der Geschichte jemals ändern. Empfehlungen erhalten Sie gern von unserem freundlichen Service.