Jul
01
2010
2

Weave Sync und Reg Server Setup unter Debian Lenny

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:

 Bash |  copy |? 
1
mkdir weave && cd weave
2
wget http://hg.mozilla.org/services/sync-server/archive/tip.tar.gz
3
wget http://hg.mozilla.org/services/reg-server/archive/tip.tar.gz
4
tar xfz tip.tar.gz
5
tar xfz tip.tar.gz.1
6
mv reg-server-828798f908a0/ reg-server
7
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:

 Bash |  copy |? 
01
<VirtualHost myserver.de:80>
02
        ServerName myserver.de
03
        Redirect / https://myserver.de
04
</VirtualHost>
05
 
06
<VirtualHost myserver.de:443>
07
        SSLEngine On
08
        SSLCertificateFile /etc/apache2/ssl/server-cert.pem
09
        SSLCertificateKeyFile /etc/apache2/ssl/server-key.pem
10
        ServerAdmin webmaster@myserver.de
11
        ServerName myserver.de
12
        DocumentRoot /var/www/weave
13
        Alias /1.0      /var/www/weave/sync-server/1.0/index.php
14
        Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php
15
        Alias /user/1   /var/www/weave/reg-server/1.0/index.php
16
        Alias /misc/1.0/captcha_html    /var/www/weave/reg-server/1.0/captcha.php
17
        Alias /misc/1/captcha_html      /var/www/weave/reg-server/1.0/captcha.php
18
        Alias /weave-registration-static        /var/www/weave/reg-server/1.0/static
19
        Alias /weave-password-reset             /var/www/weave/reg-server/1.0/forgot_password.php
20
        CustomLog /var/log/apache2/weave/access.log combined
21
        ErrorLog /var/log/apache2/weave/error.log
22
        DirectoryIndex index.php index.html index.htm
23
        ServerSignature Off
24
        <Directory "/var/www/weave/">
25
                Options Indexes FollowSymLinks
26
                AllowOverride none
27
                Order allow,deny
28
                Allow from all
29
        </Directory>
30
</VirtualHost>

Anschließend muss eine neue Datenbank erstellt werden. Auf dieser muss dann der folgende SQL-Code ausgeführt werden, der die Tabellen erstellt:

 SQL |  copy |? 
01
CREATE TABLE `collections` (
02
  `userid` int(11) NOT NULL,
03
  `collectionid` smallint(6) NOT NULL,
04
  `name` varchar(32) NOT NULL,
05
  PRIMARY KEY  (`userid`,`collectionid`),
06
  KEY `nameindex` (`userid`,`name`)
07
) ENGINE=InnoDB;
08
 
09
CREATE TABLE `wbo` (
10
  `username` int(11) NOT NULL,
11
  `collection` smallint(6) NOT NULL DEFAULT '0',
12
  `id` varbinary(64) NOT NULL DEFAULT '',
13
  `parentid` varbinary(64) DEFAULT NULL,
14
  `predecessorid` varbinary(64) DEFAULT NULL,
15
  `sortindex` int(11) DEFAULT NULL,
16
  `modified` bigint(20) DEFAULT NULL,
17
  `payload` longtext,
18
  `payload_size` int(11) DEFAULT NULL,
19
  PRIMARY KEY  (`username`,`collection`,`id`),
20
  KEY `parentindex` (`username`,`collection`,`parentid`),
21
  KEY `modified` (`username`,`collection`,`modified`),
22
  KEY `weightindex` (`username`,`collection`,`sortindex`),
23
  KEY `predecessorindex` (`username`,`collection`,`predecessorid`),
24
  KEY `size_index` (`username`,`payload_size`)
25
) ENGINE=InnoDB;
26
 
27
CREATE TABLE users (
28
 id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
29
 username varchar(32),
30
 password_hash varbinary(128),
31
 email varbinary(64),
32
 STATUS tinyint(4) DEFAULT '1',
33
 alert text,
34
 reset varbinary(32) DEFAULT NULL
35
) engine=InnoDB;

Schließlich müssen die beiden Server nur noch eingerichtet werden. Zunächst den Sync Server:

 Bash |  copy |? 
1
cd /var/www/weave/sync-server/1.0/
2
cp default_constants.php.dist default_constants.php

Anschließend wird die weave_constants.php bearbeitet. Direkt in der Zeile nach <?php werden die folgenden Zeilen eingefügt, die auf die eigenen Bedürfnisse angepasst werden müssen:

 PHP |  copy |? 
01
define('WEAVE_AUTH_ENGINE', 'mysql');
02
define('WEAVE_MYSQL_AUTH_HOST', '<db host>');
03
define('WEAVE_MYSQL_AUTH_DB', '<db name>');
04
define('WEAVE_MYSQL_AUTH_USER', '<db username>');
05
define('WEAVE_MYSQL_AUTH_PASS', '<db password>');
06
define('WEAVE_STORAGE_ENGINE', 'mysql');
07
define('WEAVE_MYSQL_STORE_READ_HOST', '<db host>');
08
define('WEAVE_MYSQL_STORE_READ_DB', '<db name>');
09
define('WEAVE_MYSQL_STORE_READ_USER', '<db username>');
10
define('WEAVE_MYSQL_STORE_READ_PASS', '<db password>');
11
 
