亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1505 | 回復(fù): 0
打印 上一主題 下一主題

PHP安裝攻略:PostgreSQL [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2005-04-09 19:53 |只看該作者 |倒序瀏覽
  以下將說明使用Apache+PHP3+PostgreSQL作為基于Web的數(shù)據(jù)庫平臺的安裝和配置方法。關(guān)于Apache、PHP3和PostgreSQL的更多內(nèi)容可以從軟件的附帶文檔、Linux的HOWTO文件以及以下站點處找到:
http://www.ddcode.com
未知
  
Apache:
http://www.apache.org
  
PHP3:
http://www.php.net
  
PostgreSQL:
http://www.postgresql.org
  
1. PostgreSQL的安裝和設(shè)置
1.1 獲得源程序  
  PostgreSQL最新版本的源程序可以在
http://www.postgresql.org
找到。目前的最新版本是6.5.X。以下以6.4版為例說明安裝方法。  
1.2 準(zhǔn)備工作  
  編譯PostgreSQL需要3.75版以上的GNU make (用gmake -v檢查版本號) ,2.7.2版以上的 GNU C(用gcc -v 檢查版本號)以及bison和flex(通常這兩種工具都已經(jīng)安裝) 。  
  PostgreSQL的默認安裝位置為/usr/local/pgsql/,系統(tǒng)文件約需3-10M空間。附帶的測試程序在運行時需要約20M空間,所以安裝時應(yīng)注意預(yù)留足夠的空間,建議/usr/local/pgsql/ 目錄下保證有50M以上空間。另外展開和編譯源程序約需30-60M空間。  
  對多用戶的應(yīng)用環(huán)境,建議設(shè)置一個專用用戶名,例如 postgres :  
  $ su 首先登錄為root  
  # /usr/sbin/adduser postgres  
  另外PostgreSQL使用了System V的共享內(nèi)存機制。FreeBSD默認狀態(tài)不支持該機制。如使用中的內(nèi)核的設(shè)置文件中無以下項目則需追加后重新編譯內(nèi)核:
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  
  [假設(shè)下載文件保存在/tmp目錄下]  
  完成后應(yīng)生成一個postgresql-v6.4目錄,下面開始編譯:  
  $ cd /usr/local/src/pgsql/postgresql-v6.4/src  
  $ ./configure --with-mb=EUC_CN  
  其中,--with-mb=指定系統(tǒng)默認字符編碼。除GB碼(EUC_CN) 外,還可以指定為日語(EUC_JP)、韓語(EUC_KR) 、臺灣(EUC_TW) 、UNICODE、MULE_INTERNAL、LATIN1等。
  注意,如使用6.3.2版需用--with-template=... 指定操作系統(tǒng),具體內(nèi)容見源程序附帶的說明文件。
  configure如順利完成,將生成GNUmakefile,Makefile.global和Makefile.port等文件。 $ gmake all在編譯結(jié)束后將顯示以下信息:All of PostgreSQL is successfully made. Ready to install。
  安裝:$ gmake install
  正常完成后,PostgreSQl的執(zhí)行文件和庫文件等將被安裝到/usr/local/pgsql目錄下。
  安裝附帶文檔:
  $ gmake install-man
  $ cd /usr/local/src/postgresql-v6.4/doc
  $ make install
  至此PostgreSQL的編譯安裝已經(jīng)完成,下面開始初期設(shè)置。
1.4 初期設(shè)置
  設(shè)置環(huán)境變量:
  如使用的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"
  然后執(zhí)行 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"
  然后執(zhí)行 source ~/.cshrc
  以上環(huán)境變量是所有使用數(shù)據(jù)庫的用戶都需要設(shè)置的。
  
  數(shù)據(jù)庫目錄的初始化:
  $ initdb
  可以使用的參數(shù):
  pgdata=/pgsql/db 指定數(shù)據(jù)庫目錄,默認使用環(huán)境變量PGDATA指定的位置  
  pgencoding=EUC_CN 指定數(shù)據(jù)庫的字符編碼,默認使用configure時指定的編碼。
  需要注意的是執(zhí)行initdb的用戶將擁有所建數(shù)據(jù)庫目錄的管理權(quán)。
  使用以下命令啟動PostgreSQL:
  $ postmaster -S  
  運行測試程序:
  $ cd test/regression
  $ gmake all runtest  
  如測試程序能正常運行則說明PostgreSQL能正常運行。
  為了讓 PostgreSQL在系統(tǒng)啟動時能自動啟動,需作以下變更:
  首先以root登錄
  $ su  
  Linux: 在/etc/rc.d/rc.local中追加以下內(nèi)容:
  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的文件,內(nèi)容為:
  #! /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文件的權(quán)限:
  # chmod 755 pgsql.sh  
  現(xiàn)在PostgreSQL的安裝和設(shè)定基本已經(jīng)完成了,但是目前為止能使用數(shù)據(jù)庫的用戶只有postgres。
  為使其他用戶可以使用數(shù)據(jù)庫,需要登錄數(shù)據(jù)庫用戶和生成用戶數(shù)據(jù)。
  如通過Web服務(wù)器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可以同時管理多個數(shù)據(jù)庫(但數(shù)據(jù)庫之間不能進行join等操作)。新建數(shù)據(jù)庫:
  $ createdb 數(shù)據(jù)庫名
  新建的數(shù)據(jù)庫將被放在/usr/local/pgsql/data/base的同名目錄下(環(huán)境變量PGDATA指定路徑的base目錄下)。如省略數(shù)據(jù)庫名參數(shù),將自動以用戶名作為數(shù)據(jù)庫名。  
  例如 名為db1的數(shù)據(jù)庫將被保存在/usr/local/pgsql/data/base/db1目錄下。也可使用initlocation命令指定其他位置:
  $ initlocation /pgsql/data
  $ export PGDATA2=/pgsql/data
  $ createdb -D PGDATA2 db2
  則數(shù)據(jù)庫db2將被保存在/pgsql/data目錄下。另外PostgreSQL 6.4版可以在建立數(shù)據(jù)庫時指定文字編碼:createdb -E “字符編碼” “字符編碼” 參見configure、initdb。
  刪除數(shù)據(jù)庫:destroydb 數(shù)據(jù)庫名
  PostgreSQL最基本的數(shù)據(jù)庫管理工具是
  pgsql. 基本使用方法:pgsql 數(shù)據(jù)庫名
1.5 安全設(shè)置:
  PostgreSQL提供了基于主機的認證方式host based authentication(HBA) 、基于口令的用戶身份認證和用戶操作權(quán)限設(shè)置等安全機制。
1.5.1 HBA方式和基于口令的用戶身份認證方式  
  HBA方式的設(shè)置文件為pg_hba.conf。其格式為:
  host DBNAME IP_ADDRESS ADDRESS_MASK USRAUTH [AUTH_ARGUMENT]
  host: 固定標(biāo)志,不能修改
  DBNAME: 數(shù)據(jù)庫名,all代表所有數(shù)據(jù)庫
  IP_ADDRESS,ADDRESS_MASK:指定IP地址,也可指定子網(wǎng),如192.168.10.0/255.255.255.0  
  USERAUTH: 對用戶的認證方式,包括ident(RFC1413) 、trust(不進行認證) 、reject (拒絕符合條件的訪問)、password [passwd_file](根據(jù)flat file口令文件進行認證) 、 crypt(使用PostgreSQL的系統(tǒng)數(shù)據(jù)庫pg_shadow進行認證)、kbr4/kbr5(Kerberos V4/V5認證) 。如在作為Web 數(shù)據(jù)庫使用, 使用passwd口令文件進行本地登錄時可如下設(shè)置:  
  Host all 127.0.0.1 255.255.255.255 password passwd
  passwd文件默認位置為/usr/local/pgsql/data, 有數(shù)據(jù)庫管理權(quán)限的用戶可以使用
  pg_passwd命令管理該文件(注意:flat file口令認證方式采用明文傳送口令,故要從網(wǎng)絡(luò)上其他主機登錄,建議使用crypt認證方式)。
1.5.2 用戶操作權(quán)限設(shè)置
  使用SQL命令grant/revoke可以設(shè)置用戶/用戶組可否使用select/insert/update/rule命令。  
  根據(jù)SQL標(biāo)準(zhǔn),一個數(shù)據(jù)表文件(table) 在剛建立時只有建立該表文件的用戶有權(quán)訪問。要分配給用戶訪問權(quán)限,可以使用grant命令:
  grant  on to  
  權(quán)限種類:all,select,insert,update,delete,rule
  table名:被設(shè)置用戶訪問權(quán)限的表文件
  用戶/組:public(所有用戶) 或用戶名/組名
  revoke命令作用與grant命令相反,用法如下:
  revoke  on from  
  table已設(shè)置的用戶權(quán)限可以使用pgsql的z 命令查看。
2. Apache+PHP3的安裝及設(shè)置  
2.1 源程序  
  Apache和PHP3的最新版本源程序可以從
http://www.apache.org/

http://www.php.net/
找到。
  以下以Apache 1.3.6和PHP3 3.0.5 為例。
2.2 編譯  
  假設(shè)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目錄,并將以下文件
  復(fù)制到該目錄下:
  Makefile.libdir libmodphp3.a mod_php3.c php_version.h
  Makefile.tmpl libphp3.module mod_php3.h
  編譯和安裝Apache:
  設(shè)置環(huán)境變量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 修改設(shè)置文件
  # cd /usr/local/src/php-3.0.5  
  # cp php3.ini-dist /usr/local/lib/php3.ini  
  將/usr/local/apache/etc/srm.conf中以下兩行內(nèi)容前的#號刪除,  
  如果以.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
  在本地機上啟動網(wǎng)絡(luò)瀏覽器,地址欄輸入
http://localhost/
(或在其他計算機上的瀏覽器地址欄輸入Apache服務(wù)器地址),如能顯示出Apache的開始畫面則說明Apache已經(jīng)安裝成功。下面測試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文件的運行結(jié)果是否正常。如日期函數(shù)能顯示正確結(jié)果,則說明PHP3模塊工作正常。  
  至此,基于Apache Web服務(wù)器和服務(wù)器端腳本語言PHP3的PostgreSQL數(shù)據(jù)庫系統(tǒng)的安裝已經(jīng)完成 :-)  
  



本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/5923/showart_20467.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP