分享
 
 
 

Linux中的字型(FONTS)设定

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

以下将说明使用Apache+PHP3+PostgreSQL作为基于Web的数据库平台的安装和配置方法。

关于Apache、PHP3和PostgreSQL的更多内容可以从软件的附带文档、Linux的HOWTO文件

以及以下站点处找到:

Apache:

http://www.apache.org

PHP3:

http://www.php.net

PostgreSQL:

http://www.postgresql.org

1.

PostgreSQL的安装和设置

1.1

获得源程序

PostgreSQL最新版本的源程序可以在http://www.postgresql.org找到。目前的最新版本

是6.5.X。以下以6.4

版为例说明安装方法。

1.2

准备工作

编译PostgreSQL需要3.75版以上的GNU

make

(用gmake

-v检查版本号)

,2.7.2版以上的

GNU

C(用gcc

-v

检查版本号)以及bison和flex(通常这两种工具都已经安装了)

PostgreSQL的默认安装位置为/usr/local/pgsql/,系统文件约需3-10M空间。附带的测试

程序在运行时需要约20M空间,所以安装时应注意预留足够的空间,建议/usr/local/pgsql/

目录下保证有50M以上空间。另外展开和编译源程序约需30-60M空间。

对多用户的应用环境,建议设置一个专用用户名,例如

postgres

:

$

su

首先登录为root

#

/usr/sbin/adduser

postgres

另外PostgreSQL使用了System

V的共享内存机制。FreeBSD默认状态不支持该机制。如使用

中的内核的设置文件中无以下项目则需追加后重新编译内核:

options

SYSVSHM

options

SYSVSEM

options

SYSVMSG

建保存源程序的目录/usr/local/src/pgsql和安装目录/usr/local/pgsql:

#mkdir

/usr/local/pgsql

#chown

postgres:postgres

/usr/local/pgsql

#mkdir

/usr/local/src

#mkdir

/usr/local/src/pgsql

#chown

postgres:postgres

/usr/local/src/pgsql

1.3

编译

以postgres用户登录,

解压缩源程序:

#

su

postgres

$

tar

-xzvf

/tmp/postgresql-v6.4.tar.gz

[假设下载文件保存在/tmp目录下]

完成后应生成一个postgresql-v6.4目录,下面开始编译:

$

cd

/usr/local/src/pgsql/postgresql-v6.4/src

$

./configure

--with-mb=EUC_CN

其中,--with-mb=指定系统默认字符编码。除GB码(EUC_CN)

外,还可以指定为日语

(EUC_JP)、韩语(EUC_KR)

、台湾(EUC_TW)

、UNICODE、MULE_INTERNAL、LATIN1等。

注意,如使用6.3.2版需用--with-template=...

指定操作系统,具体内容见源程序附带的说明文件。

configure如顺利完成,将生成GNUmakefile,Makefile.global和Makefile.port等文件。

$

gmake

all

在编译结束后将显示以下信息:

All

of

PostgreSQL

is

successfully

made.

Ready

to

install.

安装:

$

gmake

install

正常完成后,PostgreSQl的执行文件和库文件等将被安装到/usr/local/pgsql目录下。

安装附带文档:

$

gmake

install-man

$

cd

/usr/local/src/postgresql-v6.4/doc

$

make

install

至此PostgreSQL的编译安装已经完成,下面开始初期设置。

1.4

初期设置

设置环境变量:

如使用的shell为bash,

则在.bashrc中添加以下命令:

PATH="$PATH":/usr/local/pgsql/bin

export

POSTGRES_HOME=/usr/local/pgsql

export

PGLIB=$POSTGRES_HOME/lib

export

PGDATA=$POSTGRES_HOME/data

export

MANPATH="$MANPTH":$POSTGRES_HOME/man

export

LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

然后执行

source

~/.bashrc

如使用的shell为csh/tcsh则在.cshrc中添加以下命令:

setenv

PATH="$PATH":/usr/local/pgsql/bin

setenv

POSTGRES_HOME=/usr/local/pgsql

setenv

PGLIB=$POSTGRES_HOME/lib

setenv

PGDATA=$POSTGRES_HOME/data

setenv

