亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 php手冊 [轉(zhuǎn)]Apache+PHP3+PostgreSQL作為基于Web的數(shù)據(jù)庫平臺的安裝

[轉(zhuǎn)]Apache+PHP3+PostgreSQL作為基于Web的數(shù)據(jù)庫平臺的安裝

Jun 21, 2016 am 09:13 AM
apache pgsql postgresql

apache|web|數(shù)據(jù)|數(shù)據(jù)庫

發(fā)信人: xiaoning (我要飛), 信區(qū): Linux
標??題: Apache+PHP3+PostgreSQL作為基于Web的數(shù)據(jù)庫平臺的安
發(fā)信站: BBS 水木清華站 (Thu Jan 20 16:00:28 2000)
??
以下將說明使用Apache+PHP3+PostgreSQL作為基于Web的數(shù)據(jù)庫平臺的安裝和配置方法

關(guān)于Apache、PHP3和PostgreSQL的更多內(nèi)容可以從軟件的附帶文檔、Linux的HOWTO文件
??
以及以下站點處找到:
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 準備工作
編譯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空間,所以安裝時應注意預留足夠的空間,建議/usr/local/pg
sql/
目錄下保證有50M以上空間。另外展開和編譯源程序約需30-60M空間。
對多用戶的應用環(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目錄下]
完成后應生成一個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: 固定標志,不能修改
DBNAME: 數(shù)據(jù)庫名,all代表所有數(shù)據(jù)庫
IP_ADDRESS,ADDRESS_MASK:指定IP地址,也可指定子網(wǎng),如192.168.10.0/255.255.2
55.0
USERAUTH: 對用戶的認證方式,包括ident(RFC1413) 、trust(不進行認證) 、reject
(拒絕符合條件的訪問) 、password [passwd_file](根據(jù)flat file口令文件進行認證)

crypt(使用PostgreSQL的系統(tǒng)數(shù)據(jù)庫pg_shadow進行認證) 、kbr4/kbr5(Kerberos V4/V
5認
證) 。如在作為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標準,一個數(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目錄,并將以下文件
??
復制到該目錄下:
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作為PH
P3
文件的擴展名,則將.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)完成 :-)?



本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
在PhpStudy上部署Joomla網(wǎng)站的詳細步驟 在PhpStudy上部署Joomla網(wǎng)站的詳細步驟 May 16, 2025 pm 08:00 PM

在PhpStudy上部署Joomla網(wǎng)站的步驟包括:1)配置PhpStudy,確保Apache和MySQL服務(wù)運行並檢查PHP版本兼容性;2)從Joomla官網(wǎng)下載並解壓到PhpStudy的網(wǎng)站根目錄,然後通過瀏覽器按照安裝嚮導完成安裝;3)進行基本配置,如設(shè)置網(wǎng)站名稱和添加內(nèi)容。

php寫完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見方式 php寫完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見方式 May 23, 2025 pm 08:33 PM

PHP代碼可以通過多種方式執(zhí)行:1.使用命令行,直接輸入“php文件名”執(zhí)行腳本;2.通過Web服務(wù)器,將文件放入文檔根目錄並通過瀏覽器訪問;3.在IDE中運行,利用內(nèi)置調(diào)試工具;4.使用在線PHP沙箱或代碼執(zhí)行平臺進行測試。

卸載Apache服務(wù)後系統(tǒng)性能未恢復的排查 卸載Apache服務(wù)後系統(tǒng)性能未恢復的排查 May 16, 2025 pm 10:09 PM

