Install with Tarball

Step 1 Go to download.denovolab.com

Download api, database, systemd service files, falcon_rest package, ui and switch binaries

Supported OS is Centos7

First time install:

Run the following commands:

yum -y install epel-release
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum -y install centos-release-scl
yum clean expire-cache
yum -y install python3 python3-pip python3-devel libnetfilter_conntrack postgresql12 postgresql12-devel wget lzma openssl-devel xz-devel gcc libjpeg-turbo-devel ntp python-devel tcpdump wireshark make bzip2-devel sqlite-devel zip expect telnet git ntp redis nginx postgresql12-server prefix12 ip4r12 postgresql12-contrib
  • Check if selinux is enabled, and if true, set it to permissive or disable it

  • Install NodeJS for the UI with the following commands:

curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
yum install -y nodejs
create user  webbackend and denovo_v6:
-          useradd  denovo_v6  -d /opt/denovo_v6
-          useradd  -r  webbackend
  • copy content of the systemd.tar.gz into /etc/systemd/system

  • initialize postgresql server:

/usrl/psql-12/bin/postgresql-12-setup  initdb postgresql
  • Go to /opt/pgsql/12/data/, edit pg_hba.conf:

local   all         all                                 trust
# IPv4 local connections:
host all         all         127.0.0.1/32       trust
# IPv6 local connections:
host all         all         ::1/128             trust
  • Start Postgres server using the following command:

systemctl  start postgresql
  • Unpack database archive and prepare and load db. In psql command prompt , make database named class4_dnl.

Here is how you enter into Postgres prompt:

psql   -U postgres

Here is how you create .a Postgres database:

create database class4_dnl;
create user webbackend superuser login;

After that, you navigate to the folder where you unpacked database files

psql  -U postgres class4_dnl  <schema.sql
psql  -U postgres  class4_dnl <data.sql

Then you can install Python Backend:

pip3  install  falcon-rest-1.0.14.tar.gz
  • In the directory /opt/denovo_v6 copy contend of the switch binaries

  • Create directory web and put content of the UI archive there

  • Go to the dir where api_dnl is and run following commands:

pip3  install –U pip
pip3 install  filename_api_dnl.tar.gz
  • Create file named denovo.conf in the /etc/nginx/conf.d/ and put following:

server {
     listen   80;
        server_name  localhost;
     root               /opt/denovo_v6/web;
             index   index.html index.htm;
        client_max_body_size 320m;
     # Load configuration files for the default server block.
     include /etc/nginx/default.d/*.conf;
     location / {
     try_files $uri $uri/ @rewrites;
     }
     location @rewrites {
     rewrite ^(.+)$ /index.html last;
     }
     error_page 404 /404.html;
         location = /40x.html {
     }
     error_page 500 502 503 504 /50x.html;
         location = /50x.html {
     }
}
  • Restart nginx.

  • Start all dnl services

systemctl start dnl_softswitch, dnl_livecall, dnl_tools dnl_webhelper dnl_api_dnl, dnl_api_dnl_worker@0 dnl_api_dnl_worker@1 dnl_api_dnl_worker@2 dnl_api_dnl_beat

Also make sure that redis and nginx is running, if you have firewall enabled, add port for the web ui into it

For the switch you need also to open ports in firewall if you are using it:

Default ones are 4319/udp , 5060/udp

After all is started you should be able to open UI on the ip address of your machine, and take rest configuration from there.

You must setup Selinux according to instruction here in order for UI to show up.

Last updated