MANPATH="$MANPTH":$POSTGRES_HOME/man

setenv

LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

然后执行

source

~/.cshrc

以上环境变量是所有使用数据库的用户都需要设置的。

数据库目录的初始化:

$

initdb

可以使用的参数:

--pgdata=/pgsql/db

指定数据库目录,默认使用环境变量PGDATA指定的位置

--pgencoding=EUC_CN

指定数据库的字符编码,默认使用configure时指定的编码。

需要注意的是执行initdb的用户将拥有所建数据库目录的管理权。

使用以下命令启动PostgreSQL:

$

postmaster

-S

运行测试程序:

$

cd

test/regression

$

gmake

all

runtest

如测试程序能正常运行则说明PostgreSQL能正常运行。

为了让

PostgreSQL在系统启动时能自动启动,需作以下变更:

首先以root登录

$

su

Linux:

在/etc/rc.d/rc.local中追加以下内容:

POSTGRESDIR=/usr/local/pgsql

if

[

-x

$POSTGRESDIR/bin/postmaster

-a

-d

$POSTGRESDIR/data

];then

rm

-f

/tmp/s.PGSQL.5432

su

-

postgres

-c

"postmaster

-S

-i"

echo

-n

'postmaster'

fi

FreeBSD:

在/usr/local/etc/rc.d中建立名为pgsql.sh的文件,内容为:

#!

/bin/sh

POSTGRESDIR=/usr/local/pgsql

if

[

-x

$POSTGRESDIR/bin/postmaster

-a

-d

$POSTGRESDIR/data

];then

rm

-f

/tmp/s.PGSQL.5432

su

-

postgres

-c

"postmaster

-S

-i"

echo

-n

'postmaster'

fi

修改pgsql.sh文件的权限:

#

chmod

755

pgsql.sh

现在PostgreSQL的安装和设定基本已经完成了,但是目前为止能使用数据库的用户只有postgres。

为使其他用户可以使用数据库,需要登录数据库用户和生成用户数据。

例如通过Web服务器Apache进行查询的用户,用户名为nobody:

%

createuser

nobody

Enter

user's

postgres

ID

or

RETURN

to

use

unix

user

ID:

1000

->1000

Is

user

"nobody"

allowed

to

create

dataase(y/n)n

Is

user

"nobody"

allowed

to

add

users?(y/n)n

createuser:

nobody

was

successfully

added

删除用户可以使用命令destroyuser

用户名

PostgreSQL可以同时管理多个数据库(但数据库之间不能进行join等操作)。新建数据库:

$

createdb

数据库名

新建的数据库将被放在/usr/local/pgsql/data/base的同名目录下(环境变量PGDATA指定

路径的base目录下)。如省略数据库名参数,将自动以用户名作为数据库名。

例如

名为db1的数据库将被保存在/usr/local/pgsql/data/base/db1目录下。

也可使用initlocation命令指定其他位置:

$

initlocation

/pgsql/data

$

export

PGDATA2=/pgsql/data

$

createdb

-D

PGDATA2

db2

则数据库db2将被保存在/pgsql/data目录下。另外PostgreSQL

6.4版可以在建立数据库时

指定文字编码:

createdb

-E

“字符编码”

“字符编码”

参见

configure、initdb。

删除数据库:destroydb

数据库名

PostgreSQL最基本的数据库管理工具是pgsql.

基本使用方法:pgsql

数据库名

1.5

安全设置:

PostgreSQL提供了基于主机的认证方式host

based

authentication(HBA)

、基于口令的

用户身份认证和用户操作权限设置等安全机制。

1.5.1

HBA方式和基于口令的用户身份认证方式

HBA方式的设置文件为pg_hba.conf。其格式为:

host

DBNAME

IP_ADDRESS

ADDRESS_MASK

USRAUTH

[AUTH_ARGUMENT]

host:

固定标志,不能修改

DBNAME:

数据库名,all代表所有数据库

IP_ADDRESS,ADDRESS_MASK:指定IP地址,也可指定子网,如192.168.10.0/255.255.255.0

USERAUTH:

对用户的认证方式,包括ident(RFC1413)

、trust(不进行认证)

、reject

(拒绝符合条件的访问)

