Компилирование CouchDB из исходного кода на сервере Ubuntu 13.04

Published by Leave your thoughts

CouchDB – это «база данных, которая полностью охватывает Интернет». Это одна из систем управления базами данных (СУБД) семьи NoSQL, которая предлагает альтернативу жесткой структуре реляционных баз данных как MySQL.

На момент написания статьи текущей версией CouchDB является 1.3.1. Данное руководство покажет, как скомпилировать ее из исходного кода.

Требования

Для начала нужно подготовить сервер к установке CouchDB – установить некоторые необходимые инструменты, которые помогут быстро установить CouchDB.

Сначала обновите пакетный менеджер Ubuntu:

$ apt-get update

Затем установите инструменты, необходимые для компилирования Couch:

$ apt-get install -y build-essential

Далее установите erlang и некоторые зависимости:

$ apt-get install -y erlang-base erlang-dev erlang-nox erlang-eunit

В завершение нужно установить  несколько библиотек, которые нужны для корректной работы CouchDB:

$ apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool

Загрузка исходного кода

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

Перейдите в каталог, в котором будет храниться исходный код:

$ cd /usr/local/src

Затем скачайте исходный код:

$ curl -O http://apache.mirrors.tds.net/couchdb/source/1.3.1/apache-couchdb-1.3.1.tar.gz

Разархивируйте файлы:

$ tar xvzf apache-couchdb-1.3.1.tar.gz

Перейдите в новый каталог:

$ cd apache-couchdb-1.3.1.tar.gz

Компилирование и установка CouchDB

Осталось только скомпилировать и установить CouchDB на сервер. Соберите и установите исходный код:

$ ./configure
$ make && make install

Готово! Новый сервер CouchDB установлен и полностью готов к работе. Но прежде чем запустить его, нужно выполнить тонкую настройку программы.

Нюансы установки CouchDB

В Ubuntu CouchDB, как правило, запускается как пользователь couchdb. Создайте такого пользователя:

$ adduser --disabled-login --disabled-password --no-create-home couched

Появится несколько полей, но их необязательно заполнять, можно просто нажать enter и пропустить их.

Теперь нужно дать новому пользователю соответствующие права доступа к файлам CouchDB:

$ chown -R couchdb:couchdb /usr/local/var/log/couchdb /usr/local/var/lib/couchdb /usr/local/var/run/couchdb

Установите CouchDB как сервис и разрешите автоматический запуск программы при загрузке:

$ ln -s /usr/local/etc/init.d/couchdb  /etc/init.d
$ update-rc.d couchdb defaults

Теперь можно запустить CouchDB!

$ service couchdb start

Чтобы убедиться, что все работает должным образом, подключитесь к CouchDB через порт 5984:

$ curl localhost:5984

Появится ответ вроде:

$ curl localhost:5984 {"couchdb":"Welcome","uuid":"d79a7c37116364fcc76bcb91901f48c6","version":"1.3.1","vendor":{"name":"The Apache Software Foundation","version":"1.3.1"}}

Настройка CouchDB

По умолчанию система управления базами данных CouchDB доступна только с VPS. При необходимости получать к ней доступ из сети отредактируйте конфигурационный файл. Для начала сделайте резервную копию в целях безопасности:

$ cp /usr/local/etc/couchdb/default.ini /usr/local/etc/couchdb/default.ini.bak

Затем откройте конфигурационный файл в текстовом редакторе:

$ nano /usr/local/etc/couchdb/default.ini

Найдите опцию bind_address и измените ее значение на 0.0.0.0 – это позволит CouchDB устанавливать соединение со всеми доступными адресами.

[httpd] port = 5984 bind_address = 0.0.0.0

Изменить порт CouchDB также можно в том файле. Внеся все необходимые изменения, сохраните и закройте файл, а затем перезапустите CouchDB.

$ service couchdb restart

Теперь CouchDB (включая встроенный веб-интерфейс Futon) доступна из сети. Чтобы открыть Futon, направьте браузер на http://ip.адрес.сервера:5984/_utils. Готово!

Примечание: чтобы иметь доступ к CouchDB с локального компьютера и при этом не делать ее общедоступной, используйте этот SSH-туннель на OSX или Linux:

$ ssh -L 5984:localhost:5984 ip.адрес.сервера

Теперь доступ к серверу можно получить через браузер по http://localhost:5984/_utils.

Tags: , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>