前邊提過Ubuntu下使用deb包安裝bandwidthd,現在來說一下自己編譯安裝bandwidthd和postgresql,使用linux系統的朋友都可以用這種方式來安裝。
環境說明:
hostname=BK3,安裝時用戶為netuser,domain=localdomain;
1.准備
1.1安裝apache2並支持php
1.1.1安裝所需要的包
apt-get install apache2
apt-get install php5
apt-get install php5-pgsql
apt-get install php5-gd
1.1.2重啟apache2
/etc/init.d/apache2 restart
1.1.3測試
在/var/www下建立php文件
vi /var/www/info.php
輸入 <?php phpinfo();?>
保存退出wq
在浏覽器裡訪問http://ip/info.php
1.2安裝其他所需軟件
apt-get install gcc
apt-get install flex (lex)
apt-get install bison (yacc)
1.3編譯並安裝bandwidthd所需要的庫
安裝zlib
安裝libpng
安裝libgd
安裝libpcap
加以下參數
./configure --prefix=/usr/
2.安裝配置postgresql
2.1安裝所需要的包
apt-get install zlib1g
apt-get install libreadline5-dev
2.2為postgresql創建賬戶
useradd postgres
給賬戶建立主目錄
mkdir /home/postgres
將賬戶的主目錄設為剛建立的文件夾
usermod -d /home/postgres
設置賬戶使用bash(否則su posgres後,只有$)
usermod -s /bin/bash postgres
2.3編譯安裝(必須將pgsql安裝在/usr/local/pgsql下,編譯bandwidthd時,它只會到此處查找pgsql,如果找不到編譯後就不支持pgsql)
tar zxvf postgresql-8.4.3.tar.gz
./configure –prefix=/usr/local/pgsql
make && make install
2.4配置
2.4.1修改環境變量
在/etc/profile中加入下列內容:
PATH=/usr/local/pgsql/bin:$PATH
export PATH
MANPATH=/usr/local/pgsql/man:$MANPATH
export MANPATH
LD_LIBRARYPATH=/usr/local/pgsql/lib:$LD_LIBRARYPATH
export LD_LIBRARYPATH
執行. /etc/profile使修改的環境變量立即生效,說明.和/之間有空格
2.4.2創建數據庫目錄並賦予權限
mkdir /usr/local/pgsql/data
mkdir /usr/local/pgsql/log
touch /usr/local/pgsql/log/syslog.log
chown postgres /usr/local/pgsql/data
chown postgres /usr/local/pgsql/log
2.4.3以postgres身份激活數據庫
su postgres
initdb -D /usr/local/pgsql/data #綁定數據目錄
結果會在data下生成配置文件
2.4.4修改配置文件
返回netuser,
exit
修改pg_hba.conf,解決認證失敗的問題,使php程序可以連接數據庫,
按照以下內容更改
host all 127.0.0.1/32 trust
local all all trust
host all all ::1/128 trust
修改postgresql.conf,修改數據庫偵聽范圍,按照以下內容修改
listen_addresses = '*'
2.5啟動數據庫
su postgres #默認是用postgres 用戶來啟動的
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
或者
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/log/syslog.log start
#參考:
pg_ctl start [-w] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
pg_ctl stop [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
pg_ctl restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o "OPTIONS"]
pg_ctl reload [-D DATADIR] [-s]
pg_ctl status [-D DATADIR]
給postgresql添加用戶:createuser netuser
#Ubuntu登錄時建立的賬戶
創建數據庫:createdb mydb
2.6測試數據庫
退回到netuser
exit
輸入以下命令行:
psql mydb
#顯示:mydb=#,說明連接成功,且此賬戶是數據庫管理員。
使用exit退出數據庫