Debian MozillaSync: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: =Allgemein= Mittels Mozilla Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) und dem hier vorgestellten Mozilla Syncserver kann auf elegante und ...)
 
Keine Bearbeitungszusammenfassung
Zeile 119: Zeile 119:
=Apache Virtualhost=
=Apache Virtualhost=
Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt:
Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt:
vi /etc/apache2/sites-enabled/mozilla-sync_https.conf
Folgende Zeile eingeben (den ServerName mozillasync.domain.org anpassen):
<VirtualHost *:443>
    SSLEngine On
    SSLKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    ServerName mozillasync.domain.org
    DocumentRoot /var/www/mozilla-sync
    Alias /1.0      /var/www/mozilla-sync/sync-server/1.0/index.php
    Alias /user/1.0 /var/www/mozilla-sync/reg-server/1.0/index.php
    Alias /user/1  /var/www/mozilla-sync/reg-server/1.0/index.php
    Alias /misc/1.0/captcha_html    /var/www/mozilla-sync/reg-server/1.0/captcha.php
    Alias /misc/1/captcha_html      /var/www/mozilla-sync/reg-server/1.0/captcha.php
    Alias /weave-registration-static /var/www/mozilla-sync/reg-server/1.0/static
    Alias /weave-password-reset      /var/www/mozilla-sync/reg-server/1.0/forgot_password.php
    CustomLog /var/log/apache2/mozilla-sync/access.log combined
    ErrorLog /var/log/apache2/mozilla-sync/error.log
    DirectoryIndex index.php index.html index.htm
    ServerSignature Off
    <Directory "/var/www/mozilla-sync/">
      Options Indexes FollowSymLinks
      AllowOverride none
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>
Dieser Virtualhost verwendet eigene Access- und Error- Logfiles. Für diese wird ein eigenes Unterverzeichnis angelegt:
mkdir /var/log/apache2/mozilla-sync


 
Apache neu starten:
 
/etc/init.d/apache2 restart


=Client Installation und Konfiguration=
=Client Installation und Konfiguration=

Version vom 30. September 2010, 20:40 Uhr

Allgemein

Mittels Mozilla Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) und dem hier vorgestellten Mozilla Syncserver kann auf elegante und sichere Art und Weise (https-Übertragung) die Bookmarks, Passwörter und geöffnete Tabs synchronisiert werden.

Der komplette Syncdiesnt besteht aus zwei Teilen. Der Sync-Server kümmert sich um die Synchronisation der Firefox-Daten. Der reg-server kümmert sich um die User authorisierung. Sämtliche Sync- und userdaten werden in einer MySQL-Datenbank abgelegt. Die Installation ist leider etwas aufwändiger, da kein Debian Paket zur Verfügung steht.

Voraussetzung:


Installation

Download

Download Verzeichnis erstellen und downloaden:

mkdir /usr/local/src/mozilla_sync
cd /usr/local/src/mozilla_sync
wget http://hg.mozilla.org/services/sync-server/archive/tip.tar.gz -O sync-server.tar.gz
wget http://hg.mozilla.org/services/reg-server/archive/tip.tar.gz -O reg-server.tar.gz

entpacken:

tar -xvf sync-server.tar.gz
tar -xvf reg-server.tar.gz

Verschieben auf den Webserver und Rechte anpassen:

mkdir /var/www/mozilla-sync
mv  mv sync-server-[TAB-Taste] /var/www/mozilla-sync/sync-server
mv reg-server-[TAB-Taste] /var/www/mozilla-sync/reg-server
Bulbgraph.png Hinweis:

In obigen beiden Befehlen ist [TAB-Taste] erforderlich, um den Pfadnamen automatisch zu vervollständigen. Der Pfad ändert sich relativ schell, da immer wieder neue Versionen von Sync- und Reg-Server veröffentlicht werden, und diese sich in geänderten Pfadnamen wiederspiegeln.

chown -R www-data:www-data /var/www/mozilla-sync


MySQL-Datenbank anlegen:

Datenbank und User anlegen:

mysql -u root -p

Passwort sql_root_pwd eingeben, wenn danach gefragt wird. Dann folgende Befehle eingeben (mozillasync_pwd mit dem gew. Datenbank Passwort ersetzen):

CREATE DATABASE mozillasync;
GRANT ALL PRIVILEGES ON mozillasync.* TO mozillasync@localhost IDENTIFIED BY 'mozillasync_pwd';
exit

SQL-Template angelegen, das anschließend die nötigen Tabellen in der SQL Datenbank erzeugt.

vi mozillasync.sql

Folgende Zeilen einfügen:

CREATE TABLE `collections` (
  `userid` int(11) NOT NULL,
  `collectionid` smallint(6) NOT NULL,
  `name` varchar(32) NOT NULL,
  PRIMARY KEY  (`userid`,`collectionid`),
  KEY `nameindex` (`userid`,`name`)
) ENGINE=InnoDB;

