The first thing we need to do is to install Verlihub's dependencies.
1. We will update the repositories database to the latest version:
sudo apt update
2. Install Verlihub's dependencies:
sudo apt install cmake libssl-dev mysql-server libmysqlclient-dev libpcre3-dev gettext
for MySQL you will be asked for a password for root user. Please remember this password as it is required by Verlihub.
3. Download the latest version of Verlihub from Github:
wget https://github.com/Verlihub/verlihub/archive/master.zip
4. Unzip Verlihub:
unzip master.zip
this will inflate (extract) the master.zip file in a folder called verlihub-master
5. Navigate to Verlihub source directory
cd verlihub-master
6. Create a local directory where the build will be created and navigate to it:
mkdir build && cd build
7. Compile Verlihub from source for our OS:
cmake ..
make
8. Install Verlihub:
sudo make install
sudo ldconfig
9. First-time setup of Verlihub (host, ip, database, administrator, etc):
To view all the available options of Verlihub utility script:
vh
will output similar to this:
This is a utility script for Verlihub, usage: -i, --install Configure Verlihub for a new hub -r, --run [path_to_dbconfig] Run the hub from the given dbconfig path -q, --restart [path_to_dbconfig] Restart the hub from the given dbconfig path -R, --reload [path_to_dbconfig] Force hub to reload it's configuration and caches -s, --stop [path_to_dbconfig] Stop the hub from the given dbconfig path -t, --status [path_to_dbconfig] Check if hub is running or not -g, --geoip Update GeoIP -a, --autoload Load plugin automatically when start the hub -l, --list Show list of available plugins -n, --on Run plugin automatically with hub -f, --off Disable auto load of plugin -d, --configdir [path_to_dbconfig] Specify the hub with location of dbconfig file. Optional -u, --adduser[path_to_dbconfig] Register a new user in the database -c, --clean [path_to_dbconfig] Clean kicklist, banlist, unbanlist, iplog, stats and messages tables -w, --backup [path_to_dbconfig] Make backup of database from the given dbconfig path -t, --restore [path_to_dbconfig] Import the given SQL file in the database for given dbconfig path -v, --version Print version information -h, --help Show this help
Configure Verlihub (for the first time) a new hub:
sudo vh -i
you will be asked for the following:
Choose database name (verlihub): MySQL user to access to 'verlihub' (verlihub): MySQL password for user 'verlihub': MySQL hostname (localhost): MySQL charset (experts only, leave empty for default): Hub locale (experts only, leave empty for default): Hub encoding (experts only, leave empty for default): Do you want to continue with this information? (y/N)
here we press y
If the script could not find the MySQL user with the given password, you will be prompted for MySQL admin user and password:
-- Please insert MySQL administrator information to create DB or account or grant permissions. Username (root): Password:
If the script has the correct MySQL admin credentials, it will create the new MySQL user and database.
Next, you will be prompted for a location to save the configuration files:
-- You need to choose a place for the configuration files [1] /etc/verlihub [2] /usr/local/etc/verlihub [9] Other, choose path where put config file Select number:
I choose the first option. This is where the MySQL database will be populated and it will take a while to complete.
After this step is completed you will be prompted:
-- Installation has been completed. Now you can add master account Master name ([SU]root): Master password (1468760540): Hub port (411): Hub host (test1): Hub name (hub of root):
-- The hub is configured successfully. Now you can start the hub using vh --run command.
10. Let's start our new verlihub hub:
sudo vh --run
References: Verlihub Github repositories install tutorial, Verlihub official webpage installation tutorial