Von Dreamhost zu WebhostOne - ein Reisetagebuch

23. Juli 2007

Change it, leave it or love it.

Diese grundlegende Wahrheit für ein motiviertes Leben hörte ich das erste Mal in einem Vortrag von Reinhard Sprenger, Managementguru aus den 1990er Jahren – und der hat’s vermutlich während seiner Pubertät von seinem Vater aufgeschnappt, allerdings in der damals üblichen deutschen Fassung: „Solange du deine Füße unter meinem Tisch ausstreckst, machst du, was ich sage.“

Als meine bei Dreamhost gehosteten Sites vor einigen Wochen begannen, wiederholt stundenweise den Dienst einzustellen, kam wieder ein Mal Sprengers Motto zum Tragen. „Change it“ lief über den Dreamhost-Support, dessen Antworten auf Supporttickets immer recht ermutigend waren („I checked on your site now and it’s back to normal“, „It looks like our admins have moved the offending customer onto a different box so that they may help them reduce their CPU usage without affecting other customers‘ sites any further.“) Was auch immer die Admins und Supportleute bei Dreamhost getan haben, war aber offensichtlich nicht recht erfolgreich. Die Schwierigkeiten kehrten wieder.

Die Alternative „Love it“ war keine, also ging ich auf die Suche nach einem neuen Webhost. Der Webspace sollte ausreichen, um eine Handvoll Websites unter Textpattern CMS, TYPO3 oder WordPress laufen zu lassen, und Reserven für die Zukunft bieten. Bei Dreamhost ist man verwöhnt, was die gebotenen Features betrifft, und ich wollte keines davon beim neuen Hoster missen. Als da waren:

  • MySQL-Datenbanken in „unlimitierter“ Zahl (das heißt: mehr als die üblichen drei Stück, die bei den „Profipaketen“ gerne beigelegt werden)
  • Direkten Zugang zur Linux-Shell über SSH
  • Unlimitierte Zahl an gehosteten Domains auf einem Account
  • Keine Einschränkungen bei den Apache-Einstellungen über .htaccess, im Wesentlichen also die Unterstützung eigener Regeln für mod_rewrite und mod_security
  • SVN als Tool für die einfache Installation von WordPress und Textpattern direkt von den Entwicklungsservern der beiden Projekte
  • Natürlich ausreichend Platz und Trafficvolumen
  • Marktübliche Preise unter 20 Euro pro Monat

Ich habe mich für das Paket Pro-3000 bei WebhostOne entschieden. Leider mit Abstrichen: SVN gibt’s nicht.

Webspace umziehen

Die Übersiedlung von mehreren Sites zu einem neuen Hoster ist wie ein Umzug im echten Leben eine Strafaufgabe und ab einer bestimmten Größe mit normalem FTP-Down- und Upload in keiner vernünftigen Zeit zu erledigen.

Am einfachsten ist die direkte Kopie vom alten auf den neuen Server mit der vollen Geschwindigkeit der Rechenzentrumsanbindung beider Hosts. Dazu packt man alle Dateien beim alten Server ein, speichert sie in einem Archiv, das über das Internet erreichbar ist, und lädt sie mit Hilfe von curl und unzip auf den neuen Host:

  1. Beim alten Host über SSH anmelden
  2. cd /home/USERNAME/www (oder wo auch immer das Wurzelverzeichnis des Hosts liegt)
  3. zip -r archiv.zip * .??* (Alle Dateien und Unterordner in ein Archiv packen)
  4. Beim neuen Host über SSH anmelden
  5. curl -O http://example.com/archiv.zip (gesamtes Archiv mit Backbonegeschwindigkeit auf den neuen Host kopieren)
  6. unzip archiv packt alles wieder aus

Anschließend werden noch alle MySQL-Datenbanken auf eine ähnliche Weise transferiert:

  1. Beim alten Host über SSH anmelden
  2. cd /home/USERNAME/www (wieder auf den Root des Webspace wechseln)
  3. mysqldump -u USERNAME -p -h ALTER_MYSQLHOST DATENBANKNAME | gzip > DATENBANK.sql.gz schreibt eine Datenbank in eine mit gzip komprimierte Datei am alten Host
  4. Ziel-Datenbank beim neuen Host anlegen
  5. Beim neuen Host über SSH anmelden
  6. curl -O http://example.com/DATENBANK.sql.gz holt die Kopie auf den neuen Host
  7. gzip -d -c DATENBANK.sql.gz | mysql -D NEUER_DATENBANKNAME -h NEUER_MYSQLHOST -P MYSQLPORT -u USERNAME-p packt das Datenbankarchiv aus und erzeugt in der neuen Datenbank alle Tabellen und Records

Was sonst noch so an Dateien herumliegt, kann über einen Tarball transportiert werden:

  1. Beim alten Host mit tar -cf archive.tar FILE FILE FILE und gzip -c archiv.tar > archiv.tar.gz einpacken
  2. Am Zielhost mit curl - O http://example.com/archiv.tar.gz einlesen und mit tar -xzf archiv.tar.gz wieder auspacken

Besser jetzt?

Über WebhostOne kann ich nach den wenigen Tagen nicht fundiert urteilen, aber nach den bis jetzt gewonnenen Erfahrungen mit dem neuen Webhost ist das Resumé positiv:

  • Der Support antwortet flott und kompetent auf Fragen, sowohl über Livechat als auch per Mail – auch am Samstag.
  • Die Geschwindigkeit der Sites ist gut.
  • Die Administrationsoberfläche – eine Entwicklung von Mesos – ist einfach zu bedienen und erfüllt den Zweck.
  • Warum man den Namen von MySQL-Datenbanken nicht zumindest teilweise selbst bestimmen kann, ist mir schleierhaft. Die Identifikation der richtigen Datenbank für eine Anwendung ist bei Namen wie xc034_db6 oder xc034_db12 nicht trivial.
  • Dass Apache in der Standardkonfiguration mit eingeschaltetem mod_speling und CheckSpelling On arbeitet, hat mir beim Einrichten einer Redirection graue Haare gekostet. Nachdem aber alle Apache-Einstellungen selbst veränderbar sind, ist das zumindest in Eigenregie korrigierbar.