Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> Firefox SyncServer

Firefox SyncServer

Автор: salimk.


    Данная статья не претендует на оригинальность и премию "Оскар", это всего лишь перевод документации и адаптация её к Freebsd.
   Так что любые имена и события произошедшей в данной статье является совпадениям – Шутка :) .

   Firefox Sync (ранее Weave) — это расширение для Firefox и Seamonkey, которое включено в их базовую поставку начиная с версий 4.0 и 2.1 соответственно. Расширение использует инфраструктуру online-сервисов Firefox Sync для синхронизации закладок, списка открытых вкладок, истории и сохранённых паролей на нескольких компьютерах, а также мобильных телефонах.


   1. Ставим необходимые порты.

# cd /usr/ports/devel/py-virtualenv && make install clean
# cd /usr/ports/devel/mercurial && make install clean
# cd /usr/ports/devel/gmake && make install clean
# cd /usr/ports/www/mod_wsgi3 && make install clean
# cd /usr/ports/databases/py-MySQLdb && make install clean

   

   2. Собираем Mozilla Firefox Sync Server.

# mkdir /usr/local/www/fxsync
# cd /usr/local/www/fxsync
# hg clone http://hg.mozilla.org/services/server-full server-full
#
# cd server-full
# gmake build

### чтобы иметь возможность использовать MySQL backend
# bin/easy_install Mysql-Python

   

   3. Создаём UNIX пользователя.

# adduser –D


Username : fxsync
Password : <disabled>
Full Name : Mozilla Firefox Sync Server
Uid : 30xx
Class :
Groups : fxsync
Home : /var/www/fxsync/server-full
Home Mode :
Shell : /usr/sbin/nologin
Locked : no


   4. Создаем БД и Юзверя в MySQL.

# mysql -u root -p

mysql> create database fxsync;
mysql> GRANT ALL PRIVILEGES ON fxsync.* TO fxsync@localhost \
		IDENTIFIED BY 'mysecretpass';
mysql> flush privileges;
mysql> exit


   5. Настраиваем Firefox Sync Server.

# cd /usr/local/www/fxsync
# cp -p development.ini production.ini



   5.1. Редактируем etc/sync.conf:


[global]
clean_shutdown = false

[captcha]
use = true
public_key = 6Le8OLwXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX
private_key = 6Le8OLwXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX
use_ssl = true

[storage]
backend = syncstorage.storage.sql.SQLStorage
sqluri = mysql://fxsync:mysecretpass@localhost:3306/fxsync
standard_collections = false
use_quota = true
quota_size = 10240
pool_size = 20
pool_recycle = 3600
reset_on_return = true
display_config = true
create_tables = true

[auth]
backend = services.user.sql.SQLUser
sqluri = mysql://fxsync:mysecretpass@localhost:3306/fxsync
pool_size = 20
pool_recycle = 3600
create_tables = true

[reset_codes]
backend = services.resetcodes.rc_sql.ResetCodeSQL
sqluri = mysql://fxsync:mysecretpass@localhost:3306/fxsync
create_tables = true

[nodes]
fallback_node = https://fxsync.mydomain.net

[smtp]
host = <IP_SMTP_сервера>
port = 25
sender = fxsync@mydomain.net

[cef]
use = true
file = syslog
vendor = mozilla
version = 0
device_version = 1.3
product = weave


   5.2. Редактируем production.ini:


[DEFAULT]
debug = False

………………………………….


[handler_syncserver_errors]
class = handlers.RotatingFileHandler
args = ('/usr/local/www/fxsync/server-full/tmp/sync-error.log',)



   5.3. Редактируем sync.wsgi:


# setting up the egg cache to a place where apache can write
os.environ['PYTHON_EGG_CACHE'] = '/usr/local/www/fxsync/server-full
/tmp/python-eggs' # В одну строку

# setting up logging
ini_file = os.path.join(_CURDIR, 'production.ini')



   5.4. Создаем необходимые каталоги и назначаем атрибуты.

# mkdir tmp
# chown fxsync:fxsync tmp
# chmod 750 tmp
# chmod g+w deps/server-reg/syncreg/templates
# chgrp fxsync deps/server-reg/syncreg/templates/



   6. Настраиваем Апач, у меня стоит версия 2.2.

