Sediakan Server Sync Firefox di CentOS 6

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

  • Vultr CentOS 6 yang baru digunakan
  • Pengguna sudo .

Pasang pakej yang diperlukan

Kemas kini sistem:

sudo yum check-update

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

  • Mecurial
  • sqlite3
  • git
  • Python 2.6.6
  • Python 2.6.6 virtualenv
  • Python 2.6.6 SetupTools
  • Python 2.6.6 Developer Tools

Pasang versi terkini Mercurial:

sudo yum install mercurial

Pasang alat dan perpustakaan pembangunan yang diperlukan:

yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel

Pasang SQLite3:

sudo yum install sqlite

Pasang dan buat Python 2.6.6:

cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install

Membina pelayan

Kami akan mengklon semula repositori Git pelayan penyegerakan dan kemudian masukkan folder:

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

Jalankan arahan bina, yang akan memuat turun dependensi dan menyusun kod:

make build

Mulakan Pelayan Penyegerakan dan sahkan ia berfungsi dengan betul:

bin/paster serve development.ini

Anda akan melihat sesuatu seperti ini:

Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

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 bekerja untuk tujuan ujian pada mesin tempatan anda.

Kami akan melepaskan sqluripilihan dan meletakkan lokasi, atau URI, yang membolehkan pelayan menghubungkan pangkalan data dan menyimpan maklumatnya:

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

Jika anda ingin menggunakan jenis DB lain:

sqluri = pymysql://username:[email protected]/sync

Untuk secretparameter, kami akan menghasilkan 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.

Tanggalkan allow\_new\_usersparameter dan tetapkan trueuntuk membolehkan akaun kami menyambung ke pelayan kami untuk pertama kalinya:

allow_new_users = true

Kami kemudian akan menyuarakan audiencesparameter dan meletakkan perkara yang sama seperti public_uriparameter:

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 menggunakan salah satu arahan berikut:

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

Ini membolehkan anda memilih lokasi fail konfigurasi; serta meletakkan hujah --threads 4, yang membolehkan memberikan lebih kuasa kepada pelayan sinkronisasi.

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)

Sebaik sahaja pelayan telah dipasang dan dikonfigurasi, anda boleh mengkonfigurasi klien Firefox desktop untuk bercakap dengan Server Penyegerakan anda yang baru. 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