Linux E X P R E S

Facebook

Firefox Sync na vlastním serveru

Firefox_Sync_logo.jpg

Technologie Firefox Sync umožňuje snadno synchronizovat instalace prohlížeče Mozilla Firefox napříč platformami. K synchronizaci můžete velmi jednoduše použít i vlastní server.


Co je Firefox Sync

O technologii Firefox Sync se občas hovoří jako o „synchronizaci záložek“, ale takové označení vystihuje jen část nabízených možností. Firefox Sync zvládne synchronizovat mnohem víc věcí – kromě záložek to jsou doplňky, hesla, předvolby, historie a panely. Synchronizuje se ale jen to, co synchronizovat chcete.

Synchronizace pomocí Firefox Sync funguje nejen mezi instalacemi prohlížeče na desktopech (bez ohledu na platformu), ale i s mobilními přístroji. Jakmile si tedy přidáte například záložku na jednom počítači, přidá se vám i na všech ostatních, včetně mobilu nebo tabletu. Navštívená stránka se objeví v historii opět ve všech instalacích.

Firefox Sync je již nějakou dobu integrální součástí prohlížeče Mozilla Firefox. Mozilla pro jeho funkci provozuje také synchronizační servery, které lze zdarma využívat. Ovšem kdo v ně nemá důvěru (přestože se data šifrují již v prohlížeči a nikdo by je neměl být schopen získat v otevřeném tvaru), může si velmi snadno zprovoznit synchronizaci na vlastním serveru.

Jak Firefox Sync funguje

Pro zprovoznění „synchronizačního serveru“ není třeba znát žádné podrobnosti o fungování technologie Firefox Sync. Nicméně jsou věci, které je zajímavé vědět. Protože je Firefox svobodný software, jsou i veškeré informace o technologii svobodně dostupné.

Firefox Sync pracuje nad běžným protokolem HTTP nebo HTTPS. Synchronizace začíná tak, že se z prohlížeče Firefox vytvoří účet, ať již přímo u Mozilly nebo na jiném serveru. Další instalace se nejsnáze přidávají tak, že se z každé z nich přenesou vygenerované kódy do některé již zapojené instalace. Podrobnosti jsou uvedeny v návodech, jsou k dispozici i v češtině.

Na serveru to funguje tak, že je potřeba mít k dispozici nějaký HTTP server, implementaci serverové části Firefox Sync a databázi pro uložení dat. Existuje více implementací, lze si je samozřejmě přizpůsobovat svým potřebám. Asi nejčastějším případem bude omezení, kdo smí server využívat.

Přestože Firefox Sync slouží primárně k synchronizaci prohlížeče Firefox, možnosti jsou mnohem širší. Chcete si například synchronizovat i nastavení poštovního klienta Mozilla Thunderbird? Žádný problém, i to lze zajistit. Je k dispozici také javascriptové API, přes které lze využívat Firefox Sync k dalším účelům. Podrobnější popis ale přesahuje rámec tohoto článku.

Firefox Sync na vlastním serveru

Možností existuje víc, následující řádky se budou věnovat zprovoznění serverové implementace v PHP, protože je tato webová technologie jednoznačně nejrozšířenější. Jako databáze poslouží SQLite, není tedy ani třeba MySQL nebo jiná databáze, přestože je lze také použít.

Co je k instalaci potřeba? Nic výjimečného. Postačí běžně připravený webový server s PHP a se zmíněnou databází SQLite – například Debian 7, CentOS apod. Je velmi žádoucí si zprovoznit také HTTPS, ať už s certifikátem od nějaké autority uznávané Mozillou (lze získat i zdarma nebo za cenu v řádu stokorun ročně) nebo i samopodepsaný či podepsaný vlastní autoritou (je třeba schválit ve Firefoxu nebo si tam přidat tento certifikát či certifikát autority).