、password

[passwd_file](根据flat

file口令文件进行认证)

crypt(使用PostgreSQL的系统数据库pg_shadow进行认证)

、kbr4/kbr5(Kerberos

V4/V5认

证)

。如在作为Web

数据库使用,

使用passwd口令文件进行本地登录时可如下设置:

Host

all

127.0.0.1

255.255.255.255

password

passwd

passwd文件默认位置为/usr/local/pgsql/data,

有数据库管理权限的用户可以使用

pg_passwd命令管理该文件(注意:flat

file口令认证方式采用明文传送口令,故要从网络

上其他主机登录,建议使用crypt认证方式)

1.5.2

用户操作权限设置

使用SQL命令grant/revoke可以设置用户/用户组可否使用select/insert/update/rule命令。

根据SQL标准,一个数据表文件(table)

在刚建立时只有建立该表文件的用户有权访问。

要分配给用户访问权限,可以使用grant命令:

grant

on

to

权限种类:all,select,insert,update,delete,rule

table名:被设置用户访问权限的表文件

用户/组:public(所有用户)

或用户名/组名

revoke命令作用与grant命令相反,用法如下:

revoke

on

from

table已设置的用户权限可以使用pgsql的z

命令查看。

2.

Apache+PHP3的安装及设置

2.1

源程序

Apache和PHP3的最新版本源程序可以从http://www.apache.org/和http://www.php.net/找到。

以下以Apache

1.3.6和PHP3

3.0.5

为例。

2.2

编译

假设Apache和PHP3的源程序都保存在/tmp目录下,首先登录为root:

$

su

#

cd

/usr/local/src

#

tar

-xzvf

/tmp/apache_1.3.6.tar.gz

#

./configure

#

cd

/usr/local/src

#

tar

-xzvf

/tmp/php3-3.0.5.tar.gz

#

cd

php-3.0.5

#

./configure

--with-pgsql

--with-apache=../apache_1.3.6

--enable-track-vars

#

make

#

make

install

最后一步将建立/usr/local/src/apache_1.3.6/src/modules/php3目录,并将以下文件

复制到该目录下:

Makefile.libdir

libmodphp3.a

mod_php3.c

php_version.h

Makefile.tmpl

libphp3.module

mod_php3.h

编译和安装Apache:

设置环境变量LD_LIBRARY_PATH

csh和tcsh

shell使用以下命令:

#

setenv

LD_LIBRARY_PATH

/usr/local/pgsql/lib

sh和bash使用如下命令:

#

LD_LIBRARY_PATH=/usr/local/pgsql/lib

#

export

LD_LIBRARY_PATH

然后

#

cd

/usr/local/src/apache_1.3.6

#

./configure

--activate-module=src/modules/php3/libphp3.a

#

make

#

make

install

2.3

修改设置文件

#

cd

/usr/local/src/php-3.0.5

#

cp

php3.ini-dist

/usr/local/lib/php3.ini

将/usr/local/apache/etc/srm.conf中以下两行内容前的#号删除,如果以.php3作为PHP3

文件的扩展名,则将.phtml

更改为

.php3:

#AddType

application/x-httpd-php3

.php3

#AddType

application/x-httpd-php3-source

.phps

在srm.conf文件的DirectoryIndex下增加

index.php3:

DirectoryIndex

index.html

index.php3

2.4

启动Apache

#

/usr/local/apache/sbin/apachectl

start

apachectl

start:

httpd

started

在本地机上启动网络浏览器,地址栏输入http://localhost/(或在其他计算机上的浏览器

地址栏输入Apache服务器地址),如能显示出Apache的开始画面则说明Apache已经

安装成功。下面测试PHP3模块工作是否正常:

#

cd

/usr/local/apache/share/htdocs/

#

ln

-s

/usr/local/src/php-3.0.5

.

然后在浏览器的地址栏输入http://localhost/php-3.0.5/examples/date.php3

观察php3文件的运行结果是否正常。如日期函数能显示正确结果,则说明PHP3模块工作正常。

至此,基于Apache

Web服务器和服务器端脚本语言PHP3的PostgreSQL数据库系统的安装已经完成

:-)

飞鸿

99.11.1

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有