Skip to content

Linux

Requirements

  • Due to certain dependencies, if installing on a 64-bit operating system (OS), the target system will require >= 512 MB of RAM.
  • Python 3.6 - 3.9 (Comes default with Debian 9 - 11, Ubuntu 18.04 - 20.04, Centos 7 - 8, RedHat 7 - 8. All others distros/versions will need to install the correct version beforehand)

Debian

If using Debian 10 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.

Our installation script automatically installs SlashDB with support for SQLite, MySQL 8, PostgreSQL as well as MS SQL Server and IBM DB2 databases. Oracle requires a few additional but simple steps - see instructions below. It's recommended to install the package in a separate system because there are a number of system-wide dependencies like NGINX, Memcached, and database clients that are installed.

1. Change to root

sudo su

2. Install MySQL APT repository and SlashDB.

Debian requires adding the MySQL Client Library which is not available in the standard Debian repository. The MySQL APT repository has to be added instead.

Due to an MySQL issue before getting the latest package a new GPG Key has to be also installed.

apt-get update
apt-get install -y wget software-properties-common gnupg
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
DEBIAN_FRONTEND=noninteractive dpkg -i ./mysql-apt-config_0.8.22-1_all.deb
apt-get update  

Or follow the instructions at https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en to install MySQL repository and then

3. Download and install the latest DEB package.

apt-get update
wget -c https://downloads.slashdb.com/versions/1.6.46/slashdb_1.6.46_amd64.deb
apt-get install -y ./slashdb_1.6.46_amd64.deb

4. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command hostname -I to find what is your IP address.

5. To finish setup see:

Ubuntu

If using Ubuntu 18.04 - 20.04 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.

Our installation script automatically installs SlashDB with support for SQLite, MySQL 8, PostgreSQL as well as MS SQL Server and IBM DB2 databases. Oracle requires a few additional but simple steps - see instructions below. It's recommended to install the package in a separate system because there are a number of system-wide dependencies like NGINX, Memcached, and database clients that are installed.

1. Change to root

sudo su

2. Download the latest SlashDB DEB package, update repository and install package.

wget -c https://downloads.slashdb.com/versions/1.6.46/slashdb_1.6.46_amd64.deb
add-apt-repository universe
apt-get update
apt-get -y install ./slashdb_1.6.46_amd64.deb

3. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command hostname -I to find what is your IP address.

4. To finish setup see: Logging in for the first time.

Oracle for Ubuntu or Debian

Go to https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html and download Oracle instant client basic and sqlplus version 19.5 RPMs.

In the folder you should have the files:

  • oracle-instantclient-basic-21.6.0.0.0-1.x86_64.rpm
  • oracle-instantclient-sqlplus-21.6.0.0.0-1.x86_64.rpm

1. Change to root

sudo su

2. Then covert *.rpm to *.deb packages using alien

apt-get update
apt-get install alien
alien -v oracle-instantclient-*.rpm

When done your folder will contain new files:

  • oracle-instantclient-basic_21.6.0.0.0-2_amd64.deb
  • oracle-instantclient-sqlplus_21.6.0.0.0-2_amd64.deb

3. Install Oracle DEB packages and setup system environment

apt-get install -y ./oracle*.deb

echo "/usr/lib/oracle/21/client64/lib/" >> /etc/ld.so.conf.d/oracle.conf
ldconfig

echo 'export ORACLE_HOME=/usr/lib/oracle/21/client64' >> /etc/profile.d/oracle.sh
echo 'export PATH=$PATH:$ORACLE_HOME/bin' >> /etc/profile.d/oracle.sh
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> /etc/profile.d/oracle.sh
echo 'export NLS_LANG=American_America.UTF8' >> /etc/profile.d/oracle.sh
echo 'export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"' >> /etc/profile.d/oracle.sh

. /etc/profile.d/oracle.sh

If your Oracle server runs inside a docker container and is version 19 or above, you will need to disable the Out Of Band breaks feature. To do that add this line to sqlnet.ora