Vlastní instalace se pak provádí takto:

  1. Stáhněte si soubory implementace FSyncMS, například přímo z GitHubu.
  2. Soubory umístěte do adresáře na webovém serveru, kam je „vidět“ zvenku (například /var/www). Webový server musí mít právo tam zapisovat.
  3. Otevřete ve webovém prohlížeči URL odpovídající danému umístění na serveru, tedy něco ve stylu https://nejakadomena.cz/index.php (vygeneruje se databáze a konfigurační soubor).
  4. To je z hlediska funkčnosti vše. Další kroky jsou již věcí bezpečnosti a pohodlí.
  5. Zrušte webovému serveru právo zápisu ke všem souborům kromě weave_db. V případě souboru settings.php je dobré (pokud je vlastníkem webový server, tj. uživatel www-data) vytvořit kopii pod běžným uživatelem, původní soubor smazat a nový přejmenovat na settings.php.
  6. Zamezte přímému přístupu k souboru weave_db. Možností je víc a závisí na tom, co lze na daném serveru dělat:
    • zakázat přístup pomocí .htaccess, pokud ho lze použít – například takto:
      Order Deny,Allow
      Deny from all
      Allow from 127.0.0.1
      <Files index.php>
          Order Allow,Deny
          Allow from all
      </Files>
    • přesunout soubor do adresáře, kam „vidí“ PHP, ale nevidí tam webový server, následně změnit konfiguraci (není třeba .htaccess).
  7. Standardní URL pro přístup z klientů Firefox Sync končí „index.php/“. Komu se takový tvar nelíbí, může si pomocí přepisovacího pravidla definovat jiný.

Tím je hotovo a můžete se připojit z Firefoxu. Z menu vyberete Nastavit Sync... a následně Vytvořit nový účet. Zadáte údaje (e-mailovou adresu a heslo) a místo výchozího serveru vložíte URL na ten váš – bude vypadat nějak jako https://nejakadomena.cz/index.php/. To lomítko na konci je důležité, viz výše. Pokud jste podle bodu 7 nastavili něco jiného, můžete to použít – nejdřív ale přizpůsobte konfiguraci.

Vytvoření účtu Firefox Sync na vlastním serveru Vytvoření účtu Firefox Sync na vlastním serveru

Konfigurace serverové části Firefox Sync

Konfigurace se nachází v již zmíněném souboru settings.php a většinou tam není potřeba nic moc nastavovat. V zásadě se jedná o tři parametry:

  • ENABLE_REGISTER – výchozí nastavení je true. Parametr povoluje registraci nových klientů. Pokud chcete server používat jen pro sebe, zaregistrujte si první instalaci a nastavte parametr na false. Pro přidávání dalších zařízení není registrace potřeba.
  • FSYNCMS_ROOT – základ URL pro synchronizaci. Bývá tam vygenerovaná hodnota, pokud budete používat jinou (typicky po vytvoření přepisovacího pravidla), nastavte ji zde.
  • SQLITE_FILE – soubor s databází SQLite. Soubor můžete přesunout podle bodu 6, případně přejmenovat, je ale potřeba přizpůsobit tuto hodnotu.

Další parametry se vztahují hlavně k databázi. FSyncMS umí pracovat i s MySQL, takže pokud chcete tuto databázi použít, nastavte příslušné parametry. Databáze musí už existovat a uživatel musí mít právo tam vytvářet tabulky (vytvoří se automaticky podle bodu 3).

Zvládne to každý

Popsaný postup zvládne jistě každý, kdo má k dispozici server s Apachem a PHP. Obvykle se nepřenáší se žádné velké datové objemy, lze se tedy spokojit i s málem (z hlediska výkonu serveru a rychlosti připojení). Databázi je samozřejmě žádoucí zálohovat, není-li zálohována společně s dalšími soubory. Pak už zbývá jen (bez obav ohledně soukromí) „užívat plodů“ nezávislosti na ukládání dat u cizího provozovatele.

Diskuze (13) Nahoru