- PVSM.RU - https://www.pvsm.ru -

Создание своего хаба для публикации открытых данных

Тема открытого правительства [1] и открытых данных [2] все больше набирает обороты [3] и приобретает популярность среди многих стран мира, их правительств и организаций [4]. К тому же совсем недавно в России был принят закон об открытых данных [5], что указывает на растущий интерес к этой теме. В Украине тоже правительство движется [6] в сторону публикации открытых данных. Собственно, раз это популярно, то можно на этом заработать или же принять участие в модном движении [7]. К тому же ежегодно проводятся конкурсы [8], фестивали [9] и хакатоны [10] по созданию сайтов и приложений для публикации открытых данных.

Открытые данные [11] — это способ представления общедоступной информации в машиночитаемой форме. В виде, в котором разработчики могут загрузить их в базы данных, проанализировать и представить в куда более наглядной и понятной форме чем то, как это делается в государственных системах.
Создание своего хаба для публикации открытых данных
Я бы хотел поделиться личным опытом «создания» (установки) сайта для публикации открытых данных. Я использовал платформу с открытым исходным кодом CKAN [12]. Идти ли подобным путем, использовать другую платформу или написать свой сайт с нуля — Вам решать. Надеюсь, моя статья поможет Вам сделать верный выбор.

CKAN — это система управления данными, которая делает их доступными за счет инструментов, упрощающих их публикацию, распространение, поиск и использование. Более 50 стран, организаций и городов выбрали данную платформу для публикации своих данных. Среди них [13] Великобритания, США, Чехия, Австралия, Бразилия и прочие. Вообщем, список внушительный. Сама платформа написана на python. Здесь [14] подробная статья на английском. Здесь [15] подробная статья на русском.

Установка CKAN

По данному адресу [16] находится подробная инструкция по установке платформы. Правда, не все работает так гладко, как там описано. Я потратил порядочное количество дней, чтобы разобраться и установить платформу. В свою очередь разработчики предлагают платные [17] условия по установке, хостингу [18] и сопровождению платформы. Раньше у них на сайте были вывешены цены, теперь же их нет. Впрочем, нас интересует CKAN как бесплатная платформа. Вы также можете сделать форк [19] этого проекта, если пожелаете. А это один из популярных форков [20]хаб [21] открытых данных правительства Великобритании.

Вам предлагают два способа установки платформы: установка пакетом или установка из исходников. Первый способ экономит огромное количество вашей “нервной” энергии. Но он подойдет вам только в том случае, если у вас подходящая система. На данный момент это Ubuntu 12.04 (до недавнего времени была — 10.04). Вот на нее и рекомендую вам ставить данную платформу. Если же вы уверены в своих силах или уже имеете настроенную систему и не хотите от нее отказываться, то Вам поможет wiki [22] проекта. Мой опыт — OpenVZ Ubuntu 12.04.

Итак, первый путь — пакетная установка. У меня она не получилась, по указанной выше причине (несогласованность версий ОС). Но и тут я смогу дать вам пару советов. Так как это был мой первый опыт администрирования виртуального сервера (да и вообще администрирования), то мои советы могут показаться опытным (бородатым) админам детскими, но а для начинающих, я надеюсь, будут полезными.
Создание своего хаба для публикации открытых данных

!!!Обратите внимание на версию устанавливаемой платформы. CKAN переводится в данный момент более чем на 30 языков мира, но с разным успехом. Перевод осуществляют волонтеры. И каждая новая версия выпускается с разным набором переводов. Проследите по этому адресу [23] статус перевода той версии, которую собираетесь устанавливать. Мне пришлось участвовать в переводе русской и украинской локали (ver. 2.0 — 2.1), так как перевод не был готов. Перевод осуществляется на сайте transifex [24]. У вас есть выбор — либо ставить последнюю версию, у которой присутствует перевод, либо принять участие в переводе. Статус перевода [25] русской локали.

Installing CKAN from Package [26]

