crea-doo | weblog

Not just another weblog
  • rss
  • Home
  • Anmelden

Weave-Server 1.0 mit mod_rewrite einrichten

1. Februar 2010

Beim 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“
Kommentare
4 Kommentare »
Kategorien
PHP, Technology
RSS Kommentare RSS Kommentare
Trackback Trackback

Cross browser fading tabs

17. August 2005

Da hat der Australier Jake Tracey ein wenig herumgespielt und die Sliding-Doors-Navigation mit AJAX kombiniert: Cross browser fading tabs
Das Beispiel schaut wirklich Klasse aus…

Kommentare
Kommentare deaktiviert für Cross browser fading tabs
Kategorien
PHP, Technology
RSS Kommentare RSS Kommentare
Trackback Trackback

CSS Server-Side Constants

Auf der Homepage von Shaun Inman – Webdesigner und Autor des sehr nützlichen ShortStat – gibt es nun ein „CSS Server-Side Constants“-Skript zum Download. Es ermöglicht das Einfügen von Konstanten in die CSS-Datei, in der – mittels des eingebauten Parsers – alle Vorkommen der Variable im regulären CSS ersetzt werden. So können mehrfach auftretende Werte, die sonst einzeln von Hand geändert werden müssten, mit einer einfachen Veränderung erneuert werden.

Update: Eine neue Version ist verfügbar: Artikel | zip-File

Installation Die Installation gestaltet sich relativ einfach:

  • Download des CSS-SSC replacement script
  • Kopieren der ‚css-ssc.php‘ in den Ordner, in dem die CSS-Stylesheets liegen
  • Anlegen der ‚.htaccess‘ und Eintragen von:
    RewriteEngine on
    RewriteCond %{REQUEST_URI} \.css$
    RewriteRule ^(.+)$ css-ssc.php?css=%{REQUEST_URI}
  • Eintragen der Section ‚@server constants‘ wie folgt:
    @server constants {
    constantName: constantValue;
    }
  • Verwenden der Konstanten:
    selector {
    property: constantName;
    }

Es gibt auch die Möglichkeit – gleich der @import-Regel bei CSS – mittels

@server url(constants.css);

eine Konstanten Datei zu importieren.
css-ssc

Kommentare
Kommentare deaktiviert für CSS Server-Side Constants
Kategorien
iTunesSpy, PHP, Technology
RSS Kommentare RSS Kommentare
Trackback Trackback

Navigation

  • Personal Feed für alle unter Personal abgelegten Beiträge
  • Podcast Feed für alle unter Podcast abgelegten Beiträge
  • Site News Feed für alle unter Site News abgelegten Beiträge
  • Technology Feed für alle unter Technology abgelegten Beiträge
    • .Net Feed für alle unter .Net abgelegten Beiträge
    • GPS Feed für alle unter GPS abgelegten Beiträge
    • iPod Feed für alle unter iPod abgelegten Beiträge
    • iTunes Feed für alle unter iTunes abgelegten Beiträge
    • Mac OS X Feed für alle unter Mac OS X abgelegten Beiträge
    • PHP Feed für alle unter PHP abgelegten Beiträge
    • VB Feed für alle unter VB abgelegten Beiträge
      • iTunesWatcher Feed für alle unter iTunesWatcher abgelegten Beiträge
    • WordPress Feed für alle unter WordPress abgelegten Beiträge
      • iTunesSpy Feed für alle unter iTunesSpy abgelegten Beiträge

Suche

Links

  • Blogroll
    • bartelme.at
    • bensite.net
    • computerbase.de
    • CSS Beauty
    • freesoftwaremagazine.com
    • Pixelgraphix
rss RSS Kommentare valid xhtml 1.1 powered by Wordpress FireFox - Search Plugin