CREATE TABLE `wbo` (
  `username` int(11) NOT NULL,
  `collection` smallint(6) NOT NULL DEFAULT '0',
  `id` varbinary(64) NOT NULL DEFAULT ,
  `parentid` varbinary(64) DEFAULT NULL,
  `predecessorid` varbinary(64) DEFAULT NULL,
  `sortindex` int(11) DEFAULT NULL,
  `modified` bigint(20) DEFAULT NULL,
  `payload` longtext,
  `payload_size` int(11) DEFAULT NULL,
  PRIMARY KEY  (`username`,`collection`,`id`),
  KEY `parentindex` (`username`,`collection`,`parentid`),
  KEY `modified` (`username`,`collection`,`modified`),
  KEY `weightindex` (`username`,`collection`,`sortindex`),
  KEY `predecessorindex` (`username`,`collection`,`predecessorid`),
  KEY `size_index` (`username`,`payload_size`)
) ENGINE=InnoDB;

CREATE TABLE users (
  id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  username varchar(32),
  password_hash varbinary(128),
  email varbinary(64),
  STATUS tinyint(4) DEFAULT '1',
  alert text,
  reset varbinary(32) DEFAULT NULL
) engine=InnoDB;


Datenbank Template importieren (sql_root_pwd erforderlich):

 mysql -u root -p mozillasync <mozillasync.sql


Konfiguration

Sync-Server:

cd /var/www/mozilla-sync/sync-server/1.0
cp default_constants.php.dist default_constants.php
vi default_constants.php

Nach "# ***** END LICENSE BLOCK *****" folgende Zeilen einfügen und mozillasync_pwd mit dem beim Erstellen der Datenbank angegebenem Datenbank Passwort ersetzen:

define('WEAVE_MYSQL_AUTH_DB', 'mozillasync');
define('WEAVE_MYSQL_AUTH_USER', 'mozillasync');
define('WEAVE_MYSQL_AUTH_PASS', 'mozillasync_pwd');
define('WEAVE_STORAGE_ENGINE', 'mysql');
define('WEAVE_MYSQL_STORE_READ_HOST', 'localhost');
define('WEAVE_MYSQL_STORE_READ_DB', 'mozillasync');
define('WEAVE_MYSQL_STORE_READ_USER', 'mozillasync');
define('WEAVE_MYSQL_STORE_READ_PASS', 'mozillasync_pwd');
define('WEAVE_MYSQL_STORE_WRITE_HOST', WEAVE_MYSQL_STORE_READ_HOST);
define('WEAVE_MYSQL_STORE_WRITE_DB', WEAVE_MYSQL_STORE_READ_DB);
define('WEAVE_MYSQL_STORE_WRITE_USER', WEAVE_MYSQL_STORE_READ_USER);
define('WEAVE_MYSQL_STORE_WRITE_PASS', WEAVE_MYSQL_STORE_READ_PASS);

Reg-Server:

cd /var/www/mozilla-sync/reg-server/1.0
cp weave_user_constants.php.dist weave_user_constants.php
vi weave_user_constants.php

Nach "# ***** END LICENSE BLOCK *****" folgende Zeilen einfügen und mozillasync_pwd mit dem beim Erstellen der Datenbank angegebenem Datenbank Passwort ersetzen:

define('WEAVE_AUTH_ENGINE', 'mysql');
define('WEAVE_MYSQL_AUTH_HOST', 'localhost');
define('WEAVE_MYSQL_AUTH_DB', 'mozillasync');
define('WEAVE_MYSQL_AUTH_USER', 'mozillasync'
define('WEAVE_MYSQL_AUTH_PASS', 'mozillasync_pwd');
define('WEAVE_SHA_SALT', 'Weave_Salt');
Warning.png Achtung:

Für den Parameter WEAVE_SHA_SALT eine beliebige sehr lange (mind. 25 Zeichen) Text/Zahlenkombination Weave_Salt eingeben. Dies ist enorm wichtig für die verwendete SHA256-Verschlüsselung


Apache Virtualhost

Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt:

vi /etc/apache2/sites-enabled/mozilla-sync_https.conf

Folgende Zeile eingeben (den ServerName mozillasync.domain.org anpassen):

<VirtualHost *:443>
   SSLEngine On
   SSLKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
   SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
   ServerName mozillasync.domain.org
   DocumentRoot /var/www/mozilla-sync
   Alias /1.0      /var/www/mozilla-sync/sync-server/1.0/index.php
   Alias /user/1.0 /var/www/mozilla-sync/reg-server/1.0/index.php
   Alias /user/1   /var/www/mozilla-sync/reg-server/1.0/index.php
   Alias /misc/1.0/captcha_html     /var/www/mozilla-sync/reg-server/1.0/captcha.php
   Alias /misc/1/captcha_html       /var/www/mozilla-sync/reg-server/1.0/captcha.php
   Alias /weave-registration-static /var/www/mozilla-sync/reg-server/1.0/static
   Alias /weave-password-reset      /var/www/mozilla-sync/reg-server/1.0/forgot_password.php
   CustomLog /var/log/apache2/mozilla-sync/access.log combined
   ErrorLog /var/log/apache2/mozilla-sync/error.log
   DirectoryIndex index.php index.html index.htm
   ServerSignature Off
   <Directory "/var/www/mozilla-sync/">
      Options Indexes FollowSymLinks
      AllowOverride none
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>

Dieser Virtualhost verwendet eigene Access- und Error- Logfiles. Für diese wird ein eigenes Unterverzeichnis angelegt:

mkdir /var/log/apache2/mozilla-sync

Apache neu starten:

/etc/init.d/apache2 restart

Client Installation und Konfiguration