Open-rynda: краудсорс решение для ЧС и сетевой координации волонтеров

Давным-давно, в далекой далекой галактике… к черту историю, OpenRynda is ready! imageЧто такое OpenRynda? Опенсорс версия Виртуальной Рынды, позволяет координировать просьбы пострадавших и предложения помощи волонтеров. Сделано на основе 4-х летнего опыта (Виртуальная рында работает с 2010 года).Зачем это нужно? Внезапно, пожар/наводнение/смерч/метеорит/Звезда Смерти Вы поднимаете OpenRynd’у Пострадавшие от пожара/наводнения/смерча/метеорита/звезды смерти/цензура отмечают на карте наличие проблем Волонтеры предлагают помощь Модераторы — координируют процесс Profit! Проблемы решены! Где взять? Взять можно тутНаписано на Python, с использованием Django и опубликовано под открытой лиценцией MIT.Системные требования: Python 2.7+, spatialite, GEOS, PROJ.4, Virtualenv.Как поставить? Тестовая версия: Создаем и активируем virtualenv: virtualenv rynda source rynda/bin/activate Клонируем репозиторий: git clone https://github.com/sarutobi/Rynda.git переходим в клонированный репозиторий: cd Rynda Устанавливаем все зависимости: pip install -r requirements\test.txt Копируем mysettings.py.example в mysettings.py

Задаем структуру базы данных и пароль суперпользователя: bash createdb.sh Дважды вводим пароль суперпользователя.

Имя суперпользователя по умолчанию: admin

Запускаем локальный сервер: python manage.py runserver Открываем в браузере://localhost:8000

Чтобы протестировать систему запускаем: $python manage.py test Рабочая версия: Требуется немного терпения.Для установки в обычном режиме под веб сервером Apache нужно установить модуль mod-wsgi.Например в Debian: $ sudo aptitude install libapache2-mod-wsgi Если у вас стоит модуль mpm-itk, то он может быть причиной того, что модуль mod-wsgi не будет работать.Далее прописать настройки VirtualHost.Запуск в режиме демона является рекомендуемым методом запуска mod_wsgi на не Windows платформах. Чтобы создать процесс потребуется добавить директивы WSGIDaemonProcess и WSGIProcessGroup.Формат директив: WSGIDaemonProcess имя_процесса processes= threads= python-path= где: python-path — это путь к библиотекам виртуального окружения сайта в формате: /path/to/mysite.com:/path/to/your/venv/lib/python2.X/site-packages processes — определяет количество процессов демона, которые должны быть запущены в этой группе процессов, определенной директивой WSGIProcessGroup. По умолчанию (когда кол-во не определено) будет запущен только один процесс. threads — определяет кол-во потоков для обработки запросов по каждому из процессов демона внутри группы процессов, определенных директивой WSGIProcessGroup. WSGIProcessGroup имя_процесса Также необходимо разрешить доступ к wsgi.py файлу. Если вы используете Apache версии 2.4 или старше, замените строку Require all granted на Allow from all, и добавьте строку Order deny, allow над ней.Пример: Require all granted Еще одно важная директива — WSGIScriptAlias. Она указывает местоположение ваших приложений, (/ обозначает корневую директорию), вторым значением указывается расположение файла «WSGI» — см.ниже — в вашей системе, как правило, в корне проекта. (в примере это mysite). Эти настройки позволят Apache обрабатывать любой запрос из директории, указанной как базовая с помощью WSGI-приложения, хранящегося в ней. WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py Кроме этого, необходимо указать положение статических файлов.Собираем статические файлы, в папке, которая указана у вас в настройках: manage.py ./manage.py collectstatic Укажем Apache расположение этой папки: Аlias /static/ /path/to/mysite.com/static Лучше использовать nginx в качестве backend’a для раздачи статических файлов, так как он делает это более эффективно, нежели Apache: location /static {alias /path/to/mysite.com/static; } Пример описания виртуального хоста для Apache Order allow, deny Allow from all

ServerName demo.openrynda.com DocumentRoot /path/to/my/site/www/demo.openrynda.com WSGIDaemonProcess openrynda processes=5 threads=1 python-path= /path/to/my/site/www/demo.openrynda.com/Rynda:/path/to/my/site/www/demo.openrynda.com/rynda/lib/python2.7/site-packages:/path/to/my/site/www/demo.openrynda.com/rynda/lib/python2.7/ WSGIProcessGroup openrynda WSGIScriptAlias / /path/to/my/site/www/demo.openrynda.com/rynda/Rynda/wsgi.py Аlias /static/ /path/to/my/site/www/demo.openrynda.com/static # расположение статики (при необходимости измените) ServerAlias www.demo.openrynda.com Как помочь? После 1200+ коммитов, проект все еще требует некоторых доработок (например, необходим простой инсталлятор «для обычного пользователя»), так что пожалуйста присылайте пуллреквесты! Авторство Оригинальный проект разрабатывался многими людьми в разное время, open-source версию сделал Валера Ильичев (ридонли) при моральной поддержке Теплицы социальных технологий.

© Habrahabr.ru