[11h46] WebDev -- Weiter geht es mit dem technischen Eintrag von
vorhin. Es geht um das Aufspielen einer Website inkl. einer Datenbank für einen Kunden.
Die Schwierigkeiten ergeben sich daraus, dass der Kunde den Webserver nicht bei einem normalen Hoster nimmt, sondern eine Kooperation mit einem branchenfremden Dienstleister eingegangen ist, nach dem Motto „wir machen so viel zusammen, habt ihr noch Platz für uns auf dem Webserver?“
Das IT-Personal dieses Dienstleisters hat zwar durchaus von IT eine Ahnung, aber Webserver einrichten ist nicht ihr täglich Brot, weswegen es eine Zeit gedauert hat. Die Gemengelage erforderte es, dass ich zwar auf den Webserver raufkomme, aber keinen groben Unfug mit der Website des Dienstleisters und andere Serverbereiche anstelle.
Herausgekommen ist eine Lösung, die da anfangs für mich wie eine uneinnehmbare Bergwand aussah.
Ich habe Zugang zu einer Art „Quarantäne-Bereich“ des Servers und kann in den dortigen Verzeichnissen meinen Krempel aufspielen. Hier komme ich mit SSH-Verbindungen, sei es via OS X-Client, sei es via Shell (ssh user@111.222.333.444
), rein.
Dieser „Quarantäne-Bereich“ hat erst mal nichts mit dem Webserver zu tun. Damit die Dateien auf dem Webserver raufkommen und im Browser für jedermann angezeigt werden, müssen die Dateien mittels vom Dienstleister selbstgeschriebenen Shell-Scripts auf dem Webserver kopiert werden. Dadurch kann ich auf dem Webserver nur von und nach /htdocs
und von/nach /cgi-bin
kopieren. Die Ausführung der Shell-Scripts geschieht via Shell bin/copy_htmldocs
oder so ähnlich.
Dies war alles relativ schnell zu eruieren. Der eigentlich Knackpunkt war aber die Verwaltung der Datenbank via phpMyAdmin. Den das saß in einem anderen Bereich des Servers, auf das ich ja eigentlich keinen direkten Browser-Zugriff hatte. Der IT-Verantwortliche konnte es mir auch nicht so richtig erklären. Ich hatte ein Puzzle-Spiel vor mir, bei dem ich die Begriffe „Port einrichten“, „SSH-Tunnel“, „geht nur mit Proxy“, „da ein anderes Passwort verwenden“, „diese URL“, „am besten unter Windows 'Putty' einsetzen“ irgendwie zusammensetzen musste.
Und wenn das Puzzle zusammengesetzt ist, ist das alles eigentlich recht simpel.
Zum Glück hatte ich Lesezugriffe auf Bereiche oberhalb meines „Quarantäne-Bereiches“ und die Konfigurationsdatei von phpMyAdmin gab mir das letzte, fehlende Puzzleteil.
Als erstes musste für einen Port ein sogenannter „SSH-Tunnel“ eingerichtet werden.
ssh -L 12345:www.webserver-intern.de:80 user@111.222.333.444
Der „Tunnel“ ist eine besonders gesicherte Ubertragungsverbindung zwischen mir und dem Server des Dienstleisters 111.222.333.444
. Alle Anfragen die ich auf dem Port 12345
herausgebe (z.B. http://localhost:12345
), werden vom Server des Dienstleisters an Port 80
von „www.webserver-intern.de
“ weitergeleitet.
Um phpMyAdmin via Browser zu verwalten, reicht es nicht den Port 12345 anzusprechen. Vielmehr muss im Browser der SSH-Tunnel als Proxy eingestellt werden: 127.0.0.1
und Port 12345
. phpMyAdmin ist für den Browser nun unter der Adresse „http://www.webserver-intern.de/phpMyAdmin/
“ zu erreichen.
So simpel aufzuschreiben, so schwer draufzukommen.