1. Install the CKAN Package

Делаем все по инструкции. Если без ошибок — идем дальше, если ошибки — переходите ко второму способу. Это правило работает для всех пунктов. Но прежде проверьте суть ошибки — может дело в вас или в настройках сервера.

2. Install PostgreSQL and Solr

Перед установкой базы данных нам следует дать самим себе права на перезапись стека /dev/null, иначе мы получим ошибку /dev/null: Permission denied.
Фикс простой — получаем root-овые права и чиним:
# rm /dev/null && mknod -m 0666 /dev/null c 1 3
Проверяем:
# ls -la /dev/null
crw-rw-rw- 1 root root 1, 3 2010-12-24 01:53 /dev/null

После установки PostgreSQL необходимо установить локаль и кодировку текста. Устанавливаем языки в систему:
apt-get install language-pack-ru-base (apt-get install language-pack-uk-base)
Останавливаем базу данных:
pg_dropcluster --stop 9.1 main
И устанавливаем саму локаль (учтите, что все базы будут иметь одну локаль):
pg_createcluster --locale ru_RU.UTF8 9.1 main (pg_createcluster --locale uk_UA.UTF8 9.1 main)
Перегружаемся и проверяем — теперь базы данных должны иметь нужную нам локаль и кодировку:
reboot
sudo -u postgres psql -l

Разработчики рекомендуют установить пакет solr-jetty. Но, по моим наблюдениям и опыту — он не работает. Не знаю почему. Все перепробовал, но не работает. Пришлось идти в обход. Если и у вас не получиться запустить нативным методом sorl, то ловите фикс:
Присваиваем значение последней версии jetty [27]:
JETTY_VERSION=7.6.10.v20130312
Берем ее:
wget http://download.eclipse.org/jetty/$JETTY_VERSION/dist/jetty-distribution-$JETTY_VERSION.tar.gz
Распаковываем:
tar xfz jetty-distribution-$JETTY_VERSION.tar.gz
Берем последнюю версию sorl:
wget http://apache-mirror.telesys.org.ua/lucene/solr/3.6.2/apache-solr-3.6.2.zip
Распаковываем:
unzip -q apache-solr-3.6.2.zip
Заходим:
cd apache-solr-3.6.2/example/
Запускаем в фоновом режиме sorl:
nohup java -jar start.jar&

Четко выполняйте все инструкции в мануале, и вскоре вы увидите работающий сайт.

Теперь второй путь, если у Вас не Ubuntu 12.04
Еще раз обращаю внимание на wiki [22] по установке CKAN.

Installing CKAN from Source [28]

1. Install the required packages

Нам предлагают такой набор пакетов:
sudo apt-get install python-dev postgresql libpq-dev python-pip python-virtualenv git-core solr-jetty openjdk-6-jdk
Я же рекомендую вам установить следующий набор (не забываем apt-get update и про /dev/null (описано выше)):
sudo aptitude install python-dev postgresql-9.1 libpq-dev python-pip python-virtualenv git-core openjdk-6-jdk curl nginx gcc bcc tcc

3. Setup a PostgreSQL database

+ дополнительная настройка описана выше

5. Setup Solr

описано выше

9. You’re done!

Вам предлагают код:
paster serve /etc/ckan/default/development.ini
Мое предложение для запуска в фоне:
nohup paster serve /etc/ckan/default/development.ini&
Создание своего хаба для публикации открытых данных
Для тестирования на локальной машине пройденных шагов достаточно. А вот если вы хотите перекинуть на сервер свою платформу, то тут я тоже дам вам один совет.

Deploying a Source Install [29]

Мой добрый совет (за который огромное спасибо ibegtin [30]) звучит так — используйте Nginx. Это значительно ускорит ваш сайт. Вот здесь [31] имеется замечательная инструкция по установке связки paster + Nginx. Мне она очень помогла решить именно таким образом вопрос с виртуализацией платформы

