Iestatiet Firefox sinhronizācijas serveri operētājsistēmā CentOS 6

Firefox Sync ir pārlūkprogrammas sinhronizācijas līdzeklis, kas ļauj koplietot datus un preferences (piemēram, grāmatzīmes, vēsturi, paroles, atvērtās cilnes un instalētos papildinājumus) visās jūsu ierīcēs. Mozilla piedāvā arī "sinhronizācijas servera" lietojumprogrammu lietošanai kopā ar Firefox Sync lietotājiem un uzņēmumiem, kuri izvēlas mitināt savus sinhronizācijas datus. Šajā rakstā ir parādīts, kā iestatīt Mozilla Sync Server.

Priekšnoteikumi

Instalējiet nepieciešamās pakotnes

Atjauniniet sistēmu:

sudo yum check-update

Lai izveidotu un palaistu sinhronizācijas serveri, jums būs jāinstalē šīs pakotnes:

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

Instalējiet jaunāko Mercurial versiju:

sudo yum install mercurial

Instalējiet nepieciešamos izstrādes rīkus un bibliotēkas:

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

Instalējiet SQLite3:

sudo yum install sqlite

Instalējiet un izveidojiet 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

Servera veidošana

Mēs klonēsim sinhronizācijas servera Git repozitoriju un pēc tam ievadīsim mapi:

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

Palaidiet būvēšanas komandu, kas lejupielādēs atkarības un apkopos kodu:

make build

Palaidiet sinhronizācijas serveri un pārbaudiet, vai tas darbojas pareizi:

bin/paster serve development.ini

Jūs redzēsit kaut ko līdzīgu šim:

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

Sinhronizēt servera konfigurāciju

Sinhronizācijas servera konfigurācija ir ļoti vienkārša, konfigurācijas failā ( ./syncserver.ini) ir jāmaina tikai daži parametri .

Atveriet konfigurācijas failu ar savu iecienītāko teksta redaktoru (piemēram, 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

Jūsu servera adrese ir jānorāda, izmantojot parametru public_url:

public_url = http://fsync.example.com

Piezīme : noklusējuma vērtība public_url, http://localhost:5000/, darbosies testēšanas nolūkos uz jūsu vietējo mašīna.

Mēs atcelsim sqluriopciju un norādīsim atrašanās vietu vai URI, kas ļaus serverim izveidot savienojumu ar datu bāzi un saglabāt tās informāciju:

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

Ja vēlaties izmantot cita veida DB:

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

Par secretparametru, mums nāksies radīt slepenā atslēga autentifikācijas marķieriem:

head -c 20 /dev/urandom | sha1sum

Atņemiet komentāru no slepenā parametra rindiņas un pēc tam kopējiet/ielīmējiet atgriezto virkni slepenajā parametrā:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Piezīme : ja neko neievietojat šajā parametrā, serveris to ģenerēs, taču tas būs atšķirīgs katru reizi, kad serveris tiek restartēts.

Atceliet allow\_new\_usersparametra komentāru un iestatiet to tā, truelai ļautu mūsu kontam pirmo reizi izveidot savienojumu ar mūsu serveri:

allow_new_users = true

Pēc tam mēs atcelsim audiencesparametra komentārus un ievietosim to pašu, ko public_uriparametrs:

audiences = http://fsync.example.com

Visbeidzot, faila beigās vienkārši pievienojiet šādu rindiņu:

forwarded_allow_ips = *

Šī rindiņa palīdzēs izvairīties no kļūdu ziņojumiem un autorizācijas problēmām.

Tiek startēts sinhronizācijas serveris

Lai palaistu sinhronizācijas serveri, varat izmantot kādu no šīm komandām:

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

Tas ļauj izvēlēties konfigurācijas faila atrašanās vietu; kā arī ielieciet argumentu --threads 4, kas ļauj sinhronizācijas serverim piešķirt lielāku jaudu.

Lai palaistu serveri katru reizi, kad instancē tiek palaists, varat pievienot šādu rindiņu crontab, ierakstot crontab -ekomandu:

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

Web servera konfigurācija

Varat izmantot dažādus tīmekļa serverus, kas ir saderīgi ar WSGIprotokolu. Piemēram:

  • Nginx ar uWSGI.
  • Apache apvienojumā ar mod_wsgi.

Nginx

Lai izmantotu Nginx, jums ir jāizmanto Nginx iebūvētais starpniekserveris, kā parādīts tālāk:

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 lietotāji var izmantot tikai WSGI ligzdu.

Instalējiet, uWSGIizmantojot Pip:

pip install uwsgi

Instalējiet uWSGI, lejupielādējot avota tarbolu:

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

Piezīme : pēc izveides uwsgipašreizējā direktorijā būs binārs.

Pēc instalēšanas sāciet to ar šādām opcijām:

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

Pēc tam izmantojiet šādu Nginx konfigurāciju:

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

Apache

Instalēt mod_wsgi:

apt-get install libapache2-mod-wsgi

Pēc tam izmantojiet šādu 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>

Konfigurējiet klientu (Firefox)

Kad serveris ir instalēts un konfigurēts, varat konfigurēt darbvirsmas Firefox klientu, lai tas sazinātos ar jauno sinhronizācijas serveri. Ja pirms darba sākšanas jau esat izveidojis savienojumu ar Firefox sinhronizācijas serveriem, jums ir jāatsakās. Pretējā gadījumā savienojums ar jauno serveri var nedarboties.

Vispirms atveriet jaunu cilni un ievadiet šādu adresi:

about:config

Meklēšanas joslā ievadiet identity.sync.tokenserver.uriun mainiet tā vērtību uz sava servera URL ar ceļu token/1.0/sync/1.5:

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

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk