Navigation Menu

Skip to content

Installation

Aleksandr Zenkov edited this page Dec 25, 2023 · 32 revisions

Installation

Currently you can install Verlihub in one way: From source

Installation from source

Here you can find step-by-step procedure how to install Verlihub from source code.

Extract the source

First of all, you need to get the source for Verlihub from the home page of this site. Download the file and save it in a folder of your file system (for example your home folder or /root).

Then use the following command to extract all files:

tar zxvf verlihub-xxxx.tar.gz

where xxxx indicates the selected version of Verlihub. This will extract the source in your own folder.

Option -z will filter the archive through gzip, option -x will extract all files, option -v will list verbosely processed files and option -f will use specified archive file.

Dependencies installation

There are some required libraries and programs that need to be installed before you attempt to compile Verlihub. Each Linux distribution has its own package management system and we provide base steps to install all dependencies with package management system. These are the required dependencies:

  • GCC >= 4.8.0 (use gcc --version to get the version number) Required
  • CMake >= 2.8.12 Required
  • MySQL >= 5.7.1 Required
  • OpenSSL >= 1.1.0 Required
  • LibICU >= 55.0 Required
  • Make Required
  • ZLib Required
  • PCRE Required
  • GetText Required
  • MaxMindDB Required
  • LibIntl Required
  • Crypt Required
  • Threads Required
  • DL Required
  • Lua >= 5.2 (for Lua plugin) Optional
  • Python = 2.7 (for Python plugin) Optional
  • Perl >= 5.20 (for Perl plugin) Optional

The following dependencies are required for some BSD installations:

  • LibExecInfo Required
  • LibGCrypt Required for BSD and Darwin
  • Bash Required

The following dependencies are required use of vh_gui:

  • Dialog Optional

Remember that some packages are required to compile Verlihub core. Other libraries are for plugins that get compiled with the core.

In the following paragraphs it will explained how to install dependencies in Gentoo, Debian distributions and in CentOS. If you don't have one of the previous systems, you can use your favorite package manager or compile the libraries from source.

Specific Distribution Instructions

Gentoo

On Gentoo you can use Portage that is the official package management system. First you need to update the Portage package tree before installing any packages:

emerge sync

Then proceed with emerging these packages:

emerge -av cmake dev-db/mysql dev-libs/openssl sys-libs/zlib dev-libs/libpcre dev-libs/libmaxminddb dev-libs/libicu sys-devel/gettext

if you also want to install Lua and Python plugins use:

emerge -av dev-lang/lua dev-lang/python

Note that some packages maybe already be installed on your system; don't worry you can exclude them for list or make Portage recompile them.

You can now follow overlay manual to install Verlihub on Gentoo with verlihub official overlay.

Debian based distributions

All distributions based on Debian use apt as package management system. To install Verlihub dependences use:

sudo apt install libpcre3-dev libssl-dev mysql-server libmysqlclient-dev \
mysql-client g++ libmaxminddb-dev libicu-dev gettext libasprintf-dev make cmake

If you would like to use MariaDB instead:

sudo apt install mariadb-server libmariadb-dev mariadb-client

Note: On Debian 11 and later you might need to install default-libmysqlclient-dev or libmariadb-dev-compat package.

If you also want to install Lua , Python and perl plugins use:

sudo apt-get install python2.7-dev liblua5.2-dev libperl-dev

Alpine Linux

Alpine Linux uses apk as package management system. To install Verlihub dependencies use:

apk add bash pcre-dev openssl-dev g++ libmaxminddb-dev icu-dev icu-data-full gettext-dev gettext-asprintf make cmake mysql mysql-client mariadb-dev libexecinfo-dev

Note: ExecInfo library is no longer supported by newer releases, but could be installed using latest package from older release: libexecinfo-dev

If you also want to install Lua, Python and Perl plugins use:

apk add lua5.4-dev python2-dev perl-dev

Note: Python 2 library is no longer supported by newer releases, but could be installed using latest package from older release: python2-dev

CentOS

CentOS is a RPM based distribution and it uses use yum as package management system. To install Verlihub dependences use:

Minimum MYSQL version is 5.7.1

sudo yum install zlib libmaxminddb libmaxminddb-devel libicu-devel mysql-server mysql mysql-devel \
openssl openssl-devel gettext gettext-devel pcre pcre-devel python-devel perl-devel perl-ExtUtils-Embed lua-devel

MaxMindDB (for most RPM and yum package manager distribution)

For other RPM based distribution like RedHat, you can download RPM packages from this links (both): LibMaxMindDB RPM and LibMaxMindDB-devel RPM. Remember to choose the right package for your architecture and also to download the devel package.

To install them (On CentOS) use:

Download the latest epel-release rpm from:

http://dl.fedoraproject.org/pub/epel/7/x86_64/

Install epel-release rpm:

# rpm -Uvh epel-release*rpm

Install libmaxminddb rpm package by:

# yum install libmaxminddb

In case your can't find MaxMindDB for you RPM based distribution you can download the source from here.

To keep up to date MaxMindDB automatically please follow instructions on this page.

ArchLinux (and others Arch-based distros)

pacman -Syu libmaxminddb gettext openssl zlib pcre python perl lua52 base-devel

And mysql. You may need for ArchLinux -DUSE_CUSTOM_AUTOSPRINTF=ON as cmake params.

Preparing and compiling the source

Now that the prerequisites are installed, there should be no problems building the source. To build the source use:

cd /path/to/source/verlihub
mkdir -p build && cd build
cmake ..
make

This could take some minutes to compile depending on the speed of your processor. Note that all plugins get compiled with Verlihub if their dependencies are satisfied. Anyway you can exclude plugin from compiling if you don't need them by using:

cmake -DWITH_<plugin_name>=OFF ..

Installing Verlihub

If the compilation has completed successfully then install it as super user (root) using:

make install
ldconfig (required only if you get shared libraries not found error)

If the compile did not complete successfully please ask a question from the Git hub issues page.

Do not start the hub yet because you need to setup the hub before the initial start-up.

Now you can start configuring the your hub for the first time reading next chapter.