В этой статье не будет рассматривается установка и полная настройки Апача, только самое необходимое


   6.1. Редактируем /usr/local/etc/apache22/extra/httpd-vhosts.conf:


###### fxsync.mydomain.net
<VirtualHost *:80>
ServerName fxsync.mydomain.net
ServerAdmin webmaster@mydomain.net
Redirect permanent / https://fxsync.mydomain.net/
ErrorLog /var/log/apache/fxsync.mydomain.net-httpd-error.log
CustomLog /var/log/apache/fxsync.mydomain.net-httpd-access.log combined
</VirtualHost>

 

   6.2. Редактируем /usr/local/etc/apache22/extra/httpd-ssl.conf:


###### https://fxsync.mydomain.net/
<VirtualHost *:443>
Servername fxsync.mydomain.net
ServerAdmin webmaster@mydomain.net
DocumentRoot /var/www/fxsync/server-full
WSGIProcessGroup fxsync.mydomain.net
WSGIDaemonProcess fxsync.mydomain.net \
	user=fxsync group=fxsync processes=2 threads=25
WSGIPassAuthorization On
WSGIScriptAlias / /var/www/fxsync/server-full/sync.wsgi
ErrorLog /var/log/apache/_ssl/fxsync.mydomain.net-httpd-error.log
CustomLog /var/log/apache/_ssl/fxsync.mydomain.net-httpd-access.log combined

SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile etc/apache22/ssl/fxsync.mydomain.net.crt
SSLCertificateKeyFile etc/apache22/ssl/fxsync.mydomain.net.key

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \
	downgrade-1.0 force-response-1.0

<Directory /var/www/fxsync/server-full>
  Order deny,allow
  Allow from all
</Directory>
</VirtualHost>



Как создать сертификаты!?, глубокоуважаемый fr33man уже описал этот процесс тут, не будем заморачиваться.



   6.3. Перезапуск Apache.

# /usr/local/etc/rc.d/apache22 restart

 

   7. А теперь десерт Настройка Firefox.

Открываем Mozilla Firefox, на момент написание статьи у меня стояла версия 11.0 stable.

Проверяем работу Firefox SyncServer, заходим сюда https://fxsync.mydomain.net/ (наш экспериментальный сервант), конечно не забываем внести соответствующую запись в наш DNS сервер, браузер выдаст: Это соединение является недоверенным, щелкаем по Я понимаю риск, затем по кнопке Добавить исключение..., жмем Подтвердить исключение безопасности ...

затем должно вылезти:


404 Not Found
The resource could not be found.


Это нормально значит все пашет!

а если выйдет "Internal Server Error" смотрите лог файл апача и SyncServer-а, может где ошибка, запятую не туда поставили...
 
если все хорошо идем далее "Настройки", вкладка "Синхронизация"


Нажимаем Настроить Firefox Sync



Нажимаем на кнопку "Создать учётную запись"


Выбераем "Использовать свой сервер..."



В графах:
   Адрес эл.почты:        мыло_пользователя
   Выберите пароль:    пасс_пользователя
   Потвердите пароль:    потвердите_пасс_пользователя
   Сервер:                https://ваш_сервант/

Затем "Далее >"


если у вас возникла ошибка типа неправильный URL сервера, убедитесь что апач запушен и DNS имя доступна, попробуйте перезапустить апач.

P.S. Не забывайте пожалуйста про ключ восстановление сохраните его куда нибудь или распечатайте т.к. он на сервере не хранится

Используемый материал:
http://docs.services.mozilla.com/howtos/run-sync.html
http://www.lissyara.su/articles/freebsd/www/apache_2.2.0+ssl/



размещено: 2012-03-28,
последнее обновление: 2012-04-12,
автор: salimk


xmaster83, 2012-04-12 в 7:03:52

как в пункте 5.4  у вас группа  fxsync  если пользователя создавали с группой mozsync  ??

xmaster83, 2012-04-12 в 7:14:28

в пункте 6.2  указан путь
DocumentRoot /var/www/fxsync/server-full

это верно разве ??



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0445 секунд
Из них PHP: 30%; SQL: 70%; Число SQL-запросов: 81 шт.
Исходный размер: 37670; Сжатая: 8428