Installare OrientDB su CentOS 7
OrientDB è un database NoSQL open source che combina document store e grafi; questa guida mostra come installarlo e gestirlo su CentOS 7, compresi Java, avvio come servizio systemd, accesso a Studio e suggerimenti di sicurezza e troubleshooting.
OrientDB è un sistema di gestione di database NoSQL libero e open source. Diversamente dai tradizionali sistemi relazionali che memorizzano i dati in tabelle, OrientDB può gestire dati in forma di documenti e come grafo. Offre una console web integrata (OrientDB Studio) per gestire il database via browser, supporta transazioni ACID, operazioni atomiche e può restituire grafi completi con documenti interconnessi. La sua sintassi di query si basa su SQL e fornisce diversi algoritmi di indicizzazione per migliorare le prestazioni.
Questa guida traduce e amplia i passaggi pratici per mettere in produzione OrientDB su CentOS 7 con consigli operativi aggiuntivi, checklist e strategie di sicurezza.
Sommario rapido
- Prepara un server CentOS 7 minimo e aggiorna i pacchetti.
- Installa Java (Oracle JDK mostrato; OpenJDK è un’alternativa descritta più avanti).
- Scarica e installa OrientDB in /opt/orientdb, crea l’utente dedicato, configura systemd e abilita l’avvio automatico.
- Abilita il firewall per la porta di Studio (2480) e segui le raccomandazioni di hardening.
Prerequisiti
- Un server CentOS 7 minimo aggiornato.
- Privilegi di root. Questa guida è scritta come utente root; se usi sudo, esegui sudo -i per passare a root.
Aggiornare il sistema base
Prima di installare qualunque pacchetto è consigliato aggiornare pacchetti e repository:
yum -y updateDopo l’aggiornamento procedi con l’installazione delle dipendenze richieste da OrientDB e Java.
Installare Java
OrientDB è eseguito sulla JVM e supporta sia OpenJDK che Oracle Java. Qui viene mostrata l’installazione dell’Oracle JDK come nell’originale. Se preferisci OpenJDK o container, vedi la sezione Alternative.
Scarica il pacchetto RPM:
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"Se non hai wget, installalo con:
yum -y install wgetInstalla l’RPM scaricato:
yum -y localinstall jdk-8u144-linux-x64.rpmVerifica la versione di Java:
java -versionEsempio di output atteso:
[root@liptan-pc ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
Controlla la variabile d’ambiente JAVA_HOME:
echo $JAVA_HOMESe l’output è vuoto, aggiungi le variabili in ~/.bash_profile. Modifica il file con il tuo editor preferito (qui si usa nano):
nano ~/.bash_profileAggiungi in fondo:
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export JRE_HOME=/usr/java/jdk1.8.0_144/jre
Applicare le modifiche con:
source ~/.bash_profileVerifica di nuovo:
[root@pc ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_144/
Nota: mantieni la versione e il percorso coerenti con il JDK installato sul tuo sistema.
Installare OrientDB
Per sicurezza è consigliato eseguire OrientDB con un utente dedicato. Creiamo l’utente:
adduser orientdb -d /opt/orientdbQuesto comando crea l’utente orientdb con home directory /opt/orientdb.
Scarica l’archivio binario di OrientDB nella directory di installazione:
cd /opt/orientdb/
wget https://orientdb.com/download.php?file=orientdb-community-importers-2.2.25.tar.gz -O orientdb.tar.gzPuoi sempre verificare il link dell’ultima versione sulla pagina ufficiale di download di OrientDB.
Estrai l’archivio:
tar -xf orientdb.tar.gzL’estrazione produce la directory orientdb-community-importers-2.2.25. Sposta i file nella radice di /opt/orientdb:
mv orientdb-community-importers*/* .Pulisci la directory di installazione e l’archivio:
rm -rf orientdb-community-importers*/ orientdb.tar.gzImposta i permessi appropriati per l’utente orientdb:
chown -R orientdb:orientdb /opt/orientdbA questo punto OrientDB è installato nel percorso scelto.
Avviare il server
OrientDB fornisce uno script per avviare il server. Passa all’utente orientdb e avvia il server:
su - orientdb
bin/server.shAl primo avvio ti verrà richiesto di impostare la password per l’utente root di OrientDB; scegli una password forte.
Esempio di dialogo iniziale:
+---------------------------------------------------------------+
| WARNING: FIRST RUN CONFIGURATION |
+---------------------------------------------------------------+
| This is the first time the server is running. Please type a |
| password of your choice for the 'root' user or leave it blank |
| to auto-generate it. |
| |
| To avoid this message set the environment variable or JVM |
| setting ORIENTDB_ROOT_PASSWORD to the root password to use. |
+---------------------------------------------------------------+
Root password [BLANK=auto generate it]: *********
Please confirm the root password: *********
Se il server parte correttamente vedrai messaggi simili a:
2017-08-05 12:48:04:444 INFO OrientDB Studio available at http://108.61.201.197:2480/studio/index.html [OServer]
2017-08-05 12:48:04:445 INFO OrientDB Server is active v2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d). [OServer]
Per fermare l’esecuzione usa Ctrl+C. Esci dall’utente orientdb con:
exitConfigurare OrientDB come servizio systemd
Per assicurare che OrientDB venga avviato automaticamente al boot e riavviato in caso di crash, crea un’unità systemd:
nano /etc/systemd/system/orientdb.serviceInserisci il seguente contenuto:
[Unit]
Description=OrientDB service
After=network.target
[Service]
Type=simple
ExecStart=/opt/orientdb/bin/server.sh
User=orientdb
Group=orientdb
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=orientdb
[Install]
WantedBy=multi-user.target
Avvia e abilita il servizio:
systemctl start orientdb
systemctl enable orientdbControlla lo stato del servizio:
systemctl status orientdbOutput di esempio:
[root@liptan-pc ~]# systemctl status orientdb
? orientdb.service - OrientDB service
Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-05 17:34:40 UTC; 15s ago
Main PID: 6939 (java)
CGroup: /system.slice/orientdb.service
??6939 /bin/java -d64 -server -Xms2G -Xmx2G -Djna.nosys=true -XX:+HeapDumpOnOutOfMemoryError -XX:MaxDirectMe...
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:477 INFO Installing dynamic plugin 'orientdb-telepo...ager]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:504 INFO [OVariableParser.resolveVariables] Error o...gies]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:573 WARNI Authenticated clients can execute any kind...eter]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:578 INFO OrientDB Studio available at http://108.61...rver]
Hint: Some lines were ellipsized, use -l to show in full.
Per facilitare l’accesso alla console di OrientDB crea un link simbolico:
ln -s /opt/orientdb/bin/console.sh /usr/bin/orientdbOra puoi connetterti alla console digitando:
orientdbEsempio di prompt:
[root@liptan-pc ~]# orientdb
OrientDB console v.2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d) https://www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Per uscire dal prompt usa:
exitAccedere a OrientDB Studio
OrientDB Studio è l’interfaccia web per amministrare OrientDB. Di norma si trova all’indirizzo HTTP sulla porta 2480. Apri nel browser:
http://your-server-IP:2480Se non riesci ad accedere potrebbe esserci un firewall attivo: apri la porta 2480 e ricarica il firewall:
firewall-cmd --zone=public --permanent --add-port=2480/tcp
firewall-cmd --reloadDovresti vedere la pagina di login di OrientDB Studio.