echo "DISABLE_OOB=ON" >> ~/.sqlnet.ora

4. Add DBAPI

/opt/slashdb/bin/pip install cx-Oracle==8.3.0

5. Finally, restart SlashDB service

systemctl restart slashdb

All done. SlashDB should be able to connect with Oracle databases.

CentOS 7

If using CentOS 7 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.

This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.

1. Change to root

sudo su

2. Enable additional required repositories

yum install -y epel-release

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# disable all mysql repositories
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo
# enable only mysql80-community 
yum-config-manager --enable mysql80-community

3. Support for PostgreSQL 10+ (optional)

This part can be skipped if you plan to connect to PostgreSQL up to vesion 9.6 or you don't need PostgreSQL support at all.

If you plan to connect to PostgreSQL servers from version 10 than PostgreSQL provided by RHEL 7 is not suitable and newer packages must be installed from official PostgreSQL repository.

The pg_config v10+ has to be available before installing SlashDB.

Run below command to check if you already have PostgreSQL development package

pg_config | grep VERSION
  • if error "command not found" was returned then it means no PostgreSQL client was found you can continue with instruction below to install newer PostgreSQL devel
  • if returned VERSION is greater of equal 10 then you can skip the following update
  • if returned VERSION is lower than 10 then the below instructions may not be suitable

Follow the instructions below To update PostgreSQL development package.

Add the necessary repositories.

yum install -y centos-release-scl-rh
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Install development package

yum install -y postgresql14-devel

After installation the pg_config is not linked. Add the missing alternative with command

update-alternatives --install /usr/bin/pg_config pg_config /usr/pgsql-14/bin/pg_config 20

Finally check if pg_config is right version

pg_config | grep VERSION

Expected output is PostgreSQL version 14.x e.g.

VERSION = PostgreSQL 14.2

All ready, you can install SlashDB package now.

4. Download and install SlashDB package

yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm

5. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command ifconfig to find what your IP address is.

6. To finish setup see:

CentOS 8

If using CentOS 8 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.

This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.

1. Change to root

sudo su

2. Use vault repository due to CentOS reaching End-Of-Life

This is optional step. In case you run into problem that yum cannot find repositories e.g.

[root@f8844059eb4e /]# yum repolist
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                        113  B/s |  38  B     00:00    
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'

then update mirror list URLs with below commands:

sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

after that change yum should be able to fetch metadata of repositroes

[root@c3a011ee9566 /]# yum repolist
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:01:46 ago on Mon Aug  8 09:44:37 2022.
repo id                     repo name                               status
AppStream                   CentOS-8 - AppStream                    5596
BaseOS                      CentOS-8 - Base                         1896
extras                      CentOS-8 - Extras                         38

3. Enable additional required repositories

yum install -y epel-release
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-*PowerTools.repo

4. Download and install SlashDB package

yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm

5. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command ifconfig to find what your IP address is.

6. To finish setup see:

RedHat 7

If using RedHat 7 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.

This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.

1. Change to root

sudo su

2. Enable required repositories

Add Red Hat repositories

subscription-manager repos \
  --enable rhel-7-server-optional-rpms \
  --enable rhel-server-rhscl-7-rpms \
  --enable rhel-7-server-devtools-rpms

Add EPEL repository

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

Get list of enabled repositories

yum repolist enabled

The list of enabled repositories should contain below

repo id                                                                          repo name                                                                                                      status
epel/x86_64                                                                      Extra Packages for Enterprise Linux 7 - x86_64                                                                 13756
mysql-connectors-community/x86_64                                                MySQL Connectors Community                                                                                       199
mysql-tools-community/x86_64                                                     MySQL Tools Community                                                                                             92
mysql80-community/x86_64                                                         MySQL 8.0 Community Server                                                                                       364
rhel-7-server-devtools-rpms/x86_64                                               Red Hat Developer Tools RPMs for Red Hat Enterprise Linux 7 Server                                              5258
rhel-7-server-optional-rpms/7Server/x86_64                                       Red Hat Enterprise Linux 7 Server - Optional (RPMs)                                                            23509
rhel-7-server-rpms/7Server/x86_64                                                Red Hat Enterprise Linux 7 Server (RPMs)                                                                       33163
rhel-server-rhscl-7-rpms/7Server/x86_64                                          Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server                                        14117

