Bandwidthd-pgsql 是一個Linux下免費的流量統計工具,在局域網使用能夠很直觀的顯示每一個IP的流量使用狀況。
php
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
<?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/訪問。
html
流量統計的結果以下:
linux