Changes

Jump to: navigation, search

Labs/Weave/Sync/1.0/Setup

4,680 bytes removed, 22:23, 29 July 2011
Replaced content with "This is deprecated in favor of http://docs.services.mozilla.com/howtos/run-sync.html"
'''It This is strongly recommended that you use the [[http://tobyelliott.wordpress.com/2009/09/11/weave-minimal-server Weave Minimal Server]] rather than a full install.'''  [https://wiki.mozilla.org/Labs/Weave/User/1.0/Setup Setting up the User API]  == Pre-Setup Considerations == It is strongly recommended that the Weave Server be set up under https, or behind a firewall with an https proxy in front of it. It uses standard http auth, which will send the password deprecated in the clear unless done over https. The Weave Server requires PHP with PDO and JSON support installed. This should be the case if you are running PHP 5.1+. PDO will need drivers for whatever storage and authentications engines are used. WebDav must not be enabled for this server - it intercepts some favor of the http packets and syncing will fail. == Setting up the Server == 1) You can get the latest server from http://hg.mozilladocs.org/services/sync-server/ 2) Edit your apache conf files to add the following: <pre>Alias /1.0 <full path to weave directory>/server-sync/1mozilla.0com/index.php<howtos/pre> 3) Copy 1.0/default_constants.php.dist to 1.0/default_constants.php and edit it as described below. If you have multiple hostnames, you can put override constant files into {HOST_NAME}_constants.php == Setting up Weave Authentication == In default_constants.php at the beginning (e.g. directly after the license-block) <pre>define('WEAVE_AUTH_ENGINE', '[mysql|none]');</pre> so for example <pre>define('WEAVE_AUTH_ENGINE', 'mysql');</pre> For more information on the auth store, see the [[Labs/Weave/User/1.0/Setup|user setup]] === Mysql === <pre>define('WEAVE_MYSQL_AUTH_HOST', '<db host>');define('WEAVE_MYSQL_AUTH_DB', '<db name>');define('WEAVE_MYSQL_AUTH_USER', '<db username>');define('WEAVE_MYSQL_AUTH_PASS', '<db password>');</pre> == Setting up Weave Storage == <pre>define('WEAVE_STORAGE_ENGINE', 'mysql');</pre> === Mysql === Create the mysql database. Add the following tables: <pre>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, `ttl` int(11) default '2100000000', 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; </pre>  Edit your constant file: <pre>define('WEAVE_MYSQL_STORE_READ_HOST', '<db host>');define('WEAVE_MYSQL_STORE_READ_DB', '<db name>');define('WEAVE_MYSQL_STORE_READ_USER', '<db username>');define('WEAVE_MYSQL_STORE_READ_PASS', '<db password>'); 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);</pre> == Other Constants == <pre>define('WEAVE_PAYLOAD_MAX_SIZE', '<bytes>');</pre> Caps the size (in bytes - watch out for large unicode characters!) of a payload.  == Sample virtual host config ==Sample Virtual host config for a server having SSL. For debian placed in /etc/apache2/sites-enabled/, weave server directory located at /var/www/weaveserverrun-sync.<pre><VirtualHost weave.my.domain:443> ServerName weave.my.domainDocumentRoot /var/www/weaveserver-sync/ ErrorLog /var/log/apache2/weaveserver-error.logCustomLog /var/log/apache2/weaveserver-access.log combined SSLENgine onSSLCertificateKeyFile /path/to/server.cert.keySSLCertificateFile /path/to/server.cert.crt <Directory "/var/www/weaveserver-sync/"> Options Indexes FollowSymLinksAllowOverride noneOrder allow,denyAllow from all</Directory> Alias /1.0 /var/www/weaveserver-sync/1.0/index.php </VirtualHost></pre> In your weave-clients only enter weave.my.domain as server location. Some hints:* if you have a self-signed certificate for SSL (or it is not valid because of any other reason) you have to visit your server once manually and accept the certificate permanently ==Editing the Client==Select "Use a custom server" from the sync menu and point it to the root of the APIhtml
Canmove, confirm
1,173
edits

Navigation menu