Установка Apache CouchDB на Ubuntu 18.04
О чём этот материал
CouchDB — это свободная документно-ориентированная NoSQL‑БД, реализованная на языке Erlang. Она хранит данные в формате JSON, поддерживает запросы через JavaScript (MapReduce) и предоставляет HTTP API. CouchDB использует многоверсионный контроль параллелизма, поэтому при записи файл базы не блокируется. Часто используется для репликации и синхронизации на мобильных устройствах.
Краткое определение: NoSQL — семейство баз данных, не основанных на реляционной модели; CouchDB — документная NoSQL‑СУБД.
Требования
- Сервер с Ubuntu 18.04.
- Пользователь с привилегиями sudo (не root).
Установка Apache
Перед установкой CouchDB нужно установить веб‑сервер Apache. Выполните:
sudo apt-get install apache2 -yЗапустите Apache и включите автозапуск:
sudo systemctl start apache2
sudo systemctl enable apache2Важно: Apache не обязателен для работы CouchDB, но в некоторых окружениях его ставят для обратного проксирования или тестирования.
Установка CouchDB
По умолчанию пакет CouchDB может отсутствовать в стандартных репозиториях Ubuntu 18.04. Добавьте официальный репозиторий Apache CouchDB:
echo "deb https://apache.bintray.com/couchdb-deb xenial main" \ | sudo tee -a /etc/apt/sources.listПодпишите репозиторий ключом:
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc \ | sudo apt-key add -Обновите список пакетов и установите CouchDB:
sudo apt-get update -y
sudo apt-get install couchdb -yВо время установки откроется интерактивная начальная конфигурация. Примеры экранов установки:





После установки запустите сервис и включите автозапуск:
sudo systemctl start couchdb
sudo systemctl enable couchdbПроверка статуса сервиса:
sudo systemctl status couchdbПример ожидаемого вывода:
? couchdb.service - Apache CouchDB
Loaded: loaded (/lib/systemd/system/couchdb.service; enabled; vendor preset:
Active: active (running) since Sun 2018-06-10 20:22:25 IST; 45s ago
Main PID: 3092 (beam)
CGroup: /system.slice/couchdb.service
??3092 /opt/couchdb/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -ro
??3119 /opt/couchdb/bin/../erts-7.3/bin/epmd -daemon
??3145 sh -s disksup
??3149 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/memsup
??3150 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/cpu_sup
Jun 10 20:22:25 Node1 systemd[1]: Started Apache CouchDB.
Jun 10 20:23:01 Node1 systemd[1]: Started Apache CouchDB.
Jun 10 20:23:04 Node1 systemd[1]: Started Apache CouchDB.Доступ к веб‑интерфейсу CouchDB
CouchDB по умолчанию слушает порт 5984. Откройте в браузере:
http://your-server-ip:5984/_utils/
Вас перенаправит в интерфейс администратора Futon/Кабинет администрирования:

Введите имя администратора и пароль, затем нажмите Login. Вы попадёте в интерфейс управления базами:

Частые проблемы и способы их решения
- CouchDB не запускается: проверьте журналы systemd и файлы в /opt/couchdb/log. Команда: sudo journalctl -u couchdb.
- Порт 5984 недоступен: проверьте firewall (ufw) и правила iptables. Разрешите порт: sudo ufw allow 5984/tcp.
- Ошибки в конфигурации: верните файл /opt/couchdb/etc/local.ini к корректному состоянию или пересоздайте конфигурацию.
- Неправильная привязка интерфейса: на этапе установки выберите привязку к 0.0.0.0, если нужно удалённое подключение.
Важно: не открывайте порт 5984 в публичный интернет без дополнительной защиты (обратный прокси с аутентификацией, VPN, firewall).
Альтернативные способы установки
- Docker: официальный образ couchdb из Docker Hub удобен для тестов и изоляции. Пример:
docker run -d --name couchdb -p 5984:5984 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=secret couchdb:latest- Пакеты из официальных дистрибутивов Ubuntu более старые; для новых функций используйте официальный репозиторий или контейнеры.
Безопасность и базовые рекомендации по харднингу
- Установите сильный пароль администратора. Не используйте дефолтные учётные записи.
- Закройте доступ к порту 5984 извне, если это не требуется. Используйте обратный прокси (Nginx) с TLS и аутентификацией.
- Регулярно обновляйте пакеты и следите за CVE для выбранной версии CouchDB.
- Для кластеров включайте репликацию только по защищённым каналам.
Контрольный список для развертывания (роль‑ориентированный)
- Системный администратор: установить пакет, настроить systemd, включить бэкапы конфигурации.
- Сетевой инженер: открыть необходимые порты в firewall, настроить обратный прокси если нужно.
- Девопс/Разработчик: проверить доступ к HTTP API, настроить окружение для репликации и тестирование.
Критерии приёмки
- Сервис CouchDB запущен и активен: sudo systemctl status couchdb показывает active (running).
- Веб‑интерфейс доступен по http://IP:5984/_utils/ и позволяет выполнить вход.
- Порт 5984 прослушивается и доступен (при необходимости) через firewall/прокси.
- Создание и чтение документов через HTTP API работает.
Короткий глоссарий
- Erlang — язык программирования, ориентированный на конкуренцию и отказоустойчивость.
- JSON — формат обмена данными, используемый для хранения документов в CouchDB.
- MapReduce — модель для распределённой обработки данных; в CouchDB используется для запросов.
Резюме
- CouchDB хранит документы в JSON и предоставляет HTTP API на порту 5984.
- На Ubuntu 18.04 используйте официальный репозиторий или Docker для установки.
- Обеспечьте безопасность доступа: пароли, firewall, обратный прокси.
Важно: перед открытием сервиса в продакшн проведите тесты репликации, бэкапа и восстановления.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента