[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:04150] Apache+PHP3+PostgreSQL packages for Plamo Linux.



くわむらです。

  Plamo Linux 2.0 の作業が続いてますが、PostgreSQL関連
のパッケージをまとめました。まだ、2.0が安定期に入らない
ということもあり、1.4.x のもつくりました。

# まだ、十分にテストができていないのでテストをして欲しいと言うの
# が主旨であったりもしますが。(笑)

1.4.x用:	http://www.linet.gr.jp/~juk/plamo/parts/1.4.x/
2.0用:		http://www.linet.gr.jp/~juk/plamo/parts/2.0/

以下、パッケージについての共通のメモです。
--
『Plamo Linux 1.4.x/2.0 用 PostgreSQL パッケージ』

						1999-10-16
						くわむら じゅん
						juk@yokohama.email.ne.jp

  はじめに

  このパッケージ群は、Plamo Linux 2.0に貢献するために筆者が趣味でまと
めたものであり、完全に無保障です。このパッケージ自身およびその利用など
によって起きる、パッケージに関するいかなる問題や損害にも応じられません。
ただし、利用や改変は自由に行なっても頂いてかまいません。個々のパッケー
ジの利用の仕方や利用条件などについては、それぞれのパッケージに含まれる
ドキュメントに従って下さい。ドキュメントはアーカイブの中の usr/doc/ディ
レクトリ下のサブディレクトリ下にあります。
  『PostgreSQL完全ガイド』の改定版に向け Plamo 1.4.x のパッケージも更
新しました。Plamo 2.0 用のバイナリーは Plamo 1.x.x では動きませんので
ご注意下さい。

  なお、再配布を行なう際は筆者に御一報下さい。


1. メインパッケージ

 パッケージは以下のアーカイブからなります。

	+ pgsql652.tgz		--- 本体パッケージ
	+ pgsql652-contrib.tgz	--- contrib パッケージ(+geometory)
	+ pgsql652-pgaccess.tgz	--- PgAccess フロントエンドGUI(*1)
	+ pgsql652-odbc.tgz	--- Linux ODBC ドライバ 
	+ pgsql652-perl5.tgz	--- Perl5 Pg-1.8.1 モジュール
	+ pgsql652-python.tgz	--- Python-1.5 PyGreSQL-2.4 モジュール
	+ pgsql652-pgbash.tgz	--- pgbash-1.1.1 Bash-2.0 モジュール

基本的には、本体パッケージのインストールのみでPostgreSQLが利用可能とな
ります。

 古いバージョンをお使いの方は、バックアップを先に行なって下さい。
方法としては、データベース・ディレクトリそのものを安全なメディアに
取ることが一番ですが、新しいバージョンでも使いたい場合は、さらに、
pg_dumpall で全データベースを吐き出す、あるいは、pg_dumpでデータベー
ス毎に吐き出す方法もあります。

 PostgreSQL-6.5.2の本体パッケージのインストールは、

	# installpkg pgsql652.tgz

または、pkgtoolからも行なえます。インストール時に実行されるスクリプト
により、/usr/local/pgsql/ をホーム・ディレクトリにしてユーザpostgresと
グループpgsqlが登録されます。それから、initdb によりデータベースの初期
化がおこなわれた後、ローカル・ネットワークからのフリーアクセスを許し、
他からはパスワードによるアクセスを許可するように pg_hba.conf が設定さ
れます。
 インストールの過程で、pg_passwd コマンドが実行され、ネットワーク越し
のアクセスのためにユーザーとパスワードを聞いてきますので、ここで、設定
したユーザーとパスワードを覚えておきましょう。また、WEBからのアクセス
のためにユーザーnobodyを登録するために createuserコマンドが実行されま
すが、権限に注意しましょう。これらの処理の詳細は、
/usr/local/pgsql/apps/utils/create_default_users を御覧下さい。
 
--
/usr/local/pgsql/bin/pgsqld: postmaster(PostgreSQL server) started.
/usr/local/pgsql/bin/pgsqld: Proccess ID = 12781
Initializing default data base by user postgres ...
running... createdb postgres
running... pg_passwd /usr/local/pgsql/data/pgpasswd
File "/usr/local/pgsql/data/pgpasswd" does not exist.  Create? (y/n): y	<=
Username: postgres							<=
New password: 								<=
Re-enter new password: 							<=
running... createuser nobody
Enter user's postgres ID or RETURN to use unix user ID: 65534 -><=
Is user "nobody" allowed to create databases (y/n) n		<=
Is user "nobody" a superuser? (y/n) n				<=
createuser: nobody was successfully added
Shall I create a database for "nobody" (y/n) y			<=
--

  /etc/serveses に postgres_dbms  がポート 5432 で登録されますが、
今のところ、Kerberos認証以外では使うことがないと思われます。

  インストール直後に pgsqld スクリプトから、PostgreSQLバックエンド・サー
バーを起動しますので、すぐに使うことができます。ただし、高速稼働を優先
して、サーバー起動オプションに -o '-F' を加えてますので、ご注意下さい。
  UNIXユーザー・アカウントの postgres が PostgreSQL管理者用アカウント
となります。インストールが終ったら、このアカウントにパスワードを設定す
るのを忘れないようにしましょう。UNIXユーザー・アカウントはマシンにログ
インするためのアカウントで、インストール時に設定したPostgreSQLを使うた
めのPostgreSQLユーザー・アカウントとは異なりますのでご注意下さい。

  さあ、文字端末用FEP(フロントエンド・プログラム)の psql を使ってみま
しょう。日本語版の psqlj も使えます。X Window Systemをお使いの場合は、
GUIの pgaccess も使ってみて下さい。



2. Perl5 DBIパッケージ

 Perl5 DBI は Perl5 から色々な DBMS への共通呼びだしを提供します。

	DBI113.tgz	Perl5 DBI(DataBase Interface)モジュール
	DBDPg093.tgz	Perl5 PostgreSQL DBD(DataBase Driver)モジュール

 以下は、DBI:Proxy を使用しなければ不要です。

	PlRPC02012.tgz		Perl RPC (Remote Procedure Call)
	NetDaemon028.tgz	ポータブル・サーバー用のクラス
	Storable065.tgz		データ整合性のための拡張
	CompressZlib106.tgz	zlib 圧縮ライブラリのインターフェース


 DBIはコマンドラインからも使えるdbishというシェル版もあります。また、
dbiproxyというコマンドなるものがありますが、使い方がわかりません。
dbiproxyはPlRPCを必要とし、PlRPCはさらにStorableとNet-Daemonを必要とし
ます。とりあえず必要なパッケージをPerl5サブディレクトリにまとめてます。
使い方をご存知のかたは教えて下さい。

 DBI113 と DBDPg093 をインストールした後、

	# cd DBDPg093/usr/doc/DBD-Pg-0.93/
	# su postgres -c "perl test.pl"

を実行すると簡単なテストが行なわれます。

  その他のPmで、ドキュメント・ディレクトリにテストプログラムが t/*.t 
がある場合は、そこへ移動して、例えば、DBI106 の場合、次のようにテスト
を実行します。

	# cd /usr/doc/DBI-1.06
	# perl -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t

 なお、ドキュメント・ディレクトリはインストールされたパッケージリストから
探せます。例えば、DBI106 の場合は次の通りです。

	# grep doc /var/adm/packages/DBI106



3. PHP3 によるApacheウェブサーバへの連係

	apach139.tgz	Apacheウェブサーバー
	php312j4.tgz	PHP3ハイパーテキスト・プリプロセッサ
	gd13.tgz	GIF作製高速グラフィクス・ライブラリ(*1)
	gdbm180.tgz	Gnu DBM ライブラリglibc2版

  前回は、PHP4beta2をパッケージにしましたが、日本語のパッチがリリース
されているいることもあり、今回は、PHP3をApacheウェブサーバDSO版とCGI版
で用意しました。PHP4のCGI版と区別するためにCGI版のプログラム名をphp3に
変えてます。apache139とphp312がインストールされたときにhttpdをリスター
トするようにしてありますが、このphp312はPostgreSQL-6.5.2とGD1.3のライ
ブラリを必要としますのでpgsl652とgd13の両パッケージがあらかじめインス
トールされていなければhttpdは起動できません。インストールの際にapacheと
いうグループを作成し、httpdはオーナーnobody、グループapacheで走ります。
 (gdbmのパッケージは、Plamoのgdbmライブラリがlibc5用のためか、うまく
リンクできなかったので作り直しました。)


  起動後、http://localhost/にアクセスするとインストールされた幾つかの
パッケージのドキュメント・ディレクトリへのリンクをたどることができま
す。PHP3ソースに附属のサンプルはドキュメント・ディレクトリにもありま
すが、筆者が練習用に作製したテストとサンプルが
http://localhost/phptest/ で御覧いただけます。


4. 例題パッケージ

	pgbench11.tgz		PostgreSQLトランザクションベンチマーク(*2)
	pgimage12.tgz		PHP連係画像管理システム Web UI
	pgpost132+o.tgz		郵便番号検索(大口事業所付き)Web UI
	w-agora3b4.tgz		W-AGORA ウェブ掲示版システム


(注)
  (*1) Plamo 1.4.x 用は更新されていません。
  (*2) Plamo 1.4.x 用には xpgbench はありません。
	(gtk+-1.2.0以上が必要のため)
  (*3) Plamo 1.4.x では tcl8.0/tk8.0 が必要です。
	(contrib/Working にtcl804.tgz,tk804.tgzがあります。)

--
 Jun Kuwamura
rC Cm
  ^
  ~

Follow-Ups
[plamo:04151] Re: Apache+PHP3+PostgreSQL packages for Plamo Linux., Jun Kuwamura

[検索ページ] [メール一覧]
Plamo ML 公開システム