Неудачный эксперимент. Может, позже вернусь к этой теме.
До FireFox 29 нормально работало централизованное хранилище, основанное на моем “домашнем” owncloud . А теперь, без совершенно дикого шаманства на новом компьютере FF к синхронизации и не подключить. Надоело. Хочу попробовать запустить у себя полный комплект: сервер аккаунтов, контента, базы и, собственно, синхронизации закладок, истории и прочего.
Ссылки:
- Run your own Firefox Accounts Server
- Firefox Accounts Server – readme
- Firefox Accounts Content Server – readme
- Firefox Accounts DB Server – readme
- Run your own Sync-1.5 Server
- firefox 29 no longer sync to owncloud
У меня – 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 можно увидеть нашу свеженькую учётную запись.