Sediakan Server Sync Firefox pada Debian 9 atau Ubuntu 16.04

Sync Firefox adalah ciri penyegerakan pelayar yang membolehkan anda berkongsi data dan pilihan anda (seperti penanda halaman, sejarah, kata laluan, tab terbuka dan tambahan yang dipasang) di semua peranti anda. Mozilla juga menawarkan aplikasi "penyegerakan pelayan" untuk digunakan dengan Firefox Sync untuk pengguna dan perniagaan yang lebih memilih untuk menjadi tuan rumah data penyegerakan mereka sendiri. Artikel ini menunjukkan anda bagaimana untuk menyediakan Pelayar Sync Mozilla.

Prasyarat

  • Contoh pelayan Vultr Debian 8, Debian 9 atau Ubuntu 16.04 yang baru digunakan.
  • Pengguna sudo .

Pasang pakej yang diperlukan

Kemas kini sistem:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Untuk membina dan menjalankan Penyelaras Penyegerakan, anda perlu memasang pakej berikut:

  • python-dev
  • git
  • build-essential (Pengkompil C ++, pengkompil GCC, membuat dan alat lain yang diperlukan).
  • sqlite3(jika anda ingin menggunakan pangkalan data MySQL SQLite, anda boleh mengganti sqlite3pakej dengan mariadb-serveratau mysql-server).
  • nginx(webserver terserah anda terpilih untuk memilih pelayan web mana yang anda mahu gunakan dari apache2atau nginx).

Pasang pakej:

sudo apt-get install -y git git-core python-dev python-virtualenv build-essential sqlite3 nginx

Membina pelayan

Kami akan mengkloning repositori Git pelayan penyegerakan dengan menaip arahan berikut dan kemudian memasukkan folder:

git clone https://github.com/mozilla-services/syncserver
cd syncserver

Jalankan arahan bina yang akan memuat turun dependensi dan menyusun kod.

make build

Menyegerakkan konfigurasi Pelayan

Konfigurasi pelayan penyegerakan sangat mudah, hanya terdapat beberapa parameter untuk menukar dalam fail konfigurasi ( ./syncserver.ini).

Buka fail konfigurasi dengan editor teks kegemaran anda (contohnya nano ./syncserver.ini).

[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30

[app:main]
use = egg:syncserver

[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = http://localhost:5000/

# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db

# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
#    head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = INSERT_SECRET_KEY_HERE

# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false

# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups.  It will overwrite the WSGI environ dict with the
# details from public_url.  This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = false

[browserid]
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000

# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org

Alamat pelayan anda mesti ditentukan melalui parameter public_url:

public_url = http://fsync.example.com

Nota : nilai lalai public_url"http: // localhost: 5000 /" akan berfungsi untuk tujuan ujian di mesin tempatan anda.

Sebagai sqluripilihan, kami akan melepaskan dan meletakkan lokasi atau URIyang membolehkan pelayan menghubungkan pangkalan data dan menyimpan maklumat:

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

Jika anda ingin menggunakan jenis DB lain:

sqluri = pymysql://username:password@db.example.com/sync

Untuk secretparameter " ", kami perlu menjana kunci rahsia untuk token pengesahan:

head -c 20 /dev/urandom | sha1sum

Uncomment barisan parameter rahsia dan kemudian salin / tampal rentetan yang dikembalikan ke dalam parameter rahasia:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Catatan : Sekiranya anda tidak memasukkan apa-apa dalam parameter ini, pelayan akan menghasilkannya tetapi akan berbeza setiap kali pelayan dimulakan semula.

Untuk allow\_new\_usersparameter " ", laporkan dan tetapkannya trueuntuk membolehkan akaun kami disambungkan ke pelayan kami untuk kali pertama:

allow_new_users = true

Kami kemudiannya akan mengubah suai audiencesparameter " " dan meletakkan perkara yang sama dengan public_uriparameter " " tanpa lupa untuk mengelirukan baris:

audiences = http://fsync.example.com

Akhirnya, tambahkan baris berikut di hujung fail anda:

forwarded_allow_ips = *

Talian ini akan membantu anda mengelakkan mesej ralat dan masalah kebenaran.

Memulakan Pelayan Penyegerakan

Untuk memulakan pelayan penyegerakan, anda boleh melancarkan arahan berikut:

./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &

... atau ini:

make serve &

Pilihan pertama membolehkan memilih lokasi fail konfigurasi; dan juga untuk meletakkan hujah --threads 4, yang membolehkan memberikan lebih kuasa kepada pelayan penyegerakan.

Untuk memulakan pelayan setiap kali but contoh anda, anda boleh menambah baris berikut ke crontab anda dengan menaip crontab -eperintah:

@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &

Konfigurasi pelayan web

Anda boleh menggunakan pelayan web yang berbeza yang serasi dengan WSGIprotokol. Sebagai contoh:

  • Nginx dengan uWSGI.
  • Apache digabungkan dengan mod_wsgi.

Nginx

Untuk Nginx, anda perlu menggunakan proksi terbina dalam Nginx seperti yang ditunjukkan di bawah:

server {
        listen  80;
        server_name fsync.example.com;

        location / {
                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 + uWSGI

Pengguna Nginx hanya boleh menggunakan soket WSGI sahaja.

Pasang uWSGImelalui Pip:

pip install uwsgi

Pasang uWSGIdengan memuat turun tarball sumber:

wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make

Catatan : Selepas pembuatan, anda akan mempunyai uwsgibinari di direktori semasa.

Setelah dipasang, mulakannya dengan pilihan berikut:

uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock

Kemudian gunakan konfigurasi Nginx berikut:

location /<location>/ {
  include uwsgi_params;
  uwsgi_pass unix:/path/to/uwsgi.sock;
}

Apache

Pasang mod_wsgi:

apt-get install libapache2-mod-wsgi

Kemudian gunakan vhost berikut:

<VirtualHost *:80>
  ServerName sync.example.com
  DocumentRoot /path/to/syncserver
  WSGIProcessGroup sync
  WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
  WSGIPassAuthorization On
  WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
  CustomLog /var/log/apache2/sync.example.com-access.log combined
  ErrorLog  /var/log/apache2/sync.example.com-error.log
</VirtualHost>

Konfigurasikan klien (Firefox)

Setelah pelayan dipasang dan dikonfigurasikan, anda harus mengkonfigurasi klien Firefox desktop untuk bercakap dengan Pelayan Penyegerakan baru anda. Sebelum memulakan, jika anda sudah tersambung ke Firefox Sync Servers, anda mesti log keluar. Jika tidak, sambungan ke pelayan baru mungkin tidak berfungsi.

Pertama, buka tab baru dan masukkan alamat berikut:

about:config

Di bar carian, masukkan identity.sync.tokenserver.uridan ubah nilainya ke URL pelayan anda dengan jalan token/1.0/sync/1.5:

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


Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut