welcome: please sign in

Revision 17 as of 2012-07-12 10:07:22

Clear message
location: u / Stiletto / BnW / Установка_BnW_на_Linux

Установка BnW на Linux

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

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

TODO /!\ Обговорить версии всех необходимых компонентов.

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

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

Виртуальное окружение будет находиться в домашнем каталоге пользователя. Вы можете поместить его в другое место по желанию. Например, на сервере уместнее будет использовать каталог /srv/.

% 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

И, в принципе, всё, но желательно ещё проделать следующее:

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

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

Устанавливаем prosody:
% sudo apt-get install prosody

Возможны два варианта настройки: локальный сервис, который доступен только вам (например, если нужно протестировать какие-то фичи), или сервис общего пользования.

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

Публичный вариант

TODO /!\

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

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

По умолчанию, BnW запускает веб-интерфейс по адресу http://localhost:7808/, дополнительные действия не требуются.

Публичный вариант

TODO /!\

Настраиваем сервис

Отредактируйте файл конфигурации сервиса config.py, который должен находиться в $HOME/bnw/src/bnw/, если вы точно соблюдали инструкции:

TODO /!\ Дописать про остальные опции.

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

Перейдите в каталог сервиса $HOME/bnw/src/bnw/ и запустите его с помощью:
% twistd -ny instance.tac

Это подходит для тестовых запусков и отладки, но если вам нужно запускать сервис в режиме демона с помощью стандартного механизма стартовых скриптов, неоходимо сделать следующее:

Теперь вы можете использовать команды:

для запуска, остановки и перезагрузки сервиса соответственно.

Прочее

Обратите внимание, что для работы сервиса необходимы как минимум запущенные XMPP и MongoDB сервера. По умолчанию, при установке они добавляются в автозагрузку, но если по какой-то причине один из серверов не загружен, запустите его с помощью механизма стартовых скриптов (% sudo /etc/init.d/server start).

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