Гид по технологиям

Установка и настройка Apache CouchDB на CentOS 7

• 5 min read • Databases • Обновлено 22 Nov 2025
Apache CouchDB на CentOS 7 — установка и настройка
Apache CouchDB на CentOS 7 — установка и настройка

Этот пошаговый гид показывает, как установить и настроить Apache CouchDB на сервере CentOS 7. Вы узнаете, как добавить репозиторий EPEL, установить CouchDB, включить HTTP-интерфейс (Fauxton), создать административную учётную запись и выполнять базовые операции через API с помощью curl. Контрольные команды и советы по устранению неполадок включены.

Важно: пример использует порт 5984 и директорию установки /opt/couchdb. Настройте IP и пароли под свою среду.

Что понадобится

  • Сервер с CentOS 7
  • root или эквивалентные привилегии sudo
  • Доступ в интернет для загрузки пакетов

План действий

  1. Установить EPEL
  2. Установить Apache CouchDB из RPM-репозитория
  3. Включить HTTP-интерфейс CouchDB и открыть порт 5984
  4. Создать административную учётную запись через Fauxton
  5. Базовые операции через API с curl

Шаг 1 — Установка репозитория EPEL

Перед установкой CouchDB на CentOS 7 добавим репозиторий EPEL (Extra Packages for Enterprise Linux). Это стандартный репозиторий для дополнительных пакетов.

Выполните:

yum -y install epel-release

Установка репозитория EPEL на CentOS 7

Репозиторий EPEL установлен.

Шаг 2 — Установка Apache CouchDB

Apache CouchDB распространяется в виде rpm-пакетов для RHEL/CentOS. Добавим репозиторий Apache CouchDB и установим пакет.

Перейдите в каталог репозиториев и создайте файл apache-couchdb.repo:

cd /etc/yum.repos.d/
vim apache-couchdb.repo

Вставьте (сохраните и закройте файл):

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

Теперь установите пакет:

yum -y install couchdb

После установки запустите службу и включите автозапуск при загрузке:

systemctl start couchdb
systemctl enable couchdb

Проверьте статус сервиса:

systemctl status couchdb

Вы должны увидеть, что служба активна.

Статус службы couchdb после установки

Проверьте слушающие порты (один из удобных способов):

netstat -plntu

Порт CouchDB 5984 активен

Apache CouchDB установлен и по умолчанию слушает порт 5984.

Шаг 3 — Включение HTTP-интерфейса CouchDB

CouchDB предоставляет HTTP-интерфейс и веб-панель администрирования Fauxton. По умолчанию сервис может быть привязан только к localhost. Чтобы открыть доступ извне, измените bind_address.

Откройте конфигурационный файл:

cd /opt/couchdb
vim etc/default.ini

Найдите секцию [chttpd] и отредактируйте параметры:

[chttpd]
port = 5984
bind_address = 0.0.0.0

Сохраните изменения и перезапустите службу:

systemctl restart couchdb

Затем откройте в браузере (замените IP на адрес вашего сервера):

http://192.168.1.11:5984/_utils/

Веб-интерфейс Fauxton CouchDB

Примечание

Если на сервере работает firewalld, разрешите порт 5984:

firewall-cmd --add-port=5984/tcp --permanent
firewall-cmd --reload

Открытие порта 5984 в firewalld

Дополнительно для случая с SELinux: если SELinux включён, возможно потребуется разрешить сетевой доступ для процесса couchdb или настроить контексты для /opt/couchdb. Проверяйте /var/log/audit/audit.log при ошибках доступа.

Шаг 4 — Создание административной учётной записи

По умолчанию CouchDB запускается в режиме “Admin Party”: нет настроенных администраторов, и доступ открыт. Это удобно для тестов, но небезопасно в продакшене. Закройте “Admin Party” через Fauxton.

Откройте Fauxton по адресу:

http://192.168.1.11:5984/_utils/

Перейдите на вкладку Admin Party, введите имя администратора и пароль, затем нажмите Create Admin.

Создание администратора в Fauxton

После создания учётной записи Fauxton запросит вход:

Вход в Fauxton после создания администратора

Введите сохранённые логин и пароль.

Важно

Храните учётные данные в безопасном хранилище. При необходимости интегрируйте CouchDB с внешними системами аутентификации.

Шаг 5 — Базовые операции через API с curl

CouchDB управляется через HTTP API. В качестве клиента мы используем curl. Ниже — набор часто используемых команд.

  • Hello CouchDB — узнать версию и статус сервера:
curl -X GET http://localhost:5984/

