• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        [轉]Apache+PHP3+PostgreSQL作為基于Web的數據庫平臺的安裝

        [轉]Apache+PHP3+PostgreSQL作為基于Web的數據庫平臺的安裝

        更新時間:2022-05-02 文章作者:未知 信息來源:網絡 閱讀次數:

        發信人: xiaoning (我要飛), 信區: Linux
        標題: Apache+PHP3+PostgreSQL作為基于Web的數據庫平臺的安
        發信站: BBS 水木清華站 (Thu Jan 20 16:00:28 2000)

        以下將說明使用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/pg
        sql/
        目錄下保證有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.2
        55.0
        USERAUTH: 對用戶的認證方式,包括ident(RFC1413) 、trust(不進行認證) 、reject
        (拒絕符合條件的訪問) 、password [passwd_file](根據flat file口令文件進行認證)

        crypt(使用PostgreSQL的系統數據庫pg_shadow進行認證) 、kbr4/kbr5(Kerberos V4/V
        5認
        證) 。如在作為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作為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
        在本地機上啟動網絡瀏覽器,地址欄輸入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免费观看视频| 亚洲一区二区三区不卡在线播放| xxxx日本免费| 亚洲粉嫩美白在线| 成人免费无码精品国产电影| 国产偷国产偷亚洲高清人| 亚洲第一区精品日韩在线播放| 免费无码一区二区| 亚洲国产另类久久久精品小说| 97在线视频免费| 亚洲精品天堂成人片AV在线播放| 免费a级毛片视频| 国产免费人成视频在线播放播| 亚洲av之男人的天堂网站| 久久福利资源网站免费看| 国产成人精品日本亚洲专一区| 免费无码黄动漫在线观看| 成人a毛片视频免费看| 亚洲成a人片77777kkkk| 最近免费视频中文字幕大全| 亚洲天然素人无码专区| 亚洲精品国产自在久久| 免费的全黄一级录像带| 国产亚洲玖玖玖在线观看| 亚洲精品tv久久久久| 国产黄色免费网站| 国产亚洲人成在线播放| 亚洲AV无码久久精品成人| 毛片A级毛片免费播放| 亚洲视频在线免费| 色偷偷亚洲女人天堂观看欧| 亚洲AV伊人久久青青草原 | 久久九九免费高清视频| 自怕偷自怕亚洲精品| 亚洲AV无码乱码精品国产| 国产成人yy免费视频| rh男男车车的车车免费网站|