Caption: Pagina iniziale di OrientDB Studio con prompt di accesso.
Clicca su NEW DB per creare un nuovo database e compila i campi richiesti.

Caption: Interfaccia di creazione del database in OrientDB Studio.
Dopo la creazione verrai portato alla dashboard:

Caption: Dashboard del database appena creato.
La scheda Browse permette di eseguire query e visualizzare risultati:

Caption: Eseguire query nella scheda Browse.
La scheda Schema consente di definire e modificare classi (simili a tabelle) e proprietà:

Caption: Editor dello schema in OrientDB Studio.
La scheda Security permette di gestire utenti e permessi.
Best practice di sicurezza e hardening
Important: Proteggi l’accesso alla console di amministrazione e limita le porte aperte.
- Disabilita l’accesso Root remoto al sistema operativo e usa account separati per amministrazione.
- Usa password forti per l’utente root di OrientDB; considera l’uso di un vault (HashiCorp Vault, AWS Secrets Manager).
- Restringi l’accesso alle porte di rete (2480 per Studio HTTP, 2424 per il protocollo binario) solo alle reti necessarie tramite firewall o regole di sicurezza del cloud.
- Esegui OrientDB dietro un proxy reverso (ad esempio Nginx) che aggiunge TLS/HTTPS e un livello di autenticazione se necessario.
- Tieni aggiornato Java e OrientDB con patch di sicurezza.
- Limita i permessi dei file: l’utente orientdb deve possedere /opt/orientdb e non avere privilegi sudo di default.
Esempio: aprire solo il traffico verso la porta 2480 da una rete di gestione:
firewall-cmd --permanent --zone=trusted --add-source=10.0.0.0/24
firewall-cmd --permanent --zone=trusted --add-port=2480/tcp
firewall-cmd --reloadBackup e ripristino di base
- Per backup a caldo considera il dump dei dati tramite export della console o snapshot del filesystem (LVM, ZFS) se il tuo storage li supporta.
- Per backup rapidi usa i comandi console:
- Eseguire l’export del database:
EXPORT DATABASE /percorso/backup.zip user password- Per il restore usare:
IMPORT DATABASE /percorso/backup.zip user passwordNota: verifica sempre i backup in ambiente di test prima di ripristinarli in produzione.
Risoluzione dei problemi comuni
Quando l’installazione fallisce o lo studio non è raggiungibile, verifica:
- Log del servizio systemd: journalctl -u orientdb -e
- Permessi dei file: l’utente orientdb deve poter leggere/eseguire i binari e scrivere nelle cartelle dati.
- Variabili JAVA_HOME e JRE_HOME correttamente impostate per l’utente orientdb.
- Conflitti di porta: assicurati che 2480/2424 non siano in uso da altri servizi (netstat -tulpn).
- Output di avvio: errori di memory (-Xms/-Xmx) possono richiedere tuning della JVM.
Esempi di comandi utili:
journalctl -u orientdb -f
netstat -tulpn | grep 2480
ps aux | grep orientdbAlternative e scenari diversi
- OpenJDK: se non vuoi Oracle JDK, OpenJDK 1.8 è generalmente supportato. Sostituisci il pacchetto RPM con yum install java-1.8.0-openjdk-devel.
- Container: esistono immagini Docker ufficiali e community che semplificano il deploy e l’isolamento. Utile in ambienti di test o orchestrati (Kubernetes) con PersistentVolume per i dati.
- Versioni più recenti: verifica sempre la compatibilità delle applicazioni con la versione di OrientDB scelta; alcune API e plugin possono variare.
Quando questa guida non è adatta
- Se vuoi solo un database documentale leggero (senza componenti grafo avanzati), alternative come MongoDB possono essere più semplici.
- Per adoption su larga scala con esigenze di clustering e SLO rigorosi, valuta soluzioni industriali che abbiano supporto commerciale e tool di monitoring consolidati.
Checklist per ruolo
Sysadmin/DevOps
- Aggiornare CentOS e installare dipendenze.
- Installare JDK e impostare JAVA_HOME per l’utente orientdb.
- Creare utente orientdb e impostare permessi corretti su /opt/orientdb.
- Configurare unità systemd e abilitare l’avvio automatico.
- Configurare firewall e TLS (proxy reverso).
- Pianificare backup e test di restore.
Developer
- Accedere a OrientDB Studio e creare DB di test.
- Definire schema e testare query su Browse.
- Versionare script di migrazione dello schema.
DBA
- Monitorare l’utilizzo JVM (heap, GC).
- Eseguire backup regolari e test di restore.
- Verificare integrità del grafo e controllare gli indici.
Criteri di accettazione (test di base)
Il servizio orientdb è attivo e registrato come servizio systemd:
- systemctl status orientdb => Active: active (running)
OrientDB Studio è raggiungibile all’URL: http://
:2480 È possibile effettuare login con l’utente root e creare un database.
Export e import del database funzionano senza errori.
Spiegazione rapida del file systemd
- ExecStart: percorso allo script di avvio di OrientDB.
- User/Group: esegue il processo con privilegi limitati.
- Restart=always: riavvia il processo in caso di crash.
- SyslogIdentifier: tag nei log di sistema per semplificare la ricerca.
Mini-metodologia di deploy (3 fasi)
- Preparazione: aggiornare il sistema, installare JDK, creare utente e testare ambiente Java.
- Deploy: installare OrientDB in /opt/orientdb, impostare permessi, avviare come servizio systemd e testare Studio.
- Produzione: configurare TLS/proxy, limitare l’accesso di rete, automatizzare backup e monitoraggio.
Security hardening rapido
- Abilitare TLS sul proxy reverso e disabilitare accesso HTTP diretto su reti pubbliche.
- Limitare l’accesso alla porta 2480 a IP conosciuti.
- Usare account non root per i processi e rimuovere permessi inutili.
- Monitorare i log per tentativi di autenticazione falliti.
Rimozione o rollback
Per rimuovere un’installazione pulita:
systemctl stop orientdb
systemctl disable orientdb
rm -rf /etc/systemd/system/orientdb.service
rm -rf /opt/orientdb
userdel -r orientdbNota: esegui backup dei dati prima di rimuovere le directory.
FAQ
Posso usare OpenJDK invece di Oracle JDK?
Sì. OpenJDK 1.8 è una valida alternativa e in molti casi funziona correttamente con OrientDB.
Quali porte usa OrientDB?
Per default: 2480 per OrientDB Studio (HTTP) e 2424 per il protocollo binario cliente-server.
Posso eseguire OrientDB in Docker?
Sì. Esistono immagini Docker che semplificano il deploy; assicurati di montare volumi persistenti per i dati.
Conclusione
In questa guida abbiamo installato e configurato OrientDB su CentOS 7, coprendo l’installazione di Java, la creazione di un utente dedicato, l’installazione dei file dell’applicazione, l’avvio manuale, la configurazione del servizio systemd e l’accesso tramite OrientDB Studio. Sono stati aggiunti consigli pratici su sicurezza, backup, troubleshooting e alternative di distribuzione.
Riepilogo
- OrientDB combina document store e grafo ed è accessibile via OrientDB Studio sulla porta 2480.
- Esegui OrientDB con utente dedicato, configura systemd e applica regole firewall.
- Considera proxy reverso con TLS e strategie di backup/test di restore regolari.