Linux Installation

Modified on Fri, 09 Feb 2024 at 11:16 AM

Installing using a cloud marketplace

If you're installing on a VM in the Amazon AWS EC2 or Microsoft Azure clouds, it's much easier - almost one-click - to use our marketplace listing


See:


You can install manually on a linux cloud VM if you prefer. If so, read on...


Installing manually on a Linux server


Before starting, if updating an existing installation, be sure to check this guide.


Omniscope is available for common Linux distributions as both a desktop application and a headless server, whether in-cloud or on-premise.  

It requires a recent version of any popular Linux distributions on intel/amd 64-bit hardware.  We've tested Ubuntu Desktop & Server since 12.04 (latest LTS is recommended), and the Amazon EC2 AMI.  


N.B. Omniscope Classic desktop interface is not supported on Linux.

These instructions are tailored to Ubuntu servers.


Installation on a Linux server via terminal

This describes how to install Omniscope on a 64-bit Linux server without a graphical desktop environment, such as Ubuntu Server via an SSH terminal session.

  1. Read and approve the EULA before proceeding.

      

  2. Log in via SSH as the user account you wish to use for Omniscope.

    This account will be the activated account, and the account that runs the Omniscope Server service.  You should arrive in your home directory (~/, or /home/username).  These instructions assume you remain in this directory.


  3. Stop and remove any previous installation
    e.g. stop an existing service by executing:
    sudo service omniscope-server stop    or    kill - 15 -f com.visokio
    Once all Omniscope processes have been stopped, remove the installation. To permanently remove the existing version:
    rm -rf ~/visokio-omniscope
    Alternatively, rename the folder so it is available for restoring later if you run into issues with the new version:
    mv visokio-omniscope visokio-omniscope-old
    Either way, make sure that neither a "VisokioOmniscope-Linux.tgz" file nor a "visokio-omniscope" folder exist in your home directory.


  4. Download the Linux "tgz" to your home directory


    To download the latest Rock build (more stable, less frequently updated):

    wget https://visokio.com/downloads/Omniscope/Rock/Linux -O VisokioOmniscope-Linux.tgz


    Alternatively, to download a specific daily build, visit the Omniscope download page.
    Choose the version you want, and copy the Linux link URL (a TGZ file). Then enter: wget <url>

    You should now have "VisokioOmniscope-Linux.tgz" in your current (home) directory as shown by ls.


  5. Extract files

    tar zxf VisokioOmniscope-Linux.tgz
    ls
    You should now have "visokio-omniscope" in your current (home) directory as shown by ls.
    rm VisokioOmniscope-Linux.tgz
     

  6. Move to chosen installation location

    You can place the "visokio-omniscope" folder anywhere, but we recommend:

      

    • In your home directory; does not require superuser privileges/sudo, but only available to the user who installed it. It should already be in this location.

      For example: /users/antonio/visokio-omniscope
      Omniscope launch command: ~/visokio-omniscope/omniscope-evo.sh
        

    • System-wide in the /opt directory; requires superuser privileges/sudo.

      For example: /opt/visokio-omniscope
      Omniscope launch command: /opt/visokio-omniscope/omniscope-evo.sh
      To install here:
      sudo mv visokio-omniscope /opt
       

  7. Activate and set up Omniscope from the command line:

    Pre-requisite: 
    On  some linux distributions, the Omniscope setup command below might report an error, because some of the fonts are not installed on the system. To prevent this problem, first install the package fontconfig. On Ubuntu and Debian based distributions you can solve the issue by installing running the command sudo apt -y install fontconfig
    . Or, if your system uses Yum (e.g. CentOS, it's sudo yum -y install fontconfig.

    You should use the Omniscope Setup Console to activate and configure server with a minimal configuration for web-based administration:

    ~/visokio-omniscope/omniscope-evo.sh -setup

    This has an interactive console-based menu. Use this to activate with your licence key (contact support@visokio.com), then run again to configure an external web server and admin account.


    Or, for a fully automated/scripted setup:
    ~/visokio-omniscope/omniscope.sh -autosetup LICENSE_KEY ADMIN_PASSWORD




  8. (Optional) Running Omniscope as a service (systemd)
    It is possible to install Omniscope to run as a system service. This section will describe how to use install omniscope-headless.sh as a service. Similar instructions can be followed for other launching scripts or service managers.

    Create a new file with called omniscope-headless.service in /etc/systemd/system open the file using a text editor and add the content:

    [Unit]
    Description=Omniscope Server
    After=syslog.target network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=simple
    User=OMNISCOPE_USER
    WorkingDirectory=OMNISCOPE_HOME
    ExecStart=OMNISCOPE_HOME/omniscope-evo-headless.sh
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target

    replacing OMNISCOPE_HOME with the full path where omniscope is installed and OMNISCOPE_USER with the username used to run omniscope. Save the file and exit. To enable the service use the command:

    systemctl enable omniscope-headless.service


    You can check the state of the service, and retrieving the service logs using systemctl.


  9. Install Monetdb (required)

    On Linux Omniscope requires "MonetDB" to be present to run correctly on your machine.

    If you try to start Omniscope without MonetDB, you will find an error message in the log saying "MonetDb server not found on your Linux OS."


    Omniscope relies on a particular version of the packages and it will show a warning in the app if the packages are not configured correctly.

    For example, at the time of writing the correct version of the package is 11.43.21 or any later patch version such as 11.43.27.


    Ubuntu

    On Ubuntu these are the commands to execute in sequence to install the MonetDB packages required by Omniscope:


     a) Determine your OS release suite:
    lsb_release -cs
    Create/edit a file /etc/apt/sources.list.d/monetdb.list:

    sudo nano /etc/apt/sources.list.d/monetdb.list
    ... with the following contents (replacing "suite" with, e.g. jammy):

    deb https://dev.monetdb.org/downloads/deb/ suite monetdb

    deb-src https://dev.monetdb.org/downloads/deb/ suite monetdb


     b) Then issue the following command to install the MonetDB GPG public key:

    wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add -


     c) After this, you can use apt to install the MonetDB packages. First run:

    sudo apt update


     d) To install MonetDB/SQL, use the command: 

    sudo apt -y install monetdb5-sql=11.43.27 monetdb5-server=11.43.27 monetdb-client=11.43.27

    If this fails, it's possible that the given version is no longer available. The error shown may suggest a later patch version, e.g. 11.43.29 when you are requesting 11.43.27. You should re-run the command with the latest patch version (the number after the last dot) for each of the 3 modules being installed. Omniscope will not complain if it sees a different patch version but the correct major+minor version.
    If it still fails, you should remove the "=xx.yy.z" version suffixes and repeat to install the latest. However this will be running against an untested newer version of MonetDB; contact Visokio Support for advice for production servers.

    e) Add any users who are allowed to run a database server to the monetdb group, which was automatically created in the previous step:
     

    sudo usermod -a -G monetdb $USER


    CentOS
    On CentOS (extracted from this guide https://www.monetdb.org/downloads/epel/ ) these are the sequence of commands to run to install the packages with the right version: 

    sudo yum install https://dev.monetdb.org/downloads/epel/MonetDB-release-epel.noarch.rpm

    sudo rpm --import https://dev.monetdb.org/downloads/MonetDB-GPG-KEY

    sudo yum install MonetDB-SQL-server5-11.43.27 MonetDB5-server-11.43.27 MonetDB-client-11.43.27

    sudo usermod -a -G monetdb $USER


    More installation instructions can be found here https://www.monetdb.org/Downloads




  10. Install other packages (recommended)

    Instructions for Ubuntu/Debian. First, update package lists:
    sudo apt update

    Second, install jblas:
    sudo apt -y install jblas

    On older distributions instead install libfortran3: 
    sudo apt -y install libfortran3


  11. (Optional) Running Omniscope on privileged ports
    By default, you'll be running as an unprivileged user. To allow Omniscope to serve on privileged ports (under 1024) such as 80, you need to install and use authbind:

    sudo apt-get install authbind

    next, create an empty file with the same name as the port Omniscope will be using in `/etc/authbind/byport/`. For example to use port 80 (http) and 443 (https):

    sudo touch /etc/authbind/byport/80
    sudo touch /etc/authbind/byport/443


    Change the owner of the files to the user running omniscope (replace $USER with the name of the user that will run Omniscope, if different to your current user)


    sudo chown $USER /etc/authbind/byport/80
    sudo chown $USER /etc/authbind/byport/443



    Change the files permissions to 500:

    sudo chmod 500 /etc/authbind/byport/80
    sudo chmod 500 /etc/authbind/byport/443


    finally start omniscope-headless using authbind:

    authbind --deep visokio-omniscope/omniscope-evo-headless.sh




    Alternatively, you could use iptables or privbind

    To run omniscope using privbind as a service, the easiest solution is to create a new script in the visokio-omniscope folder with the content (called for example omniscope-headless-authbind.sh):
    #!/bin/bash

    /usr/sbin/authbind --deep ./omniscope-evo-headless.sh



    Depending on your distribution authbind might be installed on a different location. You can find where authbind binaries are located on you system with the command: which authbind

    Make the new file executable via chmod + x omniscope-headless-authbind.sh
    Finally modify the file /etc/systemd/system/omniscope-headless.service by changing the ExecStart to refer to the omniscope-headless-authbind.sh.





  12. Configure and explore Omniscope in your browser

    Earlier, you should already have used the Omniscope Setup Console to activate, enable the external web server, and configure an admin username and password. Without this, you cannot configure Omniscope on a headless server (a server without a desktop environment).

    As such, when Omniscope has started (using ~/visokio-omniscope/omniscope-evo.sh, or as a service), you should be able to visit http://your-server-ip:port/ in your browser, where port is by default 8080 on Linux (unless you customised it in earlier section about privileged ports). 

    (If using a cloud VM, you may need to edit the cloud firewall rules at this point to allow 8080 from your IP address so you can continue to configure Omniscope using the web interface.)

    From there, you can log in as as the user you created in the setup console (typically "admin") and the password you previously configured, in order to have full permissions server-wide to administer every aspect of the server. Follow the "Admin" section on the left to configure the server, or edit permissions in a folder using the 3 dots menu, top-right of the page.


If installing on Linux using a desktop environment, you can skip the section "Activate and set up Omniscope from the command line" since you will be able to use the desktop browser to perform initial configuration steps such as activation.


In some corporate environments, you may now need to import trusted certificates into Omniscope's cacerts file.



Linux commands

These terminal commands assume you've installed into your home directory.


Omniscope Evo


~/visokio-omniscope/omniscope-evo.sh

Launches the new Omniscope Evo application. 

If launched from an interactive desktop session, the app will be running in background and available in the OS system tray.

Your system default browser will open up pointing to the Omniscope Evo welcome page.

Otherwise (if launched from a headless terminal console, such as via SSH or from Ubuntu Server), the app will run in headless mode.


~/visokio-omniscope/omniscope-evo-headless.sh

Same as omniscope.sh, but explicitly launches Omniscope Evo application in headless mode. This is necessary only on systems with desktop environments, when you wish to execute Omniscope as a headless process. It is implicit on servers without a graphical interface.
You will need to access Omniscope from a browser on a different machine, and will need to have set up Omniscope already via the terminal using the Omniscope Setup Console.


Setup commands


~/visokio-omniscope/omniscope-evo.sh -setup

Launches the Omniscope Setup Console, for terminal-based configuration of the bare minimum needed to begin with an Omniscope headless server. See above. An interactive console-based menu will be shown, where you can activate, refresh, deactivate and setup, and see summary information about the installation.


~/visokio-omniscope/omniscope-evo.sh -autosetup LICENSE_KEY ADMIN_PASSWORD

Launches the Omniscope Setup Console in automated mode for silently configuring the minimum needed to begin with an Omniscope headless server, e.g. for use from a cloud VM init script.
It activates using the license key given, enables the external web server, and creates an 'admin' user account with the password given. For example:

~/visokio-omniscope/omniscope.sh -autosetup XXXX-XXXX-XXXX-XXXX mypassword




Activation commands


Use appropriate start script (see above). Alternatively, use the Omniscope Setup Console (above). Please note even if you have a Omniscope Classic licence, activation commands will still work with your licence.


~/visokio-omniscope/omniscope-evo-headless.sh -activate key

Use when unlicensed.  Activates the current user account with the key specified.
The key must be in the format xxxx-xxxx-xxx-xxxx

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-evo-headless.sh -reactivate


Use when activated.  Renews and refreshes the license for current user account.  If Visokio have extended or upgraded your license, you will need to do this.  

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-evo-headless.sh -activationinfo


Displays the licensing state of the current user account.

Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-evo-headless.sh -deactivate

Use when activated.  Deactivates the current user account and makes the license key available to activate on another system (up to 3 transfers, depending on license - not available for trial keys).

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages. 



Other commands 



kill -15 PID

Where PID is the process ID of the Omniscope Java process. (You can obtain the PID by executing "ps aux | grep java" and identifying the Omniscope java process)

Use this command to gracefully stop the Omniscope app if you have started it through one of the above scripts.

     

kill -15 -f com.visokio

Use this command to gracefully stop any Omniscope app running on your machine.

 

sudo service omniscope-server start

Starts the Omniscope Server service.  Note: the service starts automatically on system startup.

Requires the Omniscope Server service to be installed - see the Server section above.  Requires Omniscope to be activated on the user account the service is configured to run as.


 

sudo service omniscope-server status

Displays the running/stopped status of the Omniscope Server service.

Requires the Omniscope Server service to be installed - see the Server section above.


 

sudo service omniscope-server stop

Stops the Omniscope Server service.  Note: the service starts automatically on system startup.

Requires the Omniscope Server service to be installed - see the Server section above.






Was this article helpful?

Thatā€™s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article