Ответ CouchDB с версией сервера

Вы увидите информацию о версии CouchDB (в примере 2.1.0).

  • Создать новую базу данных (PUT). Если включена аутентификация, укажите логин:пароль в URL или используйте заголовки Authorization.

Пример без учётных данных — ожидаемо получите Unauthorized:

curl -X PUT http://localhost:5984/hakase_db

Пример с учётными данными (замените hakase:aqwe123 на свои):

curl -X PUT http://hakase:aqwe123@localhost:5984/hakase_db

Создание базы hakase_db через API

  • Просмотреть список баз данных:
curl -X GET http://hakase:aqwe123@localhost:5984/_all_dbs
  • Получить информацию о базе данных:
curl -X GET http://hakase:aqwe123@localhost:5984/hakase_db

Информация о базе hakase_db

  • Удалить базу данных:
curl -X DELETE http://hakase:aqwe123@localhost:5984/hakase_db

Проверьте, что базы нет:

curl -X GET http://hakase:aqwe123@localhost:5984/_all_dbs

Список баз после удаления hakase_db

Полезная шпаргалка по командам

  • Управление службой:
systemctl start|stop|restart couchdb
systemctl enable couchdb
systemctl status couchdb
  • Сетевые проверки:
netstat -plntu | grep 5984
ss -plntu | grep 5984
curl -I http://localhost:5984/
  • Firewall:
firewall-cmd --add-port=5984/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
  • SELinux (проверка режима):
sestatus

Если SELinux — Enforcing, при проблемах с доступом проверьте audit.log.

Критерии приёмки

  • Сервис couchdb активен и слушает порт 5984: systemctl status couchdb + ss/netstat показывают порт.
  • Fauxton доступен по http://:5984/_utils/ и запрашивает учётные данные после создания администратора.
  • Можно создать, просмотреть и удалить базу данных через curl с учётными данными.
  • Порт 5984 открыт в фаерволе (если фаервол активен).

Устранение неполадок

  • CouchDB не запускается: проверьте журналы systemctl journalctl -u couchdb и /opt/couchdb/log/*.json.
  • Порт не слушается: проверьте bind_address в etc/default.ini и перезапустите сервис.
  • Fauxton недоступен извне: проверьте firewall-cmd и SELinux.
  • Ошибка Unauthorized при curl: проверьте правильность логина:пароля и кодировку символов в URL. Лучше использовать –user или заголовок Authorization.

Совет: используйте –user вместо встраивания пароля в URL:

curl -u hakase:aqwe123 -X GET http://localhost:5984/_all_dbs

Контрольный список для ролей

Администратор сервера:

  • Установить EPEL и CouchDB
  • Открыть порт 5984 в фаерволе
  • Настроить SELinux или контексты

ДевОпс/инфра:

  • Настроить systemd unit, мониторинг и рестарт при падении
  • Настроить резервное копирование файлов couchdb и репликацию при необходимости

Разработчик:

  • Использовать CouchDB API для создания/удаления баз
  • Настроить тесты, валидировать JSON-документы

Альтернативные подходы

  • Контейнеризация: запуск CouchDB в Docker или Podman упрощает изоляцию и деплоймент.
  • Пакетный менеджер: если доступен более свежий rpm-репозиторий, используйте его для доступа к новым версиям.
  • Управляемые сервисы: для критичных нагрузок рассмотрите управляемые NoSQL-решения.

Модель зрелости использования CouchDB

  • Начальный: single-node, Admin Party выключен, ручные бэкапы.
  • Базовый: single-node с мониторингом и регулярными бэкапами.
  • Производственный: кластер/репликация, автоматическое восстановление, централизованное управление конфигурацией.

Факто-бокс

  • Порт по умолчанию: 5984
  • Формат данных: JSON документы
  • Модель: документно-ориентированная NoSQL база
  • Управление: HTTP API и Fauxton веб-интерфейс

Безопасность и конфиденциальность

  • Отключите Admin Party немедленно в продакшен.
  • Используйте HTTPS через обратный прокси (nginx/HAProxy) или включите TLS, если применимо.
  • Ограничьте доступ по IP в фаерволе.

Итог

Установка и базовая конфигурация Apache CouchDB на CentOS 7 занимает несколько шагов: добавление EPEL, установка rpm-пакета, открытие порта и создание администратора через Fauxton. После этого можно управлять базами через HTTP API с помощью curl. Рекомендуется дополнительно настроить мониторинг, резервное копирование и защищённый доступ по HTTPS.

Справочная документация:

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро