ติดตั้ง Firefox Sync Server บน CentOS 6

Firefox Syncเป็นคุณสมบัติการซิงโครไนซ์เบราว์เซอร์ที่ช่วยให้คุณแบ่งปันข้อมูลและการตั้งค่าของคุณ (เช่นบุ๊กมาร์กประวัติรหัสผ่านแท็บเปิดและ Add-on ที่ติดตั้ง) ในอุปกรณ์ทั้งหมดของคุณ Mozilla ยังเสนอแอปพลิเคชัน "เซิร์ฟเวอร์การซิงโครไนซ์" สำหรับใช้กับ Firefox Sync สำหรับผู้ใช้และธุรกิจที่ต้องการโฮสต์ข้อมูลการซิงโครไนซ์ของตนเอง บทความนี้แสดงวิธีตั้งค่า Mozilla Sync Server

ข้อกำหนดเบื้องต้น

  • Vultr CentOS 6 ที่ปรับใช้ใหม่
  • sudo ผู้ใช้

ติดตั้งแพ็คเกจที่จำเป็น

อัปเดตระบบ:

sudo yum check-update

ในการสร้างและเรียกใช้ Sync Server คุณจะต้องติดตั้งแพ็คเกจเหล่านี้:

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

ติดตั้ง Mercurial เวอร์ชันล่าสุด:

sudo yum install mercurial

ติดตั้งเครื่องมือและไลบรารีสำหรับการพัฒนาที่จำเป็น:

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

ติดตั้ง SQLite3:

sudo yum install sqlite

ติดตั้งและสร้าง 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

สร้างเซิร์ฟเวอร์

เราจะโคลนที่เก็บ Git ของเซิร์ฟเวอร์การซิงโครไนซ์แล้วใส่โฟลเดอร์:

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

เรียกใช้คำสั่ง build ซึ่งจะดาวน์โหลดการอ้างอิงและรวบรวมรหัส:

make build

เริ่ม Sync Server และตรวจสอบว่ามันทำงานอย่างถูกต้อง:

bin/paster serve development.ini

คุณจะเห็นสิ่งนี้:

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

ซิงค์การกำหนดค่าเซิร์ฟเวอร์

การกำหนดค่าเซิร์ฟเวอร์การซิงโครไนซ์นั้นง่ายมากมีเพียงไม่กี่พารามิเตอร์ที่จะเปลี่ยนแปลงในไฟล์กำหนดค่า ( ./syncserver.ini)

