Статьи

Как установить Couch DB 1.5 на Ubuntu

Недавнее задание, которое я должен был выполнить на своем домашнем компьютере с Ubuntu Linux под управлением 12.04. LTS должен был установить CouchDB . Мне это было нужно, потому что я хотел использовать ACRA в качестве инструмента удаленного оповещения об ошибках для Android-приложений. Acra является полностью открытым исходным кодом ( размещен на GitHub ) и невероятный инструмент круто запускается Кевин Годен .

Раньше я пробовал это с помощью Iris Couch, но оказалось, что Iris Couch, использующий бесплатный аккаунт, мучительно медленный. Поэтому я решил разместить свой собственный CouchDB дома.

Репозитории Ubuntu не содержат обновленную версию Couch DB. Я попробовал это с помощью apt-get и получил CouchDB версии 1.0.1. Это был нереальный выбор, потому что я хотел использовать функцию репликации CouchDB, которая доступна только в версии выше 1.2.

Я нашел довольно хорошее пошаговое руководство в вики Apache CouchDB. Подводя итог:

я установил его, скомпилировав его из источника,

используя следующие шаги.

1. Скачать исходники CouchDB 1.5

2. Создайте пользователя и группу с именем couchdb. Это очень важно. Не компилируйте и не устанавливайте его с правами пользователя root. Если вы сделаете это с root, CouchDB не запустит и не запишет никаких сообщений об ошибках в какой-либо файл журнала, потому что CouchDB запустится с правами пользователя ‘couchdb’, но все установленные файлы и папки не разрешают доступ для чтения или записи любому другому пользователю, кроме ‘ корень. Если вы скомпилировали и установили его с правами пользователя root, вам необходимо самостоятельно настроить разрешения и права владельца различных файлов и папок. Я должен признать, что я сделал это с пользователем ‘root’ в первый раз, и мне потребовалось два часа, чтобы найти причины и все исправить. Так что будьте осторожны 😉

3. Установите как минимум следующие пакеты.

sudo apt-get install -y g++  
 sudo apt-get install -y erlang-dev erlang-manpages erlang-base-hipe erlang-eunit erlang-nox erlang-xmerl erlang-inets  
 sudo apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool  

4. Извлеките и скомпилируйте CouchDB, используя каталог установки по умолчанию / usr / local. Вы можете изменить его, используя другой префикс —prefix при вызове configure. Проверьте руководство.

 cd /tmp && tar xvzf apache-couchdb-1.5.0.tar.gz  
 cd apache-couchdb-*  
 ./configure && make  

5. Установите CouchDB. CouchDB устанавливается в / usr / local

 sudo make install  

6. Иногда необходимо удалить старые вещи из пакетов Ubuntu. Это не было необходимо в моем случае. Но вы можете сделать следующее:

 sudo rm /etc/logrotate.d/couchdb /etc/init.d/couchdb  

7. Установите сценарии инициализации и войдите в систему

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

8. Убедитесь, что CouchDB работает

 curl http://127.0.0.1:5984/  

Это должно дать вам вывод, как это:

 {"couchdb":"Welcome","uuid":"5a23983ac768251e1c8d413bb52e67b5","version":"1.5.0","vendor":{"version":"1.5.0","name":"The Apache Software Foundation"}}  

9. При такой настройке CouchDB прослушивает только на локальном хосте (127.0.0.1). Если вы хотите, чтобы CouchDB прослушивал все интерфейсы и обращался к нему извне, вы должны настроить его в /usr/local/etc/couchdb/local.ini

Просто найдите раздел [httpd] и раскомментируйте строку, начинающуюся с ‘bind_address’, и замените 127.0.0.1 на 0.0.0.0.

 [httpd]  
 ;port = 5984  
 bind_address = 0.0.0.0 

10. Теперь перезапустите CouchDB, и все готово.

 /etc/init.d/couchdb restart  

Вы также можете установить версию CouchDB, созданную из источника, вместе с пакетом Ubuntu по умолчанию. Посмотрите пошаговое руководство, упомянутое выше, чтобы посмотреть, как это достигается.