12
define('WEAVE_MYSQL_STORE_WRITE_HOST', WEAVE_MYSQL_STORE_READ_HOST);
13
define('WEAVE_MYSQL_STORE_WRITE_DB', WEAVE_MYSQL_STORE_READ_DB);
14
define('WEAVE_MYSQL_STORE_WRITE_USER', WEAVE_MYSQL_STORE_READ_USER);
15
define('WEAVE_MYSQL_STORE_WRITE_PASS', WEAVE_MYSQL_STORE_READ_PASS);

Nachdem nun der Sync Server konfiguriert ist, muss der Reg Server noch konfiguriert werden.

 Bash |  copy |? 
1
cd /var/www/weave/reg-server/1.0/
2
cp weave_user_constants.php.dist weave_user_constants.php

Die kopierte weave_user_constants.php muss nun noch mit folgenden anzupassenden Zeilen nach dem Lizenzblock ergänzt werden:

 PHP |  copy |? 
1
# ***** END LICENSE BLOCK *****
2
define('WEAVE_AUTH_ENGINE', 'mysql');
3
define('WEAVE_MYSQL_AUTH_HOST', '<db host>');
4
define('WEAVE_MYSQL_AUTH_DB', '<db name>');
5
define('WEAVE_MYSQL_AUTH_USER', '<db username>');
6
define('WEAVE_MYSQL_AUTH_PASS', '<db password>');
7
define('WEAVE_SHA_SALT', '<hier einen langen, zufälligen salt eingeben; wichtig für sha256>');
8

Das war es eigentlich schon. Wenn ihr beim Einrichten des Plugins nun eure eigene URL https://myserver.de eingebt, solltet ihr euch einen Account erstellen können und mit dem Server synchronisieren können. Ich hatte leider noch ein Problem mit dem Sync Server.

Ich habe auf meinem Server nur die deutsche Locale installiert:

 Bash |  copy |? 
1
strubbl:~$ locale -a
2
C
3
de_DE.utf8
4
POSIX

Dadurch gab es einen Fehler. Dieser wurde in der Datei /var/www/sync-server/1.0/weave_user/mysql.php in Zeile 84 geworfen. Die Zeile 83 lautet:

 PHP |  copy |? 
1
if (setlocale(LC_CTYPE, "UTF8", "en_US.UTF-8") == false)

Wenn man die Locale en_US nicht installiert hat, einfach durch die ersetzen, die man hat. Bei mir ist das dann de_DE und die Zeile sieht wie folgt aus:
 PHP |  copy |? 
1
if (setlocale(LC_CTYPE, "UTF8", "de_DE.UTF-8") == false)

Wenn es endlich alles läuft, wird man auf die Webseite geleitet: First Run.
Richtet man einen zweiten PC mit dem Sync Account ein, wird man dann auf die Webseite geleitet: Second Run.

Jun
10
2009
0

Firefox Rechtsklick geht nicht mehr

Seit kurzem geht bei meinem Firefox innerhalb des Fensterteils, wo die Website angezeigt wird, die Context-Menü des Rechtsklicks nicht mehr. Wenn ich dann ~/.mozilla beispielsweise nach ~/.mozilla-bak verschiebe und den Firefox neustarte, so funktioniert der Rechtsklick wieder. Allerdings sind damit auch alle meine persönlichen Einstellungen zurückgesetzt.

Da ich das nicht will, habe ich in einem Ubuntuforum die Workaround-Lösung gefunden, das Addon “Mouse Gestures” zu installieren. Damit funktioniert das Rechtsklick-Menü vorläufig wieder.

Written by Strubbl in: ubuntu | Schlagwörter:, , , |
Aug
20
2008
0

2000 NES Games im Browser zocken

Für Firefox gibt es ein tolles Plugin: Firenes. Wenn man Java und dieses Addon installiert hat, dann ist es möglich ca. 2000 alte Nintendo NES Games im Browser zu zocken. Gesteuert wird mit den Tast CTRL, Enter, X und Y.

Wo ich das gefunden habe? Hierher: lifehacker

Okt
25
2007
0

Standard-Browser unter Gnome ändern

Da ich oft aus Emails Links direkt öffnen möchte, wollte ich, dass Iceweasel mein Standardbrowser ist und nicht Epiphany. Dann dachte ich, dass man das ganz leicht immer von Iceweasel überprüfen lassen kann. Das brachte aber rein gar nichts. Sei’s drum…
Im Internet habe ich die folgende Lösung gefunden: Man geht auf System->Einstellungen->Bevorzugte Anwendungen und stellt dort ein, was man bevorzugt. Also Einstellungen vorgenommen, aber immernoch öffnen sich Links aus Icedove im Epiphany.
Weiteres googlen führte mich dann zu der Lösung mittels
[bash]$ dpkg-reconfigure icedove[/bash]
Icedove neu zu konfigurieren. Dort stellt man als bevorzugte Art der Browserintegration einfach GNOME ein und schon funktioniert es, wenn man im oben genannten System-Menü den gewünschten Browser einstellt.

Aug
29
2007
0

Eine Codezeile lässt den Internet Explorer 6 abstürzen

Wie ein japanischer Blogger rausgefunden hat, lässt sich mit einer simplen Zeile HTML und CSS der IE6 zum Absturz bringen. Diese eine Zeile lautet:

 HTML |  copy |? 
1
2
<style>*{position:relative}</style><table><input></table>
3

Wenn man das mal ausprobieren will, bitteschön: http://hamachiya.com/junk/ie_crash.html

Mit dem Firefox, Opera oder Safari sollte auf dieser Seite alles korrekt gerendert werden. Hoch lebe Microsoft!