Ubuntu下编译安装bandwidthd和postgresql,将数据存入pgsql


前边提过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退出数据库

  • 1
  • 2
  • 下一页

相关内容