3. Support for PostgreSQL 10+ (optional)

This part can be skipped if you plan to connect to PostgreSQL up to vesion 9.6 or you don't need PostgreSQL support at all.

If you plan to connect to PostgreSQL servers from version 10 than PostgreSQL provided by RHEL 7 is not suitable and newer packages must be installed from official PostgreSQL repository.

The pg_config v10+ has to be available before installing SlashDB.

Run below command to check if you already have PostgreSQL development package

pg_config | grep VERSION
  • if error "command not found" was returned then it means no PostgreSQL client was found you can continue with instruction below to install newer PostgreSQL devel
  • if returned VERSION is greater of equal 10 then you can skip the following update
  • if returned VERSION is lower than 10 then the below instructions may not be suitable

Follow the instructions below To update PostgreSQL development package.

Add the PostgreSQL repository.

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Install development package

yum install -y postgresql14-devel

After installation the pg_config is not linked. Add the missing alternative with command

update-alternatives --install /usr/bin/pg_config pg_config /usr/pgsql-14/bin/pg_config 20

Finally check if pg_config is right version

pg_config | grep VERSION

Expected output is PostgreSQL version 14.x e.g.

VERSION = PostgreSQL 14.2

All ready, you can install SlashDB package now.

4. Download and install SlashDB package

yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm

5. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command ifconfig to find what your IP address is.

6. To finish setup see:

RedHat 8

Before Installing - Requirements

This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.

1. Change to root

sudo su

2. Enable required repositories

Add EPEL repository.

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

Add Red Hat CodeReady Linux Builder repository for SAML integration.

subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

3. Download and install SlashDB package

dnf install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm

4. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command ifconfig to find what your IP address is.

5. To finish setup see:

RedHat 9

Before Installing - Requirements

This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.

1. Change to root

sudo su

2. Enable required repositories

Add EPEL repository.

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

Add Red Hat CodeReady Linux Builder repository for SAML integration.

subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms

3. Download and install SlashDB package

dnf install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm

4. Once installation is complete SlashDB should be accessible at http://your-ip-address

Use command ifconfig to find what your IP address is.

5. To finish setup see:

Oracle for RedHat or CentOS

Before Installing - Requirements

1. Change to root

sudo su

2. Install additional system dependencies required by Oracle driver.

For Red Hat / CentOS 8 or newer versions package libnsl is needed.

yum install -y libnsl

3. Install RPM files for oracle

Go to Oracle Instant Client Downloads download and install version 21 of:

  • Instant Client Basic Package
  • SQL*Plus Package of version 21
yum install -y ./oracle-instantclient-*.rpm

4. Setup system environment

echo "/usr/lib/oracle/21/client64/lib/" >> /etc/ld.so.conf.d/oracle.conf
ldconfig

echo 'export ORACLE_HOME=/usr/lib/oracle/21/client64' >> /etc/profile.d/oracle.sh
echo 'export PATH=$PATH:$ORACLE_HOME/bin' >> /etc/profile.d/oracle.sh
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> /etc/profile.d/oracle.sh
echo 'export NLS_LANG=American_America.UTF8' >> /etc/profile.d/oracle.sh
echo 'export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"' >> /etc/profile.d/oracle.sh

. /etc/profile.d/oracle.sh

If your Oracle server runs inside a docker container and is version 19 or above, you will need to disable the Out Of Band breaks feature. To do that add this line to sqlnet.ora

echo "DISABLE_OOB=ON" >> ~/.sqlnet.ora

5. Add DBAPI

/opt/slashdb/bin/pip install cx-Oracle==8.3.0

6. Restart the SlashDB service.

systemctl restart slashdb

All done. SlashDB should be able to connect with Oracle databases.