Go to the directory you want to install OrientDB.
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 |
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 |
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 |
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 |
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" /> |
<!-- 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="*"/> |
<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 |
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 |
# -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* |
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 |
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/ |
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 |
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 &" |
# 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 |
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 |
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 |
/opt/orientdb/bin/console.sh
Create a new database:
create database remote:/yourDatabaseName yourUsername yourPassword local |
create database remote:/yourDatabaseName yourUsername yourPassword local
Done. Grab a beer, you’ve earned it. 😉