Basiswissen rund um Hoster und Server

Die Frage nach dem Hosting ist eine der Fragen mit dem höchsten Verwirrungspotenzial.

Für die meisten Nicht-IT’ler klingen die verschiedenen Hosting-Angebote beinahe identisch und die ewig langen Vergleichstabellen mit Dutzenden von Spalten helfen auch nur dann, wenn man weiß, was für Technologien man braucht.

Worauf sollte man also achten?

Werfen wir einen Blick aud die Systemanforderungen von OXID eShop:

  • Apache version 2.2 and 2.4 (on Linux)

Es gibt prinzipiell zwei Web Server: Apache (gelegentlich auch “der Indianer” genannt) und nginx (ausgesprochen “Engine X”). Sofern es nicht expliziert angegeben ist, wird der Hoster den Apache Web Server haben.

  • 500 MB of free webspace for Community and Professional Edition
  • 750 MB of free webspace for Enterprise Edition

500 bzw 750 Mb Speicher sind sehr sportlich angegeben. Ein CE Shop mit Demodaten belegt um die 400Mb, wovon etwa 60Mb Bilder sind. Aber ich habe keine Hoster mit weniger als 10Gb Speicher gesehen, daher dürfte der Speicher kein Problem sein.

  • Installed mod_rewrite extension

Gehört eigentlich zum Standard.

DATABASE

  • MySQL 5.5 and 5.7
  • MariaDB Support (tested with MariaDB 10.4)

MariaDB gewinnt in der letzten Zeit immer mehr an Popularität und wird ab der v6.2 nun auch offiziell unterstützt. In 99% der Fälle seid ihr damit gut bedient, achtet nur auf die Version. Mir ist in den letzten 10 Jahren auch nur ein Shop untergekommen, der mit MariaDB nicht funktioniert hätte, was aber an einem der Module lag.

  • PHP version 7.1 to 7.4

Hier dürfte alles klar sein: je neuer, desto besser und desto länger habt ihr Ruhe, bis der Hoster diese PHP Version abschaltet.

  • Recommended memory_limit is 60 MB, but it should be no less than 32 MB

Hier ist die Sachlage auch noch relativ einfach. Der Server baut die aufgerufene Seite im Arbeitsspeicher zusammen, um sie dann dem Besucher auszuliefern. Die Hoster bieten i.d.R. 256 Mb und mehr an. Je mehr RAM der Server hat, desto mehr Besucher kann er gleichzeitig bedienen.

  • PHP setting session.auto_start in php.ini should be disabled (OFF)
  • File uploads should be enabled in PHP
  • Enabled allow_url_fopen and fsockopen on port 80
  • Apache server variables REQUEST_URI or SCRIPT_URI must be available
  • ini_set allowed

Diese Infos klingen plötzlich komplizierter und stehen eigentlich nie in der Angebotsbeschrebung der Hoster drin. Das ist PHP Konfiguration und wird bei den Hostern oft als “eigene PHP Konfiguration”, “PHP Einstellungen ändern” oder “eigene php.ini” bezeichnet. Gehört eigentlich auch zum Standard, wenn man nicht gerade den billigsten Hosting Tarif für 0,99€/Monat nimmt.
Um ganz sicher zu sein, gebt einfach den Namen des Hosters + die gewünschte Konfiguration bei Google ein, z.B. “ionos allow_url_fopen” und dann solltet ihr eine Anleitung zum Ändern der Konfiguration finden. Wenn ihr nichts findet, solltet ihr beim Hoster nachfragen.

  • Composer

Mittlerweile braucht man Composer, um Module zu installieren und den Shop zu aktualisieren. Diese Info steht ebenfalls sehr selten in der Angebotsbeschreibung und ggf. muss/kann composer nachinstalliert werden. Ihr solltet wieder zum Google-Trick greifen und nach dem Namen des Hosters + Composer suchen, dann findet ihr entweder eine Anleitung zum Nachinstallieren oder Beschwerden, dass Composer bei dem Hoster nicht nutzbar ist.

Gibts noch etwas, worauf man achten sollte?

