Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:installation_auf_webhoster

Dies ist eine alte Version des Dokuments!


Volkszaehler bei einem Webhoster installieren

Motivation

Nicht jeder hat vielleicht einen eigenen 24/7 Server für den Volkszähler zu Verfügung oder es nervt die Performance eines low-cost LAMP Ansatzes (z.B. auf IOMEGA ICONNECT). Wer bei einer Monatsanzeige schon mal gefühlte Stunden gewartet hat, sehnt sich nach mehr Leistung. Ein Lösungsansatz kann eine Webhoster Implementierung sein. Für einen erträglichen Monatsbetrag (geht so ab 1,99€/Monat los) bekommt man eine eigene Domain und ein paar GigaByte Webspace. Diese preiswerten Angebote bieten allerdings keinen root Zugang und somit ist die Einrichtung des Volkszählers nicht über den Standardweg zu erledigen. Mit ein paar Handmodifikationen läßt sich das aber in Griff kriegen.

Voraussetzungen

Für unsere Installation auf dem Webhoster gelten die gleichen Bedingungen für den VZ wie für jeden anderen Server. Auf die folgenden Punkte sollte man bei der Auswahl des Hosters achten:

  • PHP 5.3 (ganz wichtig!, die PHP Version kann zum Glück bei einigen Webhoster frei ausgewählt werden)
  • MySQL (mindestens eine Datenbank muss erlaubt sein)
  • phpmyadmin (Vereinfacht das eventuelle Eingreifen in die DB)
  • mysqldumper (dann können wir vorhandene Datenbanken einfacher auf den oder vom Webhoster transferieren)
  • PHP Skript Memory Limit min. 32M (sonst gibt es bei Monats- oder Jahresüberblicken eine PHP Fehlermeldung)

Meine Wahl fiel auf das Starter XXL Paket von http://www.alfahosting.de. Die folgenden Schritte beschreiben die Installation dort ist aber sicher auch für andere WebHoster gültig.

Vorbereitungen

Falls man nicht schon ein lauffähiges System am Start hat, sollte man z.B. über eine virtuelle Maschine den VZ gemäss der Anleitung installation aufsetzen. Schließlich haben wir auf dem Webhoster keinen root Zugang. Läuft alles wie erwarten kann der Umzug losgehen.

Umzug der Daten

Mit Hilfe von mysqldumper kopieren wir die gesamte Datenbank inkl. der Struktur auf den neuen Webserver. Dazu auf dem 'alten' Server mysqldumper starten, dann Menupunkt 'Backup' aufrufen und ein 'Neues Backup erstellen'. Je nach Datenmenge kann das ein paar Minuten dauern. Das Backup befindet sich dann unter mysqldumper/work/backup. Per FTP geht es dann rüber auf den Webhoster in das gleiche Verzeichnis. Eventuell muss man erst eine leere Datenbank über das Portal des Webhosters anlegen. Dann können wir wiederum mysqldumper aufrufen und die eben gesicherten Daten auf den neuen Server 'zurückspielen'. Im Menupunkt 'Wiederherstellung' erscheint jetzt unsere Sicherungsdatei zur Auswahl. Einfach selektieren und Button 'Wiederherstellen' drücken. Mit Hilfe von phpmyadmin läßt sich am Ende der Erfolg überprüfen.

Umzug der Skripte

Bei alfahosting gibt es das Verzeichnis /html, wohin alle http Aufrufe hingehen. Dies ist unser Zielverzeichnis. Nun per FTP die folgenden Directories (inkl. Sub-DIR) kopieren:

  • /var/www/vz/htdocs/* ⇒ /html/htdocs/*
  • /var/www/vz/etc/* ⇒ /html/etc/*
  • /var/www/vz/lib/* ⇒ /html/lib/*
  • /var/www/vz/misc/* ⇒ /html/misc/*
  • /usr/local/lib/volkszaehler.org/doctrine/* ⇒ /html/volkszaehler.org/doctrine/*
  • arial.ttf ⇒ /files/fonts/TrueType/arial.ttf (wird nur für jpGraph benötigt)

Anpassungen

Nun ist ein bisschen Tipp-Arbeit an den Skripten erforderlich.

''/html/etc/volkszaehler.conf.php''
...
// Benutzername (wird vom Webhoster vergeben)
$config['db']['user'] = 'webxxx';
...
// zugehöriges Password
$config['db']['password'] = 'password';
...
// Name der Datenbank (auch vom Webhoster beim Anlegen vergeben)
$config['db']['dbname'] = 'usr_webxxx_1'; 
...
// das gleiche noch mal für Admin
$config['db']['admin']['user'] = 'webxxx';
$config['db']['admin']['password'] = 'password';
...
// den absoluten Pfad zum /html Verzeichnis gibt es auch vom Webhoster 
$config['lib']['doctrine'] = '/var/www/webxxx/html/volkszaehler.org/doctrine'; 
$config['lib']['jpgraph'] = '/var/www/webxxx/html/lib/vendor/jpgraph';
...
''/html/etc/volkszaehler.conf''
// Old: Alias /volkszaehler.org /usr/share/volkszaehler.org/htdocs
Alias /volkszaehler.org /html/htdocs

// Old: <Directory /usr/share/volkszaehler.org>
<Directory /html>
...
''/html/middleware.php''
...
// change VZ path
// old: define('VZ_DIR', realpath(__DIR__ . '/..'));
define('VZ_DIR', '/var/www/webxxx/html');
...
''/html/lib/Util/Random.php''

Der folgende Part muss auskommentiert werden, da /dev/urandom auf dem WebHoster nicht zur Verfügung steht. Sonst gibt es Probleme bei der Erstellung neuer Kanäle.

...
	public static function init() {
//		if (is_readable('/dev/urandom')) {
//			self::$source = fopen('/dev/urandom', 'rb');
//			self::$func = 'fRead';
//		}
...
''jpGraph''

Falls jpGraph verwendet wird, muss das Directory /files/tmp/jpgraph_cache noch angelegt und die folgende Modifikation durchgeführen werden: Datei: /htmp/lib/vendor/jpgraph/jpg-config.inc.php

...
define('CACHE_DIR','/var/www/webxxx/files/tmp/jpgraph_cache/');
define('TTF_DIR','/var/www/webxxx/files/fonts/TrueType/');
define('MBTTF_DIR','/var/www/webxxx/files/fonts/TrueType/');
...

Ergebnis

Das Ergebnis ist dann über

http://<domain name>/htdocs/frontend

erreichbar. Zur Vereinfachung kann man eine Sub-Domain anlegen (lassen), die direkt auf htdocs verweist. Wer das mal auf meinem WebServer ausprobieren will: http://vz.rbulla.de. Die UUID für die Außentemperatur (in Langenfeld) lautet: e62976c0-7109-11e1-a585-8762f86249c1

howto/installation_auf_webhoster.1428161085.txt.gz · Zuletzt geändert: 2015/04/04 17:24 von andig