Introduzione
CouchDB è un database NoSQL open-source con tolleranza agli errori e privo di schemi gestito da Apache Software Foundation.
Il server CouchDB archivia i suoi dati in database denominati che contengono documenti con struttura JSON. Ogni documento è costituito da un numero di campi e allegati. I campi possono includere testo, numeri, elenchi, valori booleani, altro. È accessibile tramite un'API HTTP/JSON RESTful che consente di leggere, creare, modificare ed eliminare i documenti del database.
In questo tutorial, spiegheremo come installare l'ultima versione di CouchDB su Ubuntu 20.04 LTS Focal Fossa.
Se desideri installare CouchDB su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digita il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzi l'utente root puoi connetterti con un'altro nome utente utilizzando lo stesso comando, quindi modifica root con il tuo nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente ti verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il tuo server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerequisiti
Per poter installare i pacchetti sul proprio sistema Ubuntu, è necessario aver effettuato l'accesso come utente con privilegi sudo.
Abilitare il repository CouchDB
I pacchetti .deb di CouchDB sono disponibili dai loro repository ufficiali. Per abilitare il repository CouchDB e importare la chiave GPG, eseguire i comandi seguenti:
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -
echo "deb https://apache.bintray.com/couchdb-deb focal main" | sudo tee -a /etc/apt/sources.list
Installare CouchDB su Ubuntu
Una volta abilitato il repository, aggiornare l'elenco dei pacchetti e installare CouchDB:
sudo apt update
sudo apt install couchdb
Il programma di installazione ti chiederà innanzitutto se desideri installare CouchDB in modalità standalone o cluster. Installeremo CouchDB in modalità standalone a server singolo.
Successivamente, ti verrà data un'opzione per impostare l'indirizzo IP dell'interfaccia di rete a cui si collegherà CouchDB. Per l'installazione a server singolo lasciare l'impostazione predefinita 127.0.0.0
. Se si sta configurando un cluster, immettere l'indirizzo IP o il tipo di interfaccia 0.0.0.0
che permetterà l'associazione di CouchDB a tutte le interfacce di rete.
Al prompt successivo impostare la password dell'amministratore. Si consiglia vivamente di impostare la password che porterà CouchDB fuori dalla modalità "admin party" non sicura. Se questo campo viene lasciato vuoto, l'utente amministratore non verrà creato.
Conferma la password e l'installazione di CouchDB continuerà.
Verificare l'installazione di CouchDB
Per verificare l'installazione, eseguire il comando arricciatura seguente che stamperà le informazioni del database CouchDB in formato JSON:
curl http://127.0.0.1:5984/
L'output sarà simile al seguente:
{
"couchdb": "Welcome",
"features": [
"access-ready",
"partitioned",
"pluggable-storage-engines",
"reshard",
"scheduler"
],
"git_sha": "ff0feea20",
"uuid": "fbf8b0e76bfe12eb9e837473c498abb6",
"vendor": {
"name": "The Apache Software Foundation"
},
"version": "3.1.0"
}
Per chiarezza l'output è formattato.
Se si preferisce la GUI (interfaccia grafica), è possibile accedere all'interfaccia basata sul web di CouchDB, Fauxton all'indirizzo http://127.0.0.1:5984/_utils/
oppure su http://DOMAIN_OR_IP:5984/_utils/
.
Conclusione
Hai imparato come installare CouchDB su Ubuntu 20.04 LTS Focal Fossa. Il tuo prossimo passo potrebbe essere visitare la documentazione di Apache CouchDB e trovare maggiori informazioni su questo argomento.