Una delle potenzialità più significative delle distribuzioni Linux è la capacità di espandere le proprie potenzialità a livelli molto superiori a quelli forniti dal sistema di default grazie all'essere open source.
Abbiamo menzionato le migliaia di opzioni per applicazioni, programmi e utilità che troviamo in tutti i tipi di categorie per rendere un server più produttivo e oggi ci concentreremo su Apache CouchDB che è un'applicazione software noSQL open source.
Eseguiremo questa analisi su CentOS 7.
Cos'è Apache CouchDB?Apache CouchDB è una risorsa software gratuita che ci consente di accedere ai dati ovunque sia necessario definendo il Coach Replication Protocol, che è stato implementato da una varietà di progetti e prodotti che coprono tutti gli ambienti IT, da cluster di server distribuiti a livello globale o telefoni cellulari a browser web. Il software compatibile con il protocollo Couch Replication include: PouchDB, Cloudant e Couchbase Lite.
Apache CouchDB è stato sviluppato nel 2005 ed è diventato parte della Apache Software Foundation nel 2008.
CouchDB ha un semplice linguaggio di query per lo sviluppatore e può facoltativamente includere MapReduce per un recupero dei dati semplice, efficiente e completo.
Funzionalità di Apache CouchDBTra le diverse caratteristiche di Apache CouchDB abbiamo:
- Database a nodo singolo: CouchDB ha un eccellente database a nodo singolo che funziona come qualsiasi altro database che utilizza un server di applicazioni, la cosa migliore è che può essere esteso in qualsiasi momento.
- Cluster: Apache CouchDB è un database in cluster che ci consente di eseguire un singolo server di database logico su un numero qualsiasi di server o macchine virtuali. Un cluster CouchDB migliora la configurazione di un singolo nodo conferendogli maggiore capacità e alta disponibilità senza modificare le API interne.
- CouchDB utilizza il protocollo HTTP e il formato dati JSON ed è compatibile con qualsiasi software che li supporti.
- Include Offline First Data Sync, un protocollo di replica CouchDB unico, che costituisce la base per un'intera nuova generazione di applicazioni "Offline First" per applicazioni mobili e altri ambienti con le attuali infrastrutture di rete.
- Apache CouchDB è progettato per i server (da Raspberry Pi alle grandi installazioni cloud), mentre PouchDB è progettato per browser Web desktop e mobili e Couchbase Lite è progettato per applicazioni iOS e Android native che coprono tutte le aree dell'IT.
- I singoli nodi utilizzano una struttura di dati di sola connessione resistente agli errori. Un cluster CouchDB multi-nodo salva tutti i dati in modo ridondante, quindi è sempre disponibile quando necessario.
1. Installa i repository EPEL e Apache CouchDB su CentOs 7
Prima di installare Apache CouchDB su CentOS 7, sarà necessario aggiungere un nuovo repository EPEL (Extra Package for Enterprise Linux).
Passo 1
Possiamo aggiungere il repository EPEL con il seguente comando:
yum -y install epel-release
Passo 2
Per installare Apache CouchDB, abbiamo pacchetti rpm per l'installazione in RedHat o CentOS, quindi per questo installeremo CouchDB dal repository Apache, andando nella directory /etc/yum.repos.d e creeremo un nuovo file di repository chiamato " apache -couchdb.repo "usando l'editor nano:
cd /etc/yum.repos.d/ nano apache-couchdb.repoPassaggio 3
Nel nuovo file distribuito incolleremo quanto segue:
[bintray - apache-couchdb-rpm] name = bintray - apache-couchdb-rpm baseurl = http: //apache.bintray.com/couchdb-rpm/el$releasever/$basearch/ gpgcheck = 0 repo_gpgcheck = 0 abilitato = 1
Passaggio 4
Salviamo le modifiche utilizzando la seguente combinazione di tasti:
Ctrl + O
Lasciamo l'editor utilizzando:
Ctrl + X
Passaggio 5
Procediamo con l'installazione di Apache CouchDB eseguendo la seguente riga:
yum -y install couchdb
Passaggio 6
Lì speriamo che tutti i pacchetti vengano scaricati e installati correttamente. Al termine dell'installazione, avvieremo il servizio e ne abiliteremo l'esecuzione all'avvio del sistema:
systemctl start couchdb systemctl abilita couchdb
2. Verifica il servizio CouchDB e le porte in CentOs 7
Passo 1
Possiamo verificare lo stato attuale del servizio CouchDB eseguendo la seguente riga:
stato systemctl couchdb
Passo 2
È importante verificare su quali porte è stabilita la comunicazione Apache CouchDB per abilitarle nel firewall. Per verificarlo eseguiamo quanto segue:
netstat -plntuNotaIn caso di non avere netstat, dobbiamo installarlo eseguendo quanto segue. Per impostazione predefinita, Apache CouchDB utilizzerà la porta 5984.
yum install net-tools
3. Abilita il server HTTP Apache CouchDB su CentOs 7
Apache CouchDB fornisce il server HTTP per l'accesso come amministratore sulla porta predefinita, come abbiamo già detto, 5984. Ha un'interfaccia utente web del pannello di amministrazione chiamata 'Fauxton'.
Passo 1
Per abilitare il server HTTP Apache CouchDB dobbiamo andare nella directory di installazione di apache couchdb/opt/couchdb e modificare il file di configurazione chiamato default.ini nella directory etc /:
cd / opt / couchdb nano etc / default.iniPasso 2
Nel file visualizzato andremo alla sezione "[chttpd]" e lì inseriamo il nostro indirizzo IP nel campo "bind_address":
Passaggio 3
Salviamo le modifiche ed usciamo dal file. Procediamo a riavviare il servizio Apache CouchDB con la seguente riga:
systemctl riavvia couchdbPassaggio 4
Procediamo ad abilitare la porta Apache CouchDB eseguendo le seguenti righe:
firewall-cmd --add-port = 5984 / tcp --permanent firewall-cmd -reload
4. Accedi e configura l'account amministratore in Apache CouchDB
Passo 1
Ora, per accedere ad Apache CouchDB, andiamo su un browser e inseriamo la seguente sintassi. Questo sarà l'ambiente Apache CouchDB iniziale su CentOS 7.
http: // indirizzo_IP: 5984 / _utils /
Passo 2
Questo punto è vitale per la sicurezza e la privacy poiché in questo momento l'accesso alla piattaforma web CouchDB è diretto e non richiede credenziali, quindi qualsiasi utente è in grado di creare, modificare o eliminare oggetti.
Per questo, fare clic sull'icona della freccia bidirezionale nella parte in alto a destra e quindi fare clic sull'icona "Banche dati":
Passaggio 3
Lì, clicchiamo su "Admin Party!" E nella nuova finestra creeremo l'utente amministratore con le rispettive credenziali. Fare clic sul pulsante Crea amministratore per creare l'utente.
Passaggio 4
Con questo metodo, la prossima volta che proveremo ad accedere nuovamente sarà necessario inserire le credenziali definite:
Passaggio 5
Apache CouchDB offre un'API per gestire il sistema CouchDB, possiamo utilizzare l'utilità di comando 'curl' per gestire il sistema CouchDB in generale.
Ciao CouchDBPer ottenere informazioni sul server couchdb installato in CentOS 7, possiamo utilizzare il parametro GET come segue:
curl -X GET http: // localhost: 5984 / o curl -X GET http: // IP: 5984 /
Possiamo vedere che la versione installata è 2.1.1.
Crea un nuovo databaseL'essenza di Apache CouchDB sono i database, per creare un nuovo database sarà necessario disporre dei privilegi di amministratore. Successivamente, useremo il parametro PUT. Creeremo un nuovo database chiamato solvetic_db:
curl -X PUT http://192.168.0.8:5984/solvetic_dbDurante l'esecuzione di questa riga potremmo vedere un errore di autorizzazione, possiamo testare utilizzando la seguente riga:
curl -X PUT http: // utente: [email protected]: 5984 /solvetic_db
Possiamo vedere che il database è stato creato correttamente:
Elenca il database e le sue informazioniPer ottenere informazioni su un database sarà necessario utilizzare il parametro GET come segue:
curl -X GET http: // nome utente: password @ localhost: 5984 / _all_dbsQuesto mostrerà tutti i database creati al momento. Ora, eseguiremo quanto segue per ottenere le informazioni da uno qualsiasi dei database distribuiti:
curl -X GET http: // username: password @ localhost: 5984 /solvetic_db
Elimina un databaseAl momento vogliamo eliminare un database da Apache CouchDB possiamo eseguire quanto segue:
curl -X DELETE http: // username: password @ localhost: 5984 /solvetic_dbPossiamo confermare che è stato rimosso eseguendo:
curl -X GET http: // nome utente: password @ localhost: 5984 / _all_dbs
Possiamo comprendere la diversità delle attività che Apache CouchDB ci consente di svolgere per la gestione dei nostri database in modo semplice.