Статьи

Как установить 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. Установите как минимум следующие пакеты.
    1
    2
    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. Вы можете изменить его, используя другой префикс при вызове configure. Проверьте руководство.
    1
    2
    3
    cd /tmp && tar xvzf apache-couchdb-1.5.0.tar.gz 
     cd apache-couchdb-* 
     ./configure && make
  5. Установите CouchDB. CouchDB устанавливается в / usr / local
    1
    sudo make install
  6. Иногда необходимо удалить старые вещи из пакетов Ubuntu. Это не было необходимо в моем случае. Но вы можете сделать следующее:
    1
    sudo rm /etc/logrotate.d/couchdb /etc/init.d/couchdb
  7. Установите сценарии инициализации и войдите в систему
    1
    2
    3
    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 работает
    1
    curl http://127.0.0.1:5984/

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

    1
    {"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.

    1
    2
    3
    [httpd] 
     ;port = 5984 
     bind_address = 0.0.0.0
  10. Теперь перезапустите CouchDB, и все готово.
    1
    /etc/init.d/couchdb restart

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

Справка: Как установить Couch DB 1.5 на Ubuntu от нашего партнера по JCG Ральфа Квебеманна из Music, Sports and Computers, вот о чем все это … блог.