welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
Шрифты

Revision 9 as of 2012-07-10 15:15:06

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

Используемый дистрибутив — 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
И, в принципе, всё, но желательно ещё проделать следующее:

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

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

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

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

Настраиваем и запускаем сервис

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

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