Definitiv ja. Es gibt noch ein paar beachtenswerte Themen:

  • SSL Zertifikate: die meisten Hoster dürften mittlerweile kostenlose Zertifikate von Let’s Encrypt anbieten, aber eben nicht alle, daher würde ich ebenfalls darauf achten.

  • Anzahl der Datenbanken: Jede Anwendung/Webseite auf dem Server sollte eine eigene Datenbank haben, wenn ihr also einen live Shop, einen Test Shop und sowas wie einen Blog habt, wären es 3 Datenbanken.

  • maximale Größe der Datenbank: Ihr könnt mit folgenden Werten grob rechnen:

    • 4.5Mb pro 1000 Artikel
    • 3,7Mb pro 1.000 PayPal+ Transaktionen
    • 2Mb pro 1.000 Bestellungen
    • 1,5Mb pro 1.000 Benutzer
    • 1Mb pro 1.000 Newsletter An/Abmeldungen
    • 0,6Mb pro 1.000 Attribute
    • 0,5Mb pro 1.000 Kategorien/Bneutzergruppen Zuordnungen
    • 0,5Mb pro 1.000 einzigartige Gutscheinnummern
    • 0,25Mb pro 1.000 Kategorien

    Ein Shop mit 500 Kategorien, 5.000 Produkten mt je 5 Attributen, 25.000 Kunden und 20.000 Bestellungen, von denen die Hälfte über PP+ bezahlt wurde, würde also um die 175-200Mb Speicher in der Datenbank belegen. Einige Hoster legen den Limit auf 1Gb pro Datenbank, aber damit kommt man auch schon recht weit.

  • Limits für Email Versand: Steht ebenfalls extrem selten dabei, aber jeder Hoster hat sie. In der Regel dürft ihr 250-500 Emails pro Stunden versenden. Wichtig ist hier, wie der Hoster mit den Emails umgeht, wenn die Quote erreicht ist: landet die Email in einer Warteschlange und wird beim stündlichen Reset der Quote verschickt oder leht der Hoster diese Email einfach ab? Davon hängt ab, ob ein Kunde seine Bestellbestätigung spätestens nach einer Stunde oder gar nicht mehr bekommt. Ebenfalls wichtig, wenn ihr Newsletter aus dem Shop verschicken wollt.

  • Backups sind ein heikles Thema. Eigentlich braucht man sie nicht, bis man sie eines Tages dann braucht. Es ist immer gut, sich vorher darüber schlau zu machen, wie euer Hoster Backups macht und wie ihr sie wiederherstellen könnt. Einige Hoster machen Backups nachts und ihr könnt nur den kompletten Stand vom letzten Backup wiederherstellen. Bei einigen Hostern müsst ihr sogar den Support beauftragen, ein Backup wiederherzustellen, somit habt ihr eine Downtime, bis der Support das erledigt hat. Bei sehr guten Hostern könnt ihr über ein spezielles Interface sogar einzelne Dateien oder DB-Tabellen aus dem Backup selbst wiederherstellen, aber hier reden wir von Hosting-Tarifen im dreistelligen Bereich.
    Eine Versionsverwaltung ist ebenfalls als eine gute Ergänzung zum Backup.

  • Erfahrungen mit dem Support: sucht im Internet nach Erfahrungen mit dem Support des Hosters. Wenn der Support 3-4 Tage zum Antworten braucht, bedeutet das im schlimmsten Fall einen entsprechenden Ausfall des Shops und Kundenverlust. Sowas möchte man eher vermeiden.

3 Likes

Server vs Hosting

Beim Hosting unterschiedet man prinzipiell zwischen einfachem (shared) Hosting und Servern.
Ein einfaches Hosting ist mit einer WG vergleichbar: der Shop teilt euch einen Server mit anderen Webseiten. Ihr habt zwar ein eigenes Zimmer, aber alle Bewohner nutzen gemeinsame Ressourcen: Küche/Herd, Badezimmer, Internetzugang. Ihr könnt prinzipiell jederzeit den Herd nutzen, außer jemand anders belegt gerade alle Herdplatten. Beim Shared Hosting gibt es oft garantierte RAM/CPU Kapazitätet, z.B. in einer 3er WG ist ein Herd mit vier Platten, wobei eine davon einzig und alleine euch gehört, ihr könntet aber auch die vierte gemeinsame Platte nutzen, sofern sie frei ist.
Bei einem Server wohnt der Shop alleine und hat alle Ressourcen nur für sich, d.h. der Herd ist immer nur für euch da und niemand anders saugt gerade das Internet weg. Deswegen ist ein Server immer teurer als Shared Hosting.
Falls ihr euch jetzt fragt, ob ihr einen Server braucht: nein. Man würde es eindeutig merken/wissen, ob überhaupt und wofür man einen Server benötigt, ein normaler CE Shop braucht definitiv keinen Server.

Managed vs Unmanaged

diese Begriffe tauchen i.d.R. nur im Zusammenhang mit den Servern auf.
Managed bedeuet einfach, dass der Hoster nicht nur euer Vermieter ist, sondern gleichzeitig auch der Hausmeister. Er verwaltet den Server und das Betriebssystem, sorgt für die Sicherheit des Systems, installiert und konfiguriert nach Bedarf neue Software (wobei nicht jeder Hoster jede Software installieren würde). Ihr könnt dennoch einige ungefährliche Einstellungen selber vornehmen, z.B. PHP Version, grundlegende Webserver Einstellungen, Postfächer, Cronjobs, etc.
Ein unmanaged Server kostet weniger, dafür müsst ihr euch aber mit allem selbst rumschlagen: Firewall, Webserver, andere Dieste. Ein unmanaged Server eignet sich nur für erfahrene IT’ler oder Firmen mit einem eigenen erfahrenen IT’ler.

1 Like

andere Programmiersprachen?

Einige Hoster bieten in teureren Tarifen neben PHP auch andere Programmiersprachen an.
Braucht man diese unbedingt? Nein.

Python und NodeJS gehören oft zu den angebotenen zusätzlichen Programmiersprachen.
Während Python so gut wie keinen Gebrauch im OXID-Umfeld findet, sieht es bei NodeJS anders aus. NodeJS wird in OXID für die Generierung der Stylesheets und JavaScript Dateien benutzt. Wollt ihr diese Anpassen, um z.B. die Optik eures Themes zu verändern, werdet ihr NodeJS brauchen. Aber es muss nicht unbedingt auf dem Server sein, sondern kann genau so gut auch auf eurem PC lokal installiert werden. Diese Dateien müssen nur einmalig generiert und auf den Server hochgeladen werden, für den regulären Shopbetrieb braucht ihr NodeJS nicht.
Außerdem könnte man NodeJS einsetzen, um die Bilder zu komprimieren oder in das neue Format webp zu konvertieren. Aber auch das ist für den normalen Betrieb nicht notwendig.

2 Likes