Ноя 212015
 

Неудачный эксперимент. Может, позже вернусь к этой теме.

До FireFox 29 нормально работало централизованное хранилище, основанное на моем “домашнем” owncloud . А теперь, без совершенно дикого шаманства на новом компьютере FF к синхронизации и не подключить. Надоело. Хочу попробовать запустить у себя полный комплект: сервер аккаунтов, контента, базы и, собственно, синхронизации закладок, истории и прочего.

Ссылки:

У меня – Debian. Начинаем с установки требуемых пакетов.

apt-get install python-dev git-core python-virtualenv nodejs libgmp3-dev
npm install -g mysql convict bunyan mysql-patcher restify bluebird
npm install -g npm@2
npm install -g grunt grunt-cli url - я не уверен, что это надо, но пусть будет.

Ещё надо проверить наличие программы pgrep

Создаём пользователя и группу, так безопаснее. Переключаемся на этого пользователя.

groupadd -g НомерГруппы fxa
useradd -c "Firefox Services" -d /home/fxa -m -g НомерГруппы -p Пароль -s /bin/false -u НомерПользователя fxa
su - fxa -s /bin/bash

git clone https://github.com/mozilla/fxa-auth-server/
git clone https://github.com/mozilla/fxa-content-server/
git clone https://github.com/mozilla/fxa-auth-db-server/

Создадим базу

mysql -u root -p
Enter password:
mysql> create database `fxa` character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON `fxa`.* TO `fxa`@localhost IDENTIFIED BY 'Пароль';
Query OK, 0 rows affected (0.00 sec)

mysql> Bye

Настраиваем Firefox Accounts DB Server – сервер базы данных. В файле fxa-auth-db-server/config/config.js меняем параметры пользователя, пароля и базы (то, что вводили при создании, чуть выше). Важно: меняем и для master и для slave! Я день потратил, пока понял, что криво читается конфигурация. Ну, или я того…  Заходим в проект (cd fxa-auth-db-server) и запускаем создание базы. Если выскочит ошибка, типа – “нет модуля” – придётся запустить npm install -g <недостающийМодуль>. Итак,

node bin/db_patcher.js
{"name":"db-patcher","hostname":"dc","pid":23744,"level":30,"msg":"Database patched to level 7","time":"2014-12-13T19:39:16.500Z","v":0}

Поскольку у меня настроен phpmyadmin, загляну, что там. Выглядит круто 🙂 , запускаем:

npm start

Странно, но работает 🙂 Поскольку в фоновый режим оно не уходит, придётся брать другой терминал. теперь надо запустить Auth Server. Логинимся, опять же,  под fxa и переходим теперь в каталог fxa-auth-server .  npm install – прошло без ошибок. Меняем в config/config.js ссылку на content-server (по умолчанию 127.0.0.1) . Запускаем:

npm start

Смотрим логи на экране. Берём третий терминал 🙂 , на очереди Content Server, переходим в fxa-content-server

cp server/config/local.json-dist server/config/local.json
npm install
npm start

Смотрим логи. Теперь Run your own Sync-1.5 Server. Ещё один терминал.

git clone https://github.com/mozilla-services/syncserver
cd syncserver
make build

Меняем в конфиге public_url и sqluri . Запускаем:

local/bin/pserve syncserver.ini

Уже привычно смотрим логи. Попробуем на localhost завести пользователя. Загружаем браузер, вводим url: http://localhost:3030/ – регистрируем пользователя. Обнаруживаем, что почта на верификацию e-mail не уходит. Берём эту ссылку из лога auth-server’a (у меня она подсвечивается зелёным), вводим в адресную строку браузера. О чудо, запись активирована. Теперь, если залезть в MySQL базу, то там, в таблице accounts можно увидеть нашу свеженькую учётную запись.