Compilation, installation et configuration de CouchDB sur Debian Strech

Compilation

Installer les dépendances :

apt-get update && apt-get --no-install-recommends -y install \
            ca-certificates \
            curl \
            net-tools \
            nginx \
            sudo \
            vim-tiny \
            build-essential \
            pkg-config \
            erlang \
            libicu-dev \
            libmozjs185-dev \
            libcurl4-openssl-dev

Télécharger les sources, ici la version 2.1.0

cd /tmp
curl -LO https://dist.apache.org/repos/dist/release/couchdb/source/2.1.0/apache-couchdb-2.1.0.tar.gz

Extraire et compiler les sources

tar xf apache-couchdb-2.1.0.tar.gz
cd apache-couchdb-2.1.0
./configure
make release

Puis créer l’utilisateur dédié

adduser --system \
        --no-create-home \
        --shell /bin/bash \
        --group --gecos \
        "CouchDB Administrator" couchdb
Installation

Nous installons CouchDB dans le répertoire /home/couchdb

cp -R rel/couchdb /home/couchdb
chown -R couchdb:couchdb /home/couchdb
find /home/couchdb -type d -exec chmod 0770 {} \;
chmod -R 0644 /home/couchdb/etc/*
mkdir /var/log/couchdb && chown couchdb: /var/log/couchdb

Création du fichier de service

cat <<EOT >> /etc/systemd/system/couchdb.service
[Unit]
Description=Couchdb service
After=network.target

[Service]
Type=simple
User=couchdb
ExecStart=/home/couchdb/bin/couchdb -o /dev/stdout -e /dev/stderr
Restart=always

[Install]
WantedBy=multi-user.target
EOT

Et enregistrement du service

systemctl  daemon-reload
systemctl  start couchdb.service
systemctl  enable couchdb.service
Configuration

Création des bases par défaut

HOST="http://127.0.0.1:5984"
curl -X PUT $HOST/_users
curl -X PUT $HOST/_replicator
curl -X PUT $HOST/_global_changes

Ajout d’un administrateur

Vous trouverez l’interface d’administration à l’adresse suivante

http://127.0.0.1:5984/_utils/

Il est alors possible d’y créer un compte administrateur.

 

Sources

http://docs.couchdb.org/en/2.1.0/install/setup.html

https://docs.cozy.io/en/install/manual/