*
* Requirements for OpenTrafficShaper
*

- POE
Debian-based: libpoe-perl

- Config::IniFiles
Debian-based: libconfig-inifiles-perl

- DateTime
Debian-based: libdatetime-perl

- Digest::SHA
Debian-based: libdigest-sha-perl

- JSON
Debian-based: libjson-perl

- DBD::MySQL
Debian-based: libdbd-mysql-perl

- HTML::Entities module
Debian-based: libhtml-parser-perl

- Perl 5.6+

# sudo apt-get install libpoe-perl libconfig-inifiles-perl libdatetime-perl libdigest-sha-perl libjson-perl libdbd-mysql-perl perl


*
* Installing OpenTrafficShaper
*

# sudo apt-get install git
# git clone https://gitlab.devlabs.linuxassist.net/opentrafficshaper/opentrafficshaper.git
# cd opentrafficshaper


*
* Pull in dependency code
*

./update-git-modules


*
* System Changes
*

- If you are running kernel 3.12+:
# sudo touch /etc/modprobe.d/htb-stats.conf

- Add this to /etc/modprobe.d/htb-stats.conf:
options sch_htb htb_rate_est=1

* Please reboot your PC to apply this changes before starting module!

- Create directories:
# sudo mkdir /var/log/opentrafficshaper
# sudo mkdir /var/run/opentrafficshaper
# sudo mkdir /var/lib/opentrafficshaper

- Create statement file:
# sudo touch /var/lib/opentrafficshaper/configmanager.state


*
* Enable statistics
*

- Install mysql-server:
# sudo apt-get install mysql-server

- Connect to MySQL:
# mysql -u root -p

- Create new user:
> CREATE USER 'ots'@'localhost' IDENTIFIED BY 'Pas$W00rd';

- Create database:
> CREATE DATABASE otsdb;

- Grand all privilages to database:
> GRANT ALL PRIVILEGES ON otsdb.* TO 'ots'@'localhost';

- Close connection:
> quit

- Restore MySQL schema
# mysql -u ots -p otsdb < database/stats.sql


*
* Next steps
*

1. Edit the config file

2. You can now run opentrafficshaper by using ./opentrafficshaperd --debug --config=opentrafficshaper.conf --fg

3. Browse to it using http://SERVER:8088/


For more configuration information see this link:
http://wiki.opentrafficshaper.org/documentation