当前位置:操作系统 > Unix/Linux >>

Linux中的字型(FONTS)设定

以下将说明使用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

  uni
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,