Компилирование CouchDB из исходного кода на сервере Ubuntu 13.04
Ubuntu, VPS | Комментировать запись
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: CouchDB, Linux, NoSQL, SSH, Ubuntu, Ubuntu 13.04, VPS