เปิดไฟล์การกำหนดค่าด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ (ตัวอย่าง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

ต้องระบุที่อยู่เซิร์ฟเวอร์ของคุณผ่านพารามิเตอร์public_url:

public_url = http://fsync.example.com

หมายเหตุ : ค่าเริ่มต้นของpublic_url, http://localhost:5000/จะทำงานเพื่อทดสอบบนเครื่องของคุณ

เราจะยกเลิกการsqluriใส่เครื่องหมายแสดงความคิดเห็นตัวเลือกและวางตำแหน่งหรือURIที่จะช่วยให้เซิร์ฟเวอร์ในการเชื่อมต่อฐานข้อมูลและเก็บข้อมูลของมัน:

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

หากคุณต้องการใช้ DB ประเภทอื่น:

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

สำหรับsecretพารามิเตอร์เราจะต้องสร้างคีย์ลับสำหรับโทเค็นการตรวจสอบความถูกต้อง:

head -c 20 /dev/urandom | sha1sum

ยกเลิกหมายเหตุบรรทัดของพารามิเตอร์ลับจากนั้นคัดลอก / วางสตริงที่ส่งคืนลงในพารามิเตอร์ลับ:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

หมายเหตุ : หากคุณไม่ใส่อะไรในพารามิเตอร์นี้เซิร์ฟเวอร์จะสร้างขึ้นมาหนึ่งตัว แต่จะแตกต่างกันในแต่ละครั้งที่รีสตาร์ทเซิร์ฟเวอร์

ยกเลิกการใส่เครื่องหมายข้อคิดเห็นallow\_new\_usersพารามิเตอร์และตั้งค่าเป็นtrueอนุญาตให้บัญชีของเราเชื่อมต่อกับเซิร์ฟเวอร์ของเราเป็นครั้งแรก:

allow_new_users = true

จากนั้นเราจะยกเลิกการaudiencesใส่เครื่องหมายข้อคิดเห็นพารามิเตอร์และใส่เหมือนกับpublic_uriพารามิเตอร์:

audiences = http://fsync.example.com

สุดท้ายให้เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์ของคุณ:

forwarded_allow_ips = *

บรรทัดนี้จะช่วยคุณหลีกเลี่ยงข้อความแสดงข้อผิดพลาดและปัญหาการอนุญาต

เริ่มซิงค์เซิร์ฟเวอร์

ในการเริ่มต้นเซิร์ฟเวอร์การซิงโครไนซ์คุณสามารถใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:

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

สิ่งนี้อนุญาตให้คุณเลือกตำแหน่งของไฟล์กำหนดค่า รวมทั้งใส่อาร์กิวเมนต์--threads 4ซึ่งช่วยให้การกำหนดพลังงานเพิ่มเติมให้กับเซิร์ฟเวอร์การซิงโครไนซ์

ในการเริ่มต้นเซิร์ฟเวอร์ทุกครั้งที่บูทอินสแตนซ์ของคุณคุณสามารถเพิ่มบรรทัดต่อไปนี้ใน crontab ของคุณโดยพิมพ์crontab -eคำสั่ง:

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

การกำหนดค่าเว็บเซิร์ฟเวอร์

คุณสามารถใช้เว็บเซิร์ฟเวอร์อื่นที่เข้ากันได้กับWSGIโปรโตคอล ตัวอย่างเช่น:

  • Nginx กับ uWSGI
  • Apache รวมกับ mod_wsgi

Nginx

สำหรับ Nginx คุณต้องใช้พร็อกซีในตัวของ Nginx ดังที่แสดงด้านล่าง:

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

เป็นไปได้ที่ผู้ใช้ Nginx จะใช้ซ็อกเก็ต WSGI เท่านั้น

ติดตั้งuWSGIผ่าน Pip:

pip install uwsgi

ติดตั้งuWSGIผ่านการดาวน์โหลด tarball แหล่งที่มา:

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

หมายเหตุ : หลังจากการสร้างคุณจะมีuwsgiไบนารีในไดเรกทอรีปัจจุบัน

เมื่อติดตั้งแล้วให้เริ่มด้วยตัวเลือกต่อไปนี้:

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

จากนั้นใช้การกำหนดค่า Nginx ต่อไปนี้:

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

อาปาเช่

ติดตั้งmod_wsgi:

apt-get install libapache2-mod-wsgi

จากนั้นใช้ vhost ต่อไปนี้:

<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>

กำหนดค่าไคลเอนต์ (Firefox)

เมื่อติดตั้งและกำหนดค่าเซิร์ฟเวอร์แล้วคุณสามารถกำหนดค่าไคลเอนต์ Firefox เดสก์ท็อปเพื่อพูดคุยกับ Sync Server ใหม่ของคุณ ก่อนที่คุณจะเริ่มถ้าคุณเชื่อมต่อกับ Firefox Sync Servers แล้วคุณต้องออกจากระบบ มิฉะนั้นการเชื่อมต่อกับเซิร์ฟเวอร์ใหม่อาจไม่ทำงาน

ก่อนอื่นให้เปิดแท็บใหม่และป้อนที่อยู่ต่อไปนี้:

about:config

ในแถบค้นหาป้อนidentity.sync.tokenserver.uriและเปลี่ยนค่าเป็น URL ของเซิร์ฟเวอร์ของคุณด้วยเส้นทางtoken/1.0/sync/1.5:

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

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true