Weave-Server 1.0 mit mod_rewrite einrichten
1. Februar 2010Beim Versuch den neuen Weave-Server (Version 1.0) auf meinem Webserver zu installieren, bin ich auf einige Probleme gestoßen. Wie ich diese – durch ein paar auf mein Webhosting zugeschnittene Anpassungen – gelöst habe, will ich kurz beschreiben:
Vorweg sei gesagt, dass man sich grundsätzlich natürlich an die Installations-Anleitung halten sollte. Die meisten der dort beschriebenen Schritte werden an dieser Stelle vorausgesetzt!
Da ich keinen eigenen Webserver besitze unterliege ich (leider) einigen Beschränkungen, was die Konfiguration des Servers betrifft. Eine dieser Beschränkungen erlaubt es mir nicht, wie bei der Installation des Weave-Servers verlangt, Alias-Direktiven zu verwenden bzw. die Apache-Konfiguration anzupassen. Deshalb verwende ich zur Konfiguration „mod_rewrite“, welches ich per .htaccess konfiguriere.
Die Verwendung schau exemplarisch nun so aus:
# Replace following Aliases with mod_rewrite
#
# Alias /1.0 „<PATH_TO_DOCUMENT_ROOT>/weaveserver-sync/1.0/index.php“
RewriteRule ^1\.0/(.*) <PATH_TO_DOCUMENT_ROOT>/weaveserver-sync/1.0/index.php [PT,NC,L]
Weitere solcher Regeln muss man nun für die folgenden Aliase anlegen:
Alias /user/1.0 „/weaveserver-registration/1.0/index.php“
Alias /user/1 „/weaveserver-registration/1.0/index.php“
Alias /weave-registration-static „/weaveserver-registration/1.0/static“
Alias /weave-password-reset „/weaveserver-registration/1.0/forgot_password.php“
Eine weitere Besonderheit bei meinem Webhoster ist, dass die zur Authentifizierung erforderlichen Header nicht so ohne weiteres an das php-Skript weitergeleitet werden. Da kann man sich folgendermaßen behelfen:
# Forward the headers to the weave scripts
RewriteRule .* – [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* – [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
RewriteRule .* – [E=Authorization:%{HTTP:Authorization}]
RewriteRule .* – [E=AUTHORIZATION:%{HTTP:AUTHORIZATION}]
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule .* – [E=REDIRECT_HTTP_AUTHORIZATION:%{HTTP:REDIRECT_HTTP_AUTHORIZATION}]
Nun ist die Serverseitige-Konfiguration abgeschlossen und es fehlen nur mehr kleine Änderungen, die an 2 Skripts vorgenommen werden müssen.
Da der Weave-Server in dieser Konstellation die übergebene Pfade leider nicht richtig verarbeitet, muss man ihm das noch beibringen. Dazu wird jeweils in der index.php im Ordner weaveserver-sync/1.0 und weaveserver-registration/1.0 folgendes ergänzt (mit „HACK“ markiert):
$path = ‚/‘;
if (!empty($_SERVER[‚PATH_INFO‘]))
$path = $_SERVER[‚PATH_INFO‘];
else if (!empty($_SERVER[‚ORIG_PATH_INFO‘]))
$path = $_SERVER[‚ORIG_PATH_INFO‘];
//HACK
else if (!empty($_SERVER[‚REQUEST_URI‘]))
list($path) = explode(‚?‘, $_SERVER[‚REQUEST_URI‘]);
Eine kleine Änderung findet sich noch in der Zeile darunter, um die eingelesenen Pfade auch richtig zu übergeben:
//HACK
if (defined(‚WEAVE_ROOT_FOLDER‘))
$path = substr($path, strlen(WEAVE_ROOT_FOLDER)); #chop the root folder
else
$path = substr($path, 1); #chop the lead slash
Die Variable „WEAVE_ROOT_FOLDER“ ist dabei im Skript mit all den anderen Konstanten definiert. Im angebotenen Download ist das alles schon vorbereitet und man muss folgende Dateien lediglich noch an seine Konfiguration anpassen:
- .htaccess
- weaveserver-registration/1.0/weave_user_constants.php
- weaveserver-sync/1.0/default_constants.php
User Einrichtung
Manuell lassen sich Benutzer in z.B.: phpMyAdmin so einrichten:
insert into users (username, md5, email, status) values (‚username‘, md5(‚password‘), ‚user@example.com‘, 1);
Download
Das ganze Paket kann hier heruntergeladen werden.
Changelog
- 0.1 (20100202): Initial release
- 0.2 (20100205): Fixed typo
- 0.3 (20100205): Fixed problem with captcha
- 0.4 (20100214): Updated weaveserver-sync to revision „cb6a9595ed5c“ and weaveserver-registration to revision „09b8c61b6e87“
- 0.5 (20100406): Updated weaveserver-sync to revision „b3b982c60778“ and weaveserver-registration to revision „cef052cbac41“
- 0.6 (20100413): Updated weaveserver-sync to revision „36f6c5b82e2d“ and weaveserver-registration to revision „544cfa94c8e1“
- 0.7 (20100422): Updated weaveserver-sync to revision „511d1b8f24e6“ and weaveserver-registration to revision „957db6aa5daf“
- 0.8 (20100512): Updated weaveserver-sync to revision „3032e32701c1“ and weaveserver-registration to revision „9fb294d8a602“
- 0.9 (20100602): Updated weaveserver-sync to revision „26090417e838“ and weaveserver-registration to revision „6aa735150d14“
- 0.10 (20101024): Updated sync-server to revision „5b291f5d053b“ and reg-server to revision „579bb5fd405e“
[...] Glücklicherweise hat sich “crea-doo” die Mühe schon gemacht und
Dem Andreas sein Blog » Blog Archiv » Mozilla Weave (mit Server) | 4. Februar 2010 | 18:40[…] Glücklicherweise hat sich “crea-doo” die Mühe schon gemacht und stellt seine Arbeit hier zur Verfügung. 100%ig funktioniert es aber leider immer noch nicht, der weave-registration Server […]
Danke für die Updates! :-)
Klaus | 10. April 2010 | 12:47Danke für die Updates! 🙂
Hi, Guter Artikel, ich hoffe das wir uns auf eine
Adrianus | 14. April 2010 | 20:40Hi, Guter Artikel, ich hoffe das wir uns auf eine Fortsetzung Freuen koennen 🙂
Hallo, kann es sein, dass es trotz mod_rewrite bei einigen
Maik | 11. November 2010 | 13:32Hallo,
kann es sein, dass es trotz mod_rewrite bei einigen webhostern nicht funktioniert. Ich bekomme es bei 1blu absolut nicht zum laufen, obwohl es mit deinem Paket prinzipiell recht einfach sein sollte.
Über eine Mail würde ich mich freuen.
Viele Grüße