Skip to main content

Налаштування сервісу для синхронізації Firefox версії 1.5



Якщо ви користуєтеся браузером Mozilla Firefox (Iceweasel) , то напевно знаєте про найгарнішою можливості - синхронізації даних: паролів, закладок, налаштувань, доповнень і т.д. А володіючи власним сервером на ос лінукс, ви можете з легкістю організувати своє власне сховище.

У версії 1.0 сервіс повністю був замінним. Тобто, в настройках браузера ви могли вказати адресу вашого сервера і реєстрація аккаунта, і зберігання даних проводилися на вашому сервері. Але починаючи з версії 1.5 - сервіс синхронізації є лише частиною сервісів Mozilla. Можна як і раніше налаштувати свій сервіс синхронізації, але реєстрація аккаунта буде проведена через сайт Мозилли. А зберігатися дані будуть у вас на сервері. :)



Правда, можна запустити відразу Mozilla Accounts у себе на сервері. Але це, можливо, буде розглянуто в наступній статті.

Також рекомендую вам в обов'язковому порядку створити користувача, від імені якого буде запускатися сервіс синхронізації Firefox.

Зміст статті:

установка компонентів

Встановіть необхідні компоненти:


  # Aptitude install python-dev git-core python-virtualenv 

Тепер ви можете приступити до складання сервісу з вихідних файлів. Але спочатку їх потрібно скопіювати за допомогою git.

  # Git clone https://github.com/mozilla-services/syncserver 

Переходимо в папку з вихідними кодами.

  # Cd syncserver 

І збираємо ...


  # Make build 

Налаштування Sync Server

Мій сайт, через який будуть синхронізуватися дані, працює по протоколу https, а в якості веб-сервера виступає nginx. Всі запити на синхронізацію проксіруются від nginx до сервісу синхронізації. Тому і конфігураційні параметри будуть приведені з урахуванням цього.

Конфігураційний файл - syncserver.ini. Відкрийте його в вашому улюбленому текстовому редакторі і змінити такі установки.

  [Syncserver]
 public_url = https://mysite.com/dir/ 

Тут слід вказати, за якою адресою буде доступний сервіс синхронізації. Сміливо вписуйте адресу вашого домену (з https, якщо підтримується). Також можна вказати шлях, як у мене в прикладі.

  sqluri = sqlite: ////path/to/database/file.db 

Це шлях до файлу бази даних в форматі SQLite. Файл з даними можна зберігати в домашньому каталозі користувача, від імені якого запускається сервіс.

Далі потрібно вказати секретний ключ. Виконайте в консолі наступну команду:

  # Head -c 20 / dev / urandom |  sha1sum 

Команда згенерує випадковим чином секретний ключ. Розкоментуйте параметр secret і вкажіть отриманий ключ. Наприклад, так:

  secret = db8a203aed5fe3e4594d4b75990acb76242efd35 

Зв'язка з nginx

Тепер організуємо роботу сервісу синхронізації і nginx.

Директиву [server: main] в файлі конфігурації syncserver.ini перетворіть так:

  [Server: main]
 use = egg: gunicorn
 host = 127.0.0.1
 port = 5000
 workers = 2
 timeout = 60 

Після чого відкрийте конфігураційний файл nginx з вашим сайтом, додайте туди наступний location:

  server {
 ...
 location / dir {
 proxy_set_header Host $ http_host;
 proxy_set_header X-Forwarded-Proto $ scheme;
 proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
 proxy_set_header X-Real-IP $ remote_addr;
 proxy_redirect off;
 proxy_read_timeout 120;
 proxy_connect_timeout 10;
 proxy_pass http://127.0.0.1:5000/;
 }
 ...
 } 

І перезапустите nginx. Потім запустіть сервіс синхронізації:

  # Local / bin / pserve syncserver.ini 

Запуск sync server за допомогою screen

Для зручності запуску сервісу синхронізації створіть в папці з сервісом файл .sh з довільним ім'ям і запишіть туди наступне:

  #! / Bin / bash
 screen -A -d -m -S ffsync make serve

Це і буде вашим скриптом запуску. :) Чи залишиться тільки запустити його і сервіс буде працювати в згорнутому режимі. Розгорнути вікно можна буде командою screen -x ffsync.

Налаштування синхронізації в Firefox

У новій вкладці відкрийте сторінку about: config, надрукувавши адресу в адресному рядку. І знайдіть параметр services.sync.tokenServerURI. У значенні цього параметра потрібно буде вказати адресу вашого сервера. Наприклад, так:

  services.sync.tokenServerURI: http://sync.example.com/token/1.0/sync/1.5 

При цьому, замінювати тут слід тільки http://sync.example.com/. Якщо сервіс синхронізації у вас налаштований на папку, типу http://sync.example.com/dir/, то цей шлях і слід вказувати спільно з token / 1.0 / sync / 1.5.

Оновлення Firefox sync server

Періодично сервіс буде потребувати оновлення. А оновлювати його можна, виконуючи послідовно команди:

  cd / path / to / syncserver
 git stash # зберегти будь-які локальні в конфігураційний файл
 git pull # отримати останні оновлення від github
 git stash pop # заново застосувати локальні зміни з конфігураційного файлу
 make build # витягнути будь-які оновлені залежності 

UPD 30.05.2015: Як тест, спробував встановити firefox sync на розділі з файловою системою btrfs. Але всякий раз виникала проблема з базою в sqlite. На розділі з ext4 такої помилки не спостерігав.



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Поки оцінок немає)
Завантаження ...

Додати коментар

Ваш e-mail не буде опублікований.