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 2015/05/30: У якасці тэсту, паспрабаваў ўсталяваць firefox sync на частцы з файлавай сістэмай btrfs. Але кожны раз ўзнікала праблема з базай у sqlite. На раздзеле з ext4 такой памылкі не назіраў.



Як вы ацэніце артыкул?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пакуль адзнак няма)
Загрузка ...

Дадаць каментар

Ваш e-mail не будзе апублікаваны.