Skip to content

Wheels Package

SlashDB can be installed from a Python Wheels package.

The installation of SlashDB from Wheels package gives the administrator more control over the system and allows tuning the installation to their needs, but it requires an advanced understanding of the system and WSGI servers.

Instructions

1. Install system dependencies

Red Hat

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

sudo yum install -y \
  python3 \
  python3-devel python3-pip gcc gcc-c++ \
  libaio \
  mysql-devel postgresql-devel \
  unixODBC freetds unixODBC-devel \
  libxml2-devel libxslt-devel \
  memcached nginx \
  xmlsec1 xmlsec1-openssl xmlsec1-devel xmlsec1-openssl-devel \
  libxslt libtool-ltdl-devel \
  wget unzip

Centos

# 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
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-*
yum install -y epel-release
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-*PowerTools.repo
sudo yum install -y \
  python3 \
  python3-devel python3-pip gcc gcc-c++ \
  libaio \
  mysql-devel postgresql-devel \
  unixODBC freetds unixODBC-devel \
  libxml2-devel libxslt-devel \
  memcached nginx \
  xmlsec1 xmlsec1-openssl xmlsec1-devel xmlsec1-openssl-devel \
  libxslt libtool-ltdl-devel \
  wget unzip

Debian

sudo apt-get update
sudo apt-get install -y wget software-properties-common
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
sudo apt-get install -y ./mysql-apt-config_0.8.15-1_all.deb
sudo apt-get update 

sudo apt-get install -y \
  ca-certificates python3 python3-dev \
  python3-pip python3-venv \
  libaio1 libyaml-dev libpython3-dev libssl-dev \
  libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev unixodbc-dev tdsodbc \
  memcached nginx \
  pkg-config xmlsec1 libxml2-dev libxmlsec1-dev \
  unzip

Ubuntu

add-apt-repository universe
apt-get update

sudo apt-get install -y \
  ca-certificates python3 python3-dev \
  python3-pip python3-venv \
  libaio1 libyaml-dev libpython3-dev libssl-dev \
  libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev unixodbc-dev tdsodbc \
  memcached nginx \
  pkg-config xmlsec1 libxml2-dev libxmlsec1-dev \
  wget unzip

2. Download SlashDB files

Visit SlashDB downloads and acquire:

  • wheel file that matches your Python version (For example, slashdb-1.5.0-cp36-cp36m-manylinux2014_x86_64.whl uses python 3.6)

    • wget https://downloads.slashdb.com/versions/1.6.0/slashdb-1.6.0-cp36-cp36m-manylinux2014_x86_64.whl

    • wget https://downloads.slashdb.com/versions/1.6.0/slashdb-1.6.0-cp37-cp37m-manylinux2014_x86_64.whl

    • wget https://downloads.slashdb.com/versions/1.6.0/slashdb-1.6.0-cp38-cp38m-manylinux2014_x86_64.whl

    • wget https://downloads.slashdb.com/versions/1.6.0/slashdb-1.6.0-cp39-cp39m-manylinux2014_x86_64.whl

  • zip with default SlashDB configs

wget https://downloads.slashdb.com/versions/1.6.0/default-slashdb-configs_1.6.0.zip

3. Create a Python virtual environment and folder structure

sudo python3 -m venv /opt/slashdb
sudo mkdir /var/log/slashdb

unzip default-slashdb-configs_1.6.0.zip
sudo mv ./slashdb /etc

sudo chown -R ${USER}:${USER} /opt/slashdb /var/log/slashdb /etc/slashdb

4. Install SlashDB

source /opt/slashdb/bin/activate
pip install --upgrade pip setuptools wheel

# Make sure this matches the wheel that you downloaded in step 2
pip install ./slashdb-1.6.0-cp39-cp39m-manylinux2014_x86_64.whl

Optionally install WSGI web server

pip install uWSGI

5. Start SlashDB

pserve /etc/slashdb/slashdb.ini

It also is possible to run slashdb with other WSGI servers like uWSGI or Gunicorn

6. Access SlashDB

SlashDB should be accessible at http://localhost:6543 or server IP address.

In the terminal you can check if a service is running by downloading the main page

wget http://localhost:6543

to access the GUI you need to open port 6543

sudo firewall-cmd --zone=public --add-port=6543/tcp
sudo firewall-cmd --reload

find out the IP address of the server

ip address

Using browser go to the IP address on port 6543 e.g. http://192.168.1.18:6543