Во всем же остальном просто следуйте инструкции, и все у вас получиться. Если возникнут вопросы — вы можете задать их мне или написать разработчикам [32]. Также вы можете подписаться на рассылку новостей или следить за развитием проекта в twitter [33].

Полезные ресурсы

CKAN Storage Extension for Google Refine [34]
Integrating CKAN and Drupal [35]

Сайты на платформе CKAN

Список сайтов [13], работающих на данной платформе
Сайт-каталог [36], работающий на CKAN, который собирает данные про существующие хабы данных.
Хаб открытых данных [37] в Российской Федерации
Хаб открытых данных в Российской Федерации по деятельности правоохранительных органов [38] власти
Международный хаб [39], работающий на платформе CKAN. Вам не обязательно создавать свой хаб. Вы можете загружать сюда любые открытые данные и использовать api или ссылаться на данный ресурс. Выбор за вами. Удачи!

Автор: sofist

Источник [40]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/e-lektronnoe-pravitel-stvo/38731

Ссылки в тексте:

[1] открытого правительства: http://xn--80ahccvvactsc1ibf.xn--80abeamcuufxbhgound0h9cl.xn--p1ai/

[2] открытых данных: http://opendatahandbook.org/ru/what-is-open-data/index.html

[3] обороты: http://data.mos.ru/

[4] организаций: http://mvd.ru/opendata

[5] принят закон об открытых данных: http://habrahabr.ru/post/182738/

[6] движется: http://ua.comments.ua/money/196963-maykrosoft-ukraina-dopomozhe-zrobiti.html

[7] движении: http://te-st.ru/2013/07/13/new-form/

[8] конкурсы: http://habrahabr.ru/post/177543/

[9] фестивали: http://okfestival.org/

[10] хакатоны: http://te-st.ru/2013/07/12/hackathon-neuron/

[11] Открытые данные: http://habrahabr.ru/post/117343/

[12] CKAN: http://ckan.org/

[13] них: http://ckan.org/instances/#

[14] Здесь: http://blog.okfn.org/category/okf-projects/ckan/

[15] Здесь: http://te-st.ru/tools/ckan-open-source-data-platform/

[16] адресу: https://ckan.readthedocs.org/en/latest/installing.html

[17] платные: http://ckan.org/services/

[18] хостингу: https://www.reg.ru/?rlink=reflink-717

[19] форк: https://github.com/okfn/ckan

[20] форков: https://github.com/datagovuk/ckan

[21] хаб: http://data.gov.uk

[22] wiki: https://github.com/okfn/ckan/wiki/How-to-Install-CKAN

[23] адресу: https://www.transifex.com/projects/p/ckan/

[24] transifex: https://www.transifex.com

[25] перевода: https://www.transifex.com/projects/p/ckan/language/ru/

[26] Installing CKAN from Package: https://ckan.readthedocs.org/en/latest/install-from-package.html

[27] jetty: http://download.eclipse.org/jetty/

[28] Installing CKAN from Source: https://ckan.readthedocs.org/en/latest/install-from-source.html

[29] Deploying a Source Install: http://docs.ckan.org/is/latest/deployment.html

[30] ibegtin: http://habrahabr.ru/users/ibegtin/

[31] здесь: http://www.stableit.ru/2010/04/pylons-paster-nginx.html

[32] разработчикам: http://ckan.org/contact/

[33] twitter : https://twitter.com/CKANproject

[34] CKAN Storage Extension for Google Refine: http://lab.linkeddata.deri.ie/2011/grefine-ckan/

[35] Integrating CKAN and Drupal : http://data.gov.uk/blog/integrating-ckan-and-drupal

[36] Сайт-каталог: http://datacatalogs.org/

[37] Хаб открытых данных: http://hub.opengovdata.ru/

[38] правоохранительных органов: http://data.openpolice.ru/

[39] Международный хаб: http://datahub.io/

[40] Источник: http://habrahabr.ru/post/186708/