welcome: please sign in
location: Diff for "u/Stiletto/BnW/Установка_BnW_на_Linux"
Differences between revisions 2 and 8 (spanning 6 versions)
Revision 2 as of 2012-07-10 11:27:13
Size: 2245
Editor: Kagami
Comment:
Revision 8 as of 2012-07-10 14:58:38
Size: 5009
Editor: Kagami
Comment: prosody
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
==== Устанавливаем зависимости ====
{{{% sudo apt-get install build-essential python python-dev python-virtualenv git mongodb-server}}}<<FootNote(''build-essential'' и ''python-dev'' нужны для компиляция сишного bson-модуля mongo-библиотеки для ускорения её работы.)>><<BR>>
~-TODO: Версии библиотек, python, mongo.-~
==== Устанавливаем базовые зависимости ====
{{{% sudo apt-get install python-virtualenv git build-essential python-dev}}}<<FootNote(''build-essential'' и ''python-dev'' нужны для компиляция сишного bson-модуля mongo-библиотеки для ускорения её работы.)>>
Line 15: Line 14:
{{{% pip install twisted}}}<<BR>> {{{% pip install twisted tornado PyRSS2Gen}}}<<BR>>
Line 17: Line 16:
{{{% git clone https://github.com/stiletto/bnw.git}}} {{{% git clone https://github.com/stiletto/bnw.git}}}<<BR>>
{{{% cd bnw; git clone https://github.com/stiletto/linkshit.git}}}<<BR>>
Шаблон конфига находится в файле {{{config.py.example}}}, копируем его:<<BR>>
{{{% cp config.py.example config.py}}}<<BR>>

==== Устанавливаем и настраиваем MongoDB ====

{{{% sudo apt-get install mongodb-server}}}<<BR>>
И, в принципе, всё, но желательно ещё проделать следующее:
 * Установите в файле {{{/etc/mongodb.conf}}} опции {{{bind_ip = 127.0.0.1}}} и {{{nohttpinterface = true}}}
 * Перезапускаем mongo:<<BR>>
 {{{% sudo /etc/init.d/mongodb restart}}}
 * Удаляем тестовые базы:<<BR>>
 {{{% mongo test --eval 'db.dropDatabase()'}}}<<BR>>
 {{{% mongo local --eval 'db.dropDatabase()'}}}

==== Устанавливаем и настраиваем XMPP-сервер ====
Мы рассмотрим prosody, но вы также можете использовать ejabberd или jabberd2, их настройка во многом аналогична. (Вообще, подойдёт любой сервер, поддерживающий [[http://xmpp.org/extensions/xep-0114.html|XEP-0114: Jabber Component Protocol]], но эти три сервера наиболее популярны и просты в использовании.)<<BR>>
Устанавливаем prosody:<<BR>>
{{{% sudo apt-get install prosody}}}<<BR>>
Возможны два варианта настройки: локальный сервис, который доступен только вам (например, если вам нужно протестировать какие-то фичи), или сервис общего пользования.

===== Локальный вариант =====

 * Установите в файле {{{/etc/prosody/prosody.cfg.lua}}} в глобальной секции следующие опции:<<BR>>
 {{{c2s_interface = "127.0.0.1"}}}<<BR>>
 {{{s2s_interface = "127.0.0.1"}}}<<BR>>
 {{{legacy_ssl_interface = "127.0.0.1"}}}<<BR>>
 (Перед строчкой {{{----------- Virtual hosts -----------}}})
 * Отредактируйте файл виртуального хоста {{{/etc/prosody/conf.d/localhost.cfg.lua}}} и добавьте в конец следующие опции:<<BR>>
 {{{Component "bnw.localhost"}}}<<BR>>
 {{{ component_secret = "пароль для авторизации компонента"}}}<<BR>>
 (Вместо {{{bnw}}} вы можете использовать любое имя, главное окончание {{{.localhost}}})

==== Устанавливаем и настраиваем HTTP-сервер ====

==== Запускаем сервис ====

Используемый дистрибутив — Ubuntu 12.04, установка для Debian и других Debian-based дистрибутивов не должна сильно отличаться. Мы будем использовать виртуальное окружение virtualenv, которое позволяет устанавливать библиотеки в выбранный каталог, никак не затрагивая системные версии, не требует прав суперпользователя и при желании позволяет легко удалить установленное приложение без каких-либо последствий.

Устанавливаем базовые зависимости

% sudo apt-get install python-virtualenv git build-essential python-dev1

Создаём виртуальное окружение

Виртуальное окружение будет находиться в домашнем каталоге пользователя. Вы можете поместить его в другое место по желанию. Например, на сервере уместнее будет использовать каталог /srv/. Также разумно создать отдельного пользователя, от которого будет запускаться сервис: % sudo adduser --system --no-create-home --group bnw

% cd $HOME
% virtualenv bnw
% cd bnw; source bin/activate

Устанавливаем библиотеки, получаем код

% mkdir src; cd src
% pip install twisted tornado PyRSS2Gen
% pip install -e git+https://github.com/fiorix/mongo-async-python-driver.git#egg=txmongo
% git clone https://github.com/stiletto/bnw.git
% cd bnw; git clone https://github.com/stiletto/linkshit.git
Шаблон конфига находится в файле config.py.example, копируем его:
% cp config.py.example config.py

Устанавливаем и настраиваем MongoDB

% sudo apt-get install mongodb-server
И, в принципе, всё, но желательно ещё проделать следующее:

  • Установите в файле /etc/mongodb.conf опции bind_ip = 127.0.0.1 и nohttpinterface = true

  • Перезапускаем mongo:
    % sudo /etc/init.d/mongodb restart

  • Удаляем тестовые базы:
    % mongo test --eval 'db.dropDatabase()'
    % mongo local --eval 'db.dropDatabase()'

Устанавливаем и настраиваем XMPP-сервер

Мы рассмотрим prosody, но вы также можете использовать ejabberd или jabberd2, их настройка во многом аналогична. (Вообще, подойдёт любой сервер, поддерживающий XEP-0114: Jabber Component Protocol, но эти три сервера наиболее популярны и просты в использовании.)
Устанавливаем prosody:
% sudo apt-get install prosody
Возможны два варианта настройки: локальный сервис, который доступен только вам (например, если вам нужно протестировать какие-то фичи), или сервис общего пользования.

Локальный вариант
  • Установите в файле /etc/prosody/prosody.cfg.lua в глобальной секции следующие опции:
    c2s_interface = "127.0.0.1"
    s2s_interface = "127.0.0.1"
    legacy_ssl_interface = "127.0.0.1"
    (Перед строчкой ----------- Virtual hosts -----------)

  • Отредактируйте файл виртуального хоста /etc/prosody/conf.d/localhost.cfg.lua и добавьте в конец следующие опции:
    Component "bnw.localhost"
        component_secret = "пароль для авторизации компонента"
    (Вместо bnw вы можете использовать любое имя, главное окончание .localhost)

Устанавливаем и настраиваем HTTP-сервер

Запускаем сервис

  1. build-essential и python-dev нужны для компиляция сишного bson-модуля mongo-библиотеки для ускорения её работы. (1)

u/Stiletto/BnW/Установка_BnW_на_Linux (last edited 2012-08-02 13:55:59 by anonymous)