ホームページ >php教程 >php手册 >[移転] WebベースデータベースプラットフォームとしてのApache+PHP3+PostgreSQLのインストール

[移転] WebベースデータベースプラットフォームとしてのApache+PHP3+PostgreSQLのインストール

WBOY
WBOYオリジナル
2016-06-21 09:13:361023ブラウズ

apache|ウェブ|データ|データベース

送信者: xiaoning (飛びたい)、メッセージ領域: Linux
タイトル: Web ベースのデータベース プラットフォームとしての Apache+PHP3+PostgreSQL
送信ステーション: BBS Shuimu Tsinghua Station (Thu Jan 20 16:00:28 2000 )

Webベースのデータベースプラットフォーム
としてApache+PHP3+PostgreSQLを利用する場合のインストールと設定方法を説明します。
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 のコンパイルには、GNU make バージョン 3.75 以降 (gmake -v でバージョン番号を確認)、GNU C バージョン 2.7.2 以降 (gcc -v でバージョン番号を確認)、bison および flex (通常はこの両方が必要です)ツールはすでにインストールされています)。
PostgreSQL のデフォルトのインストール場所は /usr/local/pgsql/ で、システム ファイルには約 3 ~ 10M のスペースが必要です。添付のテスト
test
プログラムは実行時に約 20M のスペースを必要とするため、インストール中に十分なスペースを確保するように注意する必要があります。/usr/local/pg
sql/
ディレクトリには 50M 以上のスペースがあることが推奨されます。 。また、ソースプログラムの展開とコンパイルには、約 30 ~ 60M のスペースが必要です。
マルチユーザー アプリケーション環境の場合は、postgres などの専用のユーザー名を設定することをお勧めします。
$ su 最初に root としてログインします
# /usr/sbin/adduser postgres
さらに、PostgreSQL は共有メモリ メカニズムを使用しますシステムV。 FreeBSD はデフォルトではこのメカニズムをサポートしていません。
使用時にカーネル設定ファイルに以下の項目がない場合は、カーネルを追加して再コンパイルする必要があります:
オプション SYSVSHM
オプション SYSVSEM
オプション 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
コンパイルが完了すると、次の情報が表示されます:
PostgreSQL のすべてが正常に作成され、インストールの準備が完了しました。
インストール:
$ gmake install
正常に完了すると、PostgreSQl の実行ファイルとライブラリ ファイルがインストールされます。 /usr/local/pgsql ディレクトリに移動します。

インストールに含まれるドキュメント:
$ gmake install-man
$ cd /usr/local/src/postgresql-v6.4/doc
$ make install
これで PostgreSQL のコンパイルとインストールが完了しました。初期設定。
1.4 初期設定
環境変数を設定します:
使用するシェルが 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
使用されるシェルが 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 に追加します:
POSTGRESSDIR =/usr/local /pgsql
if [ -x $POSTGRESDIR/bin/postmaster -a -d $POSTGRESDIR/data ];then
rm -f /tmp/s.PGSQL.5432
su - postgres -c "p​​ostmaster - 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 "p​​ostmaster -S -i "
echo -n 'postmaster'
fi
pgsql.sh ファイルの権限を変更します:
# chmod 755 pgsql.sh
これで PostgreSQL のインストールと設定は基本的に完了しましたが、今のところ PostgreSQL を使用できるのは唯一のユーザーですデータベースは
postgres です。
他のユーザーがデータベースを使用するには、データベースユーザーにログインしてユーザーデータを生成する必要があります。
たとえば、Web サーバー Apache 経由でクエリを実行するユーザーのユーザー名は、nobody です:
% createuserEveryone
ユーザーの postgres ID を入力するか、UNIX ユーザー ID を使用する場合は RETURN を使用します: 1000 ->1000
ユーザー "nobody" は作成を許可されていますかdataase(y /n)n
ユーザー "nobody" はユーザーの追加を許可されていますか?(y/n)n
createuser:誰も正常に追加されました
ユーザーを削除するには、コマンド destroyuser username を使用できます
PostgreSQL は複数のデータベースを管理できます同時に実行できます(ただし、データベース間では結合などの操作は実行できません)。新しいデータベースを作成します
:
$ createdb データベース名
新しく作成されたデータベースは、/usr/local/pgsql/data/base と同じ名前のディレクトリに配置されます (環境変数 PGDATA は、

のベース ディレクトリを指定します)パス)。データベース名パラメータを省略した場合、ユーザー名が自動的にデータベース名として使用されます。
たとえば、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 はホストベースの認証 (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] (フラット ファイル パスワード ファイルに基づく認証) )

crypt を含むユーザー認証方法(認証には PostgreSQL のシステム データベース pg_shadow を使用)、kbr4/kbr5 (Kerberos V4/V
5 認証)。 Web データベースとして使用する場合、ローカルでログインするときに passwd パスワード ファイルを次のように設定できます:
すべてホスト 127.0.0.1 255.255.255.255 パスワード passwd
passwd ファイルのデフォルトの場所は /usr/local/pgsql/data です。データベース管理権限があれば、ユーザーは
pg_passwd コマンドを使用してこのファイルを管理できます (注: フラット ファイルのパスワード認証方法では、プレーン テキストを使用してパスワードを送信するため、ネットワーク上の他のホストからログインするには、暗号化パスワードを使用することをお勧めします)認証方法)。
1.5.2 ユーザー操作権限設定
SQLコマンドgrant/revokeを使用して、ユーザー/ユーザーグループがselect/insert/update/ruleコマンド
を使用できるかどうかを設定します。
SQL 標準によれば、データ テーブル ファイル (テーブル) が最初に作成されるときは、テーブル ファイルを作成したユーザーのみがアクセスできます。

アクセス権をユーザーに割り当てるには、grant コマンドを使用できます:
grant on to
Permission Type: all、select、insert、update、delete、rule
Table name:ユーザーのアクセス権限が設定されたテーブル ファイル
ユーザー/グループ: public (すべてのユーザー) またはユーザー名/グループ名
revoke コマンドは Grant コマンドの逆で、使用法は次のとおりです:
revoke on from
テーブル 設定されているユーザー権限は、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
# ./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 をコンパイルしてインストールします:
csh および tcsh の環境変数 LD_LIBRARY_PATH を設定します次のコマンドを使用してシェルを実行します:
# 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 の次の 2 行の前にある # を削除します ( の場合)。 PH として php3 が使用されます
P3
ファイルの拡張子を .phtml から .php3 に変更します:
#AddType application/x-httpd-php3 .php3
#AddType application/x-httpd-php3-source .phps
In srm.confファイルのDirectoryIndexにindex.php3を追加:
DirectoryIndexindex.htmlindex.php3
2.4 Apache起動
# /usr/local/apache/sbin/apachectl start
apachectl start: httpd starting
Webブラウザ起動ローカルマシン上で、アドレスバーに 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ファイルの実行結果が正常かどうかを観察します。 date 関数が正しい結果を表示できれば、PHP3 モジュールは正常に動作していることになります。
この時点で、Apache Web サーバーとサーバー側スクリプト言語 PHP3 をベースにした PostgreSQL データベース システムのインストールが完了しました :-)





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。