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

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

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

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ApacheでCGIディレクトリを設定する方法 ApacheでCGIディレクトリを設定する方法 Apr 13, 2025 pm 01:18 PM

ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:15 PM

Apacheサーバーでバージョンを表示するには3つの方法があります。コマンドライン(Apachectl -vまたはapache2ctl -v)を介して、サーバーステータスページ(http://< server ipまたはdomain name>/server -status)を確認します。

Apache80ポートが占有されている場合はどうすればよいですか Apache80ポートが占有されている場合はどうすればよいですか Apr 13, 2025 pm 01:24 PM

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:00 PM

Apacheバージョンを表示する方法は? Apache Serverを起動する:sudo service apache2を使用してサーバーを起動します。バージョン番号の表示:次のメソッドのいずれかを使用してバージョンを表示します。コマンドライン:apache2 -vコマンドを実行します。サーバーステータスページ:WebブラウザーでApacheサーバーのデフォルトポート(通常80)にアクセスすると、バージョン情報がページの下部に表示されます。

Apache用のZendを構成する方法 Apache用のZendを構成する方法 Apr 13, 2025 pm 12:57 PM

ApacheでZendを構成する方法は? Apache WebサーバーでZend Frameworkを構成する手順は次のとおりです。ZendFrameworkをインストールし、Webサーバーディレクトリに抽出します。 .htaccessファイルを作成します。 Zend Application Directoryを作成し、index.phpファイルを追加します。 Zend Application(Application.ini)を構成します。 Apache Webサーバーを再起動します。

Apacheを開始できない問題を解決する方法 Apacheを開始できない問題を解決する方法 Apr 13, 2025 pm 01:21 PM

Apacheは、次の理由で起動できません。構成ファイル構文エラー。他のアプリケーションポートとの競合。権限の問題。メモリから。デッドロックを処理します。デーモン障害。 Selinux許可の問題。ファイアウォールの問題。ソフトウェアの競合。

Apacheのサーバー名以上の削除方法 Apacheのサーバー名以上の削除方法 Apr 13, 2025 pm 01:09 PM

Apacheから追加のservernameディレクティブを削除するには、次の手順を実行できます。追加のservernameディレクティブを識別して削除します。 Apacheを再起動して変更を有効にします。構成ファイルを確認して、変更を確認します。サーバーをテストして、問題が解決されていることを確認します。

See all articles