Jeśli używasz przeglądarki Mozilla Firefox (Iceweasel) , prawdopodobnie wiesz o wielkiej szansie - synchronizacji danych: hasłach, zakładkach, ustawieniach, dodatkach itp. Posiadając własny serwer w systemie Linux, możesz łatwo zorganizować własną pamięć masową.
W wersji 1.0 usługa była całkowicie wymienna. Oznacza to, że w ustawieniach przeglądarki można było określić adres serwera i rejestrację konta, a pamięć danych została wykonana na serwerze. Ale od wersji 1.5 usługa synchronizacji jest tylko częścią usług Mozilli. Nadal możesz skonfigurować usługę synchronizacji, ale rejestracja konta zostanie przeprowadzona za pośrednictwem witryny Mozilli. Dane będą przechowywane na serwerze. :)
To prawda, że możesz natychmiast rozpocząć Konta Mozilli na swoim serwerze. Ale można to rozważyć w następnym artykule.
Zalecam również utworzenie użytkownika, w imieniu którego uruchomiona zostanie usługa synchronizacji Firefox.
Treść artykułu:
- Установка компонентов 1 Instalowanie komponentów
- Настройка Sync Server 2 Konfigurowanie serwera synchronizacji
- Связка с nginx 3 Pakiet z nginx
- Запуск sync server при помощи screen 4 Uruchamianie serwera synchronizacji za pomocą ekranu
- Настройка синхронизации в Firefox 5 Konfigurowanie synchronizacji w przeglądarce Firefox
- Обновление Firefox sync server 6 Aktualizacja serwera synchronizacji Firefox
Instalacja składnika
Zainstaluj niezbędne komponenty:
# aptitude install python-dev git-core python-virtualenv
Teraz możesz zacząć budować usługę z plików źródłowych. Ale najpierw musisz skopiować je za pomocą git.
# git clone https://github.com/mozilla-services/syncserver
Przejdź do folderu źródłowego.
# cd syncserver
I zbieraj ...
# zrób kompilację
Konfiguracja serwera synchronizacji
Moja strona internetowa, dzięki której dane będą synchronizowane, działa z wykorzystaniem protokołu https, a nginx działa jako serwer WWW. Wszystkie żądania synchronizacji są kierowane z nginx do usługi synchronizacji. Dlatego parametry konfiguracyjne zostaną podane z myślą o tym.
Plik konfiguracyjny to syncserver.ini. Otwórz go w swoim ulubionym edytorze tekstu i zmień następujące ustawienia.
[syncserver] public_url = https://mysite.com/dir/
Tutaj należy podać adres, pod którym usługa synchronizacji będzie dostępna. Możesz wpisać adres swojej domeny (przy pomocy https, jeśli jest obsługiwany). Możesz także podać ścieżkę, tak jak w moim przykładzie.
sqluri = sqlite: ////path/to/database/file.db
To jest ścieżka do pliku bazy danych w formacie SQLite. Plik danych może być przechowywany w katalogu domowym użytkownika, na którego rzecz uruchamiana jest usługa.
Następnie musisz określić tajny klucz. Uruchom następujące polecenie w konsoli:
# head -c 20 / dev / urandom | sha1sum
Polecenie losowo wygeneruje tajny klucz. Odkomentuj tajny parametr i określ odebrany klucz. Na przykład:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Pakiet z nginx
Teraz zorganizujmy pracę usługi synchronizacji i nginx.
Dyrektywa [server: main] w pliku konfiguracyjnym syncserver.ini jest konwertowana w następujący sposób:
[serwer: główny] use = egg: gunicorn host = 127.0.0.1 port = 5000 pracownicy = 2 timeout = 60
Następnie otwórz plik konfiguracyjny nginx w swojej witrynie i dodaj następującą lokalizację:
serwer { ... 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 span000 /; } ... }
I ponownie uruchom nginx. Następnie uruchom usługę synchronizacji:
# local / bin / pserve syncserver.ini
Uruchamianie serwera synchronizacji za pomocą ekranu
Dla wygody uruchamiania usługi synchronizacji utwórz w folderze z usługą plik .sh z dowolną nazwą i napisz:
#! / bin / bash screen -A -d -m -S ffsync make serve
To będzie twój skrypt startowy. :) Pozostaje tylko uruchomić go, a usługa będzie działać w trybie zminimalizowanym. Możesz zmaksymalizować okno za pomocą ekranu poleceń -x ffsync .
Ustawienie synchronizacji w Firefoksie
W nowej karcie otwórz stronę about: config , wpisując adres na pasku adresu. I znajdź parametr services.sync.tokenServerURI . W wartości tego parametru będziesz musiał podać adres swojego serwera. Na przykład:
services.sync.tokenServerURI: http://sync.example.com/token/1.0/sync/1.5
W takim przypadku powinieneś zastąpić tutaj tylko http://sync.example.com/ . Jeśli usługa synchronizacji jest skonfigurowana w twoim folderze, na przykład http://sync.example.com/dir/, to ta ścieżka powinna zostać określona razem z tokenem / 1.0 / sync / 1.5 .
Aktualizacja serwera synchronizacji Firefox
Okresowo usługa będzie wymagać aktualizacji. Możesz go zaktualizować, wykonując kolejno następujące polecenia:
cd / path / to / syncserver git stash # zapisz dowolny lokalny w pliku konfiguracyjnym git pull # pobierz najnowsze aktualizacje z github git stash pop # Ponownie zastosuj lokalne zmiany z pliku konfiguracyjnego make build # usuń wszelkie zaktualizowane zależności
UPD 05/30/2015: W ramach testu próbowałem zainstalować synchronizację firefox na partycji systemu plików btrfs. Ale za każdym razem był problem z bazą w sqlite. Nie zaobserwowałem takiego błędu na partycji ext4.