前边提过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
在浏览器里访问
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退出数据库