Setting up an OrientDB server on Ubuntu
Go to the directory you want to install OrientDB.
cd /opt |
Download one of the two flavors of OrientDB (standard or graph edition). (If you don’t know which to take, pick the Graph Ed.)
sudo wget https://s3.amazonaws.com/orientdb/releases/orientdb-1.3.0.tar.gz #sudo wget https://s3.amazonaws.com/orientdb/releases/orientdb-graphed-1.3.0.tar.gz |
Unpack the file
sudo tar -zxvf orientdb-1.3.0.tar.gz |
I usually remove the tar.gz file and add a symlink
sudo rm orientdb-1.3.0.tar.gz sudo ln -s orientdb-1.3.0/ orientdb |
Configure the default orientdb password. (I use vi, you use your own favorite editor ;))
sudo vi orientdb/config/orientdb-server-config.xml |
Go to the section [orient-server > storages > storage] in the xml, change the default username and password and save the file
<!-- Default in-memory storage. Data are not saved permanently. --> <storage path="memory:temp" name="temp" userName="yourUsername" userPassword="yourPassword" loaded-at-startup="true" /> |
Get the root password for later use or/and add your own preferred account in [orient-server > users]:
(I prefer to remove the root account and add a new one)
<user name="yourUsername" password="yourPassword" resources="*"/> |
As the file is holding passwords it might be a good idea to remove the read permission for other users.
sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml |
Create a user that will run the server:
# -d, --home-dir HOME_DIR home directory of the new account # -M, --no-create-home do not create the user's home directory # -r, --system create a system account # -s, --shell SHELL login shell of the new account (/bin/false = no login) # -U, --user-group create a group with the same name as the user sudo useradd -d /opt/orientdb -M -r -s /bin/false -U orientdb |
Change ownership of orientdb directory/links:
sudo chown -R orientdb.orientdb orientdb* |
Modify the user group rights so that users in the orientdb group can invoke shell scripts.
sudo chmod 775 /opt/orientdb/bin sudo chmod g+x /opt/orientdb/bin/*.sh sudo usermod -a -G orientdb yourUsername |
Copy the init.d script:
sudo cp orientdb/bin/orientdb.sh /etc/init.d/ |
Update the init.d script with this sed script or just edit the file. (The copied one)
sudo sed -i "s|YOUR_ORIENTDB_INSTALLATION_PATH|/opt/orientdb|;s|USER_YOU_WANT_ORIENTDB_RUN_WITH|orientdb|" /etc/init.d/orientdb.sh |
And change the following lines, we use sudo because our system account does not have a login shell.
# You have to SET the OrientDB installation directory here (if not already done so) ORIENTDB_DIR="/opt/orientdb" ORIENTDB_USER="orientdb" #su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &" - $ORIENTDB_USER sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &" #su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &" - $ORIENTDB_USER sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &" |
Update the rc.d dirs
cd /etc/init.d sudo update-rc.d orientdb.sh defaults |
The server will now start and stop on startup/shutdown. For now we start it by hand.
sudo /etc/init.d/orientdb.sh start |
Verify that it is running by opening the studio (e.g. http://localhost:2480/) or run ‘sudo /etc/init.d/orientdb.sh status’.
Now we can log in and create a new database,
Start the console:
/opt/orientdb/bin/console.sh |
Create a new database:
create database remote:/yourDatabaseName yourUsername yourPassword local |
Done. Grab a beer, you’ve earned it. 😉