installation
Ubuntu
Package installation is verified on Ubuntu 18.04, while building is verified on both Ubuntu 16.04(Zenial) and 18.04(Bionic Bearer).
Package Installation
This section explains how to install NextEPC using the package manager apt
.
To build NextEPC from the source codes, please see Build section below.
Install NextEPC
Install NextEPC daemons which consist of nextepc-mmed, nextepc-sgwd, nextepc-pgwd, nextepc-hssd, and nextepc-pcrfd:
sudo apt-get update sudo apt-get -y install software-properties-common sudo add-apt-repository ppa:nextepc/nextepc sudo apt-get update sudo apt-get -y install nextepc
Install Web user interface
Install Web User Interface (WebUI) which supports the user subscription management:
sudo apt-get -y install curl curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - curl -sL https://nextepc.org/static/webui/install | sudo -E bash -
Verify the installation
NextEPC daemons are registered insystemd
environment:
sudo systemctl status nextepc-mmed ● nextepc-mmed.service - NextEPC MME Daemon Loaded: loaded (/lib/systemd/system/nextepc-mmed.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-02-21 19:29:43 MST; 27s ago ... sudo systemctl status nextepc-sgwd ... sudo systemctl status nextepc-pgwd ... sudo systemctl status nextepc-hssd ... sudo systemctl status nextepc-pcrfd ...
Verify the tunnel interface creation
A virtual network interface, pgwtun, is also created:
ifconfig pgwtun pgwtun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:45.45.0.1 P-t-P:45.45.0.1 Mask:255.255.0.0 inet6 addr: fe80::50f6:182c:5aa3:16bb/64 Scope:Link inet6 addr: cafe::1/64 Scope:Global ...
Uninstall NextEPC
Uninstall WebUI, NextEPC daemons and log files:
curl -sL https://nextepc.org/static/webui/uninstall | sudo -E bash - sudo apt-get purge nextepc* sudo rm -Rf /var/log/nextepc
Next step: Configuration
Build
This section explains how to build NextEPC from the source codes.
Install MongoDB
MongoDB is used for the database of NextEPC:
sudo apt-get update sudo apt-get -y install mongodb sudo systemctl start mongodb
Install MongoDB C Driver
MongoDB C Driver is a MongoDB client library. Please install the latest libmongoc following the instructions here: http://www.mongoc.org/libmongoc/current/installing.html.
Define a TUN device
Write the configuration file for pgwtun and create it:
sudo sh -c "cat << EOF > /etc/systemd/network/99-nextepc.netdev [NetDev] Name=pgwtun Kind=tun EOF" sudo sh -c "cat << EOF > /etc/systemd/network/99-nextepc.network [Match] Name=pgwtun [Network] Address=45.45.0.1/16 Address=cafe::1/64 EOF" sudo systemctl enable systemd-networkd sudo systemctl restart systemd-networkd
Install dependencies
Install the following dependencies:
sudo apt-get -y install autoconf libtool gcc pkg-config \ git flex bison libsctp-dev libgnutls28-dev libgcrypt-dev \ libssl-dev libidn11-dev libbson-dev libyaml-dev
Build
Download and compile source codes, then will be installed to `pwd`/install/:
git clone https://github.com/nextepc/nextepc cd nextepc autoreconf -iv ./configure --prefix=`pwd`/install make -j `nproc` make install
Run
nextepc-epcd is the daemon lauching all necessary daemons automatically:
nextepc-epcd
Install Node.js
Node.js is required to install NextEPC WebUI:
sudo apt-get -y install curl curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get -y install nodejs
Install the dependencies of WebUI
Goto theTOP/webui
of NextEPC source. Install WebUI dependencies:
cd webui npm install
Run WebUI
Visit http://localhost:3000, after run the command:
npm run dev
Next step: Configuration