Bandwidthd-pgsql 是一个Linux下免费的流量统计工具,在局域网使用可以很直观的显示每个IP的流量使用情况。

0. 安装linux,本教程使用Ubuntu-budgie这个发行版, 安装完后更新。
sudo apt-get update
sudo apt-get upgrade

1. 安装Apache2
sudo apt-get install apache2     #安装完基本上不用改动

测试: 浏览器访问http://Ubuntu的IP,出现It Works!网页。
查看状态: service apache2 status/start/stop/restart
Web目录: /var/www/html
安装目录: /etc/apache2/
全局配置: /etc/apache2/apache2.conf
监听端口: /etc/apache2/ports.conf
虚拟主机: /etc/apache2/sites-enabled/000-default.conf

2.安装PHP
sudo apt-get install php7.0 libapache2-mod-php7.0  #安装php 和 apache模块

sudo /etc/init.d/apache2 restart   #重启apache服务

写一个测试php文件info.php  #放在/var/www/html目录下
hello php
phpinfo();
?>
在浏览器中输入http://127.0.0.1/info.php,可以看到php的信息

3.安装postgresql数据库, 目前是9.5版本
sudo apt-get install postgresql

sudo apt-get install php7.0-pgsql php7.0-gd   #给php安装pgslq模块

4.安装phppgadmin   #数据库的可视化管理器
sudo apt-get install phppgadmin      # 安装完成后可以直接用浏览器打开http://127.0.0.1/phppgadmin,不过数据库暂时不能登录

5.修改phppgadmin的登录文件/etc/phppgadmin/config.inc.php
$conf['extra_login_security'] = true;   将true改成false

6.修改数据库的/etc/postgresql/9.5/main/pg_hba.conf文件
在最后一行添加host    all             all      0.0.0.0 0.0.0.0 md5    #允许所有IP通过md5密码验证方式访问

7.修改数据库的/etc/postgresql/9.5/main/postgresql.conf文件,将地址改为*
listen_addresses = '*'        

8.重启数据库,让刚刚修改的配置文件生效
/etc/init.d/postgresql restart

9.给Postgresql的管理员账号 postgres配置密码,以便远程用户可以访问. PS:PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的
第一步:PostgreSQL登录(使用psql客户端登录)
   # sudo -u postgres psql  //其中,sudo -u postgres 是使用postgres 用户登录的意思,进入到数据库理
        
第二步:修改PostgreSQL登录密码:
   postgres=# ALTER USER postgres WITH PASSWORD 'postgres';    //postgres=#为PostgreSQL下的命令提示符
              ALTER USER postgres PASSWORD 'postgres';                     // 或者用这个语法
第三步:退出PostgreSQL psql客户端
   postgres=# \q

10.进入数据库的方法:
sudo -u postgres psql -p 5432      //  -u 后面带的是用户名,-p后面带的是端口后5432是默认端口后

有时候,发现同一台ubuntu 上面有两个postgres server 的实例, 可以用 sudo service postgresql status 查询

11. 然后就可以在http://127.0.0.1/phppgadmin中,选择server,用postgres/postgres登录数据库

12.先创建Bandwidthd数据库和账号
sudo -u postgres psql -p 5432
CREATE USER bandwidthdpgsql;   
ALTER USER bandwidthdpgsql PASSWORD '123456';  
create database bandwidthdpgsql;   

13.安装Bandwidthd-pgsql软件
sudo apt-get install bandwidthd-pgsql  //安装中会提示监控的网卡,网段,数据库地址(选localhost),密码可以直接回车或输入刚才设置的123456,建议直接回车。

14.修改 /etc/bandwidthd/bandwidthd.conf 配置文件
可以设置subnet,如果在安装的时候输入的不对
subnet 10.0.0.0 255.0.0.0  
subnet 192.168.0.0 255.255.0.0  
subnet 172.16.0.0 255.255.0.0  

可以修改数据库的连接信息,因为安装的时候已经设置过,一般不用改动
pgsql_connect_string "user = bandwidthdpgsql password = 123456 dbname = bandwidthdpgsql host = localhost"

网卡工作模式改为“混杂模式”
promiscuous true
#promiscuous false

15. /etc/init.d/bandwidthd restart    #重启bandwidthd服务
启动后2~3分钟,用pgadmin工具看看数据库,就可以看到数据了。

16.在/var/www/html下做一个软连接到bandwidthd页面地址
sudo ln -s /var/lib/bandwidthd/htdocs/ /var/www/html/bandwidthd

17.在浏览器输入127.0.0.1/bandwidthd/sensors.php 就可以看到信息了
或者把/var/lib/bandwidthd/htdocs/目录下的sensors.php 改名为index.php,直接通过127.0.0.1/bandwidthd/访问。


流量统计的结果如下:

bandwidthd-pgsql 安装指南_第1张图片