卸載Apache服務(wù)後系統(tǒng)性能未恢復的原因可能包括其他服務(wù)佔用資源、日誌文件中的錯誤信息、異常進程消耗資源、網(wǎng)絡(luò)連接問題和文件系統(tǒng)殘留。首先,檢查是否有其他服務(wù)或進程在使用Apache卸載前的資源;其次,關(guān)注操作系統(tǒng)的日誌文件,查找卸載過程中可能出現(xiàn)的錯誤信息;再者,檢查系統(tǒng)的內(nèi)存使用情況和CPU負載,找出異常進程;然後,使用netstat或ss命令查看網(wǎng)絡(luò)連接情況,確保沒有端口被其他服務(wù)佔用;最後,清理卸載後殘留的配置文件和日誌文件,避免佔用磁盤空間。

Debian Tomcat更新如何操作 Debian Tomcat更新如何操作 May 28, 2025 pm 04:54 PM

在Debian系統(tǒng)中更新Tomcat版本一般包含以下流程:先行備份現(xiàn)有Tomcat版本執(zhí)行更新操作前,務(wù)必先對現(xiàn)有的Tomcat環(huán)境做一個完整的備份工作。這涵蓋了/opt/tomcat文件夾及其相關(guān)的配置文檔,比如server.xml、context.xml和web.xml等??梢酝ㄟ^以下命令來完成備份任務(wù):sudocp-r/opt/tomcat/opt/tomcat_backup獲取新版本Tomcat前往ApacheTomcat的官方網(wǎng)站下載最新的版本。依據(jù)你的Debian系統(tǒng)

macOS系統(tǒng)啟動Apache服務(wù)的命令及配置 macOS系統(tǒng)啟動Apache服務(wù)的命令及配置 May 16, 2025 pm 10:00 PM

在macOS上啟動Apache服務(wù)的命令是sudoapachectlstart,配置文件位於/etc/apache2/,主要步驟包括:1.編輯httpd.conf文件,修改Listen端口如Listen8080;2.調(diào)整DocumentRoot路徑至個人目錄如/Users/your_username/Sites,並更新相應的權(quán)限設(shè)置;3.使用sudoapachectlgraceful命令重啟Apache以確保配置生效;4.啟用mod_deflate模塊壓縮數(shù)據(jù),提升頁面加載速度。

解決卸載Apache過程中文件刪除失敗的問題 解決卸載Apache過程中文件刪除失敗的問題 May 16, 2025 pm 10:06 PM

Apache卸載過程中文件刪除失敗的原因包括文件權(quán)限問題、鎖定文件和正在運行的進程。解決方法包括:1.停止Apache服務(wù):sudosystemctlstopapache2;2.手動刪除Apache目錄:sudorm-rf/etc/apache2/usr/sbin/apache2;3.使用lsof查找並終止鎖定文件的進程:sudolsof|grepapache2,然後sudokill-9;4.再次嘗試刪除文件。

Apache連接MySQL數(shù)據(jù)庫的詳細配置步驟 Apache連接MySQL數(shù)據(jù)庫的詳細配置步驟 May 16, 2025 pm 10:12 PM

配置Apache連接MySQL數(shù)據(jù)庫需要以下步驟:1.確保已安裝Apache和MySQL;2.配置Apache支持PHP,通過在httpd.conf或apache2.conf中添加LoadModule和AddHandler指令;3.配置PHP以連接MySQL,在php.ini中啟用mysqli擴展;4.創(chuàng)建並測試連接的PHP文件。通過這些步驟,可以成功實現(xiàn)Apache與MySQL的連接。

Debian Hadoop監(jiān)控工具有哪些 Debian Hadoop監(jiān)控工具有哪些 May 23, 2025 pm 09:57 PM

在Debian系統(tǒng)上監(jiān)控Hadoop集群有多種方法和工具,以下是一些常用的監(jiān)控工具及其使用方法:Hadoop自帶的監(jiān)控工具HadoopAdminUI:通過瀏覽器訪問HadoopAdminUI界面,直觀了解集群狀態(tài)及資源利用率。 HadoopResourceManager:訪問ResourceManagerWebUI(通常為http://ResourceManager-IP:8088),監(jiān)控集群資源使用及作業(yè)狀態(tài)。 Hadoop

See all articles