Weave Sync und Reg Server Setup unter Debian Lenny

Update vom 16.4.: Der Artikel ist schon einigermaßen veraltet. Daher würd ich den nicht mehr so genau nehmen. Einige Anmerkungen und für einige Probleme haben engagierte Nutzer Kommentare geschrieben. Wer wie ich mal einen Weave Sync Server unter Debian aufsetzen will, um einen eigenen Server zu haben mit dem das neue Firefox Sync Addon synchronisiert, dem wird die folgende Anleitung helfen. Voraussetzung für die Anleitung ist ein installierter Apache2 mit mindestens php 5.1, php-json, php-mysql und eine MySQL Installation. Zunächst hab ich in /var/www ein neues Verzeichnis erstellt und die Server (Sync und Reg Server heruntergeladen, beides entpackt und die Ordner umbenannt: mkdir weave &#038;&#038; cd weave wget http://hg.mozilla.org/services/sync-server/archive/tip.tar.gz wget http://hg.mozilla.org/services/reg-server/archive/tip.tar.gz tar xfz tip.tar.gz tar xfz tip.tar.gz.1 mv reg-server-828798f908a0/ reg-server mv sync-server-55d5049f6eeb/ sync-server Als nächstes hab ich erstmal einen neuen Vhost für den Apache angelegt und entsprechend der beiden Anleitungen (Sync und Reg) konfiguriert. Die sieht nun so aus: <VirtualHost myserver.de:80> ServerName myserver.de Redirect / https://myserver.de </VirtualHost> <VirtualHost myserver.de:443>&lt;br /> SSLEngine On SSLCertificateFile /etc/apache2/ssl/server-cert.pem SSLCertificateKeyFile /etc/apache2/ssl/server-key.pem ServerAdmin webmaster@myserver.de ServerName myserver.de DocumentRoot /var/www/weave Alias /1.0 /var/www/weave/sync-server/1.0/index.php Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php Alias /user/1 /var/www/weave/reg-server/1.0/index.php Alias /misc/1.0/captcha_html /var/www/weave/reg-server/1.0/captcha.php Alias /misc/1/captcha_html /var/www/weave/reg-server/1.0/captcha.php Alias /weave-registration-static /var/www/weave/reg-server/1.0/static Alias /weave-password-reset /var/www/weave/reg-server/1.0/forgot_password.php CustomLog /var/log/apache2/weave/access.log combined ErrorLog /var/log/apache2/weave/error.log DirectoryIndex index.php index.html index.htm ServerSignature Off <Directory "/var/www/weave/"> Options Indexes FollowSymLinks AllowOverride none Order allow,deny Allow from all </Directory> </VirtualHost> Anschließend muss eine neue Datenbank erstellt werden. Auf dieser muss dann der folgende SQL-Code ausgeführt werden, der die Tabellen erstellt: ...

Juli 1, 2010 · 4 Minuten

Gource und Dokuwiki – Bearbeitungen visualisieren

In Anlehnung an den französischen Blogeintrag von Wolverine will ich hier einmal auf deutsch erklären, wie man die Änderungen aus einem Dokuwiki mit Gource unter Ubuntu visualisiert. Zunächst installiert man, sofern noch nicht vorhanden, Gource: sudo aptitude install gource Anschließend muss das folgende Python-Script in eine Datei verfrachtet werden und ausführbar gemacht werden. Es dient dazu die *.changes$-Dateien vom Dokuwiki in ein für Gource lesbares Format zu bringen. #!/usr/bin/python """ This program parse logs of a dokuwiki and tranform them for gource (a log viewer) http://code.google.com/p/gource/ developped by WolverineX02 site : http://wolverinex02.blogspot.com """ import os.path import getopt import sys import re def listdirectory2(path): """list all the files like *.changes, read them and output them in gource's log syntax """ for root, dirs, files in os.walk(path): for i in files: if (re.search('\.changes$', i)): fichier = os.path.join(root, i) myfile = open(fichier, 'r') for line in myfile.readlines(): mots = line.split() if len(mots)>=5: resultat = mots[0] + "|" resultat += mots[4] + "|" resultat += translate(mots[2]) + "|" resultat += fichier print resultat elif len(mots)==4: resultat = mots[0] + "|Anonymous|" resultat += translate(mots[2]) + "|" resultat += fichier print resultat myfile.close() def translate(mot): """translate the dokuwiki vocabulary to the gource one C -> A E -> M other -> M """ if mot == "C": return "A" elif mot == "E": return "M" else: return "M" def main(argv): """principal function """ try: opts, args = getopt.getopt(argv, "hd:", ["help", "dokuwiki="]) except getopt.GetoptError: usage() sys.exit(2) for opt, arg in opts: if opt in ("-h","--help"): usage() sys.exit() elif opt in ("-d","--dokuwiki"): print listdirectory2(arg) def usage(): """this function will display how to use this script """ print "This script will output change logs of a dokuwiki" print "in a friendly way for gource" print "how to use it :" print "python gourcedoku.py -d ~/Sites/MyDokuwiki/ | sort > dokusort.log" print "and then :" print "gource --log-format custom dokusort.log --stop-position 1.0 \ " print "--stop-on-idle --file-idle-time 10000000" print "---" print "-h : help " print "-d : meta directory of your dokuwiki" #print listdirectory2(sys.argv[1]) if __name__ == "__main__": main(sys.argv[1:]) Nachdem man nun die Pythondatei (Bsp.name hier: doku2gource.py) hat, führt man folgenden Befehl aus: ...

Mai 15, 2010 · 2 Minuten

Witze dreiunddreißig

War mal ein junges Pärchen, das hatte einen Sohn geboren. Die Freude war groß und man hatte viel Spaß daran, den Kurzen heranwachsen zu sehen. Nur eines störte das Paar, der Sohn wollte nicht reden. Na ja dachten sie, die einen eher, die anderen später. Und dann, als zu Weihnachten die ganze Familie mit Oma, Opa, Tante, Onkel usw. zusammen saß, sagte der Kurze plötzlich “OPA”. Die tiefe Enttäuschung, dass das erste Wort nicht Mama oder Papa war, wurde von der Freude, dass er überhaupt etwas sagte überspielt. Aber, am nächsten Tage starb der Opa. Die Zeit ging ins Land, als der Kurze dann nach einigen Monaten plötzlich “OMA” sagte. Auch sie starb am nächsten Tag. Als der Kleine nach geraumer Zeit “PAPA” sagte, wurde seinem Vater doch etwas mulmig. Am nächsten Tag stand er dann auch ganz vorsichtig auf, fuhr vorsichtshalber mit dem Bus zur Arbeit. Während der Arbeit achtete er tunlichst auf sämtliche Vorsichtsmaßnahmen und fuhr auch mit dem Bus wieder nach Hause. Zu Hause angekommen, empfängt ihn seine Frau mit den Worten “Hallo Schatz, weißt Du wer heute gestorben ist? Der Postbote.” ...

Mai 3, 2010 · 2 Minuten

Clojure mit Netbeans unter Ubuntu installieren

Zunächst muss die Netbeans Java SE runtergeladen werden. Nun wird die runtergeladene Datei ausgeführt: strubbl:~$ sh netbeans-6.8-ml-javase-linux.sh Configuring the installer… Searching for JVM on the system… Extracting installation data… Running the installer wizard… Der anschließend geöffnete Assistent führt einen dann bequem durch die Installation. Nach dem Beenden der Installation kann man dann Netbeans einfach starten: strubbl:$ cd netbeans-6.8 strubbl:/netbeans-6.8$ ./bin/netbeans Bei der Frage nach der Übernahme der Daten, die von einer Netbeans 6.7 Installation stammen, verneine ich, da ich mehrere Netbeans Installationen auf dem Rechner habe. In Netbeans muss nun im Menü unter Tools > Plugins > Settings die Quelle für das Enclojure-Plugin hinzugefügt (Button Add) werden. Als Name gebe ich einfach Enclojure ein und die URL lautet: http://www.enclojure.org/file/view/Autoupdate_Site.xml.gz Nach dem Hinzufügen findet man in dem Tab Available Plugins nun Enclojure Clojure Plugin. Dies muss angehakt werden und anschließend wird auf Install geklickt, sodass das Plugin installiert wird (siehe folgendes Bild). ...

April 20, 2010 · 1 Minute

Authentifizierung für Dokuwiki am Woltlab Burning Board 3.1

Da ich die aktuelle Version “Lemming” eines Dokuwikis an meinem WBB-Forum authentifizieren lassen möchte, damit sich alle User, die bereits im Forum registriert sind, nicht noch einmal im Wiki registrieren müssen, habe ich meine Änderungen am Dokuwiki dokumentiert. Ich werde die Informationen, die dazu notwendig sind jedoch nicht hier pflegen, sondern im Dokuwiki an der entsprechenden Stelle, die hier wäre: http://www.dokuwiki.org/auth:mysql_wbb Ob diese Lösung auch für WBB-3.0 klappt, weiß ich nicht. Vielleicht kann das mal jemand testen und berichten. Ich hoffe ich konnte noch jemanden damit helfen. Update: Umsetzung nun ohne Gefusche im Core. :) Thanks to Splitbrain.

April 2, 2010 · 1 Minute