Logo address

Pegasus のインストール

目次

インストール

1. pegasus-1.2a.tgz をとってくる。
2. 解凍する。
	term% gunzip pegasus-1.2a.tgz
	term% tar -xf pegasus-1.2a.tar
すると tar を実行したディレクトリに、ディレクトリ
	pegasus
が作成される。
	term% cd pegasus
	term% cd httpd
	term% mk lib
	term% mk
標準的なインストール先は
	/usr/local/bin/386
なので無ければ作成する。(あるいは他のディレクトリにインストールしても構わない)
	term% mk install

/usr/web の作成

/usr/web は Pegasus の標準設定では名前空間編成の基礎になるディレクトリである。
サーバモードで実行しない限り、/adm/usersweb を登録する必要はない。
CGI のサービスを行わないのであれば
	/usr/web/doc
	/usr/web/etc
	/usr/web/mnt
が作成されていれば充分である。(最初はここから始めよう)
CGI を使用する場合の /usr/web/* の編成は、配布ファイルの中の
	example/usr/web
に書かれている。でも最初の内は CGI を使用しない方がよい。
実際のコンテンツは
	/usr/web/doc
の下には書かない。これは単にコンテンツを盛りつけるベースのような役割を果たしている。

コンテンツの置き場所

コンテンツはあなたのホームディレクトリの下に置く。あなたが bob だとすれば
	/usr/bob/www/doc
が推奨される置き場所である。

/sys/lib/httpd.rewrite

まあ、最初の内は何も書かなくてもよい。これは仮想ホストをサポートする場合と、ホームページが他のホストに移動した場合に使用する。(あまり縁の無いファイルである)

/lib/namespace.httpd を作成する

配布ファイルの中の
	example/lib/namespace.httpd
に CGI を使用する場合の編成例が載っている。でも最初の内は CGI を使用しない方がよい。CGI を使用しない場合の編成は(あなたが bob だとすれば)
	bind /usr/bob/www/doc /usr/web/doc
だけでよい。

最初は listen の管理下で実行

いきなりサーバモードなどと言う高級な事はしないで、listen の管理下で httpd を実行しよう。通常はそれで充分である。
	/rc/bin/service/tcp80
を作成する。その内容は
	#!/bin/rc
	exec /usr/local/bin/$cputype/httpd $*
である。アクセスモードを
	--rwxrwxr-x
に設定する。

動作確認をする。

あなたが bob と仮定する。その場合
	/usr/bob/www/doc/index.html
を作成し、適当な内容を書く。
他のコンピュータからブラウザを使ってアクセスしてみる。

アクセス制御とセキュリティ

Pegasus は、他のサーバと同様に、ドキュメントルート(サービス空間の /doc) の外のファイルをクライアントから要求された場合には拒否します。さらに Pegasus はピリオドで始まるファイルを要求された場合にも拒否します。これらは CGI を通じてのみアクセス可能です。

以上の一般的な規則の他に、パスワードによってアクセスできるディレクトリや特定の IP のクライアントのみ拒否あるいは受け入れるディレクトリを定義できます。

	/usr/bob/www/etc
はアクセス制御ファイルの置き場所です。
詳しくはアクセス制御を参照して下さい。

殆どのソフトウェアにバグがあるように、Pegasus にもバグが残っているかも知れません。(発見したら報告をお願いします)
多数のユーザを抱えた場合には、ユーザが知っている情報はホームページに掲載される可能性があります。それがシステムのセキュリティを支えているような重要な情報であってもです。従ってそのような場合には認証サーバを別に持つべきです。CPU サーバの情報は全て公開される事を覚悟すべきでしょう。(管理の手落ちによって秘密の情報をオープンにしてしまう事は珍しくはない。)

おわりに

Pegasus は様々な事に柔軟に対応できるように作られています。
CGI に対しても木目の細かい制御が可能です。
そのためにいきなり高度な事を行うと、訳が分からなくなるかも知れません。
まずは簡単な所から始めましょう。
なお、このままでシステムのどのユーザもホームページを持てます。(システム設定の変更は必要ありません。)
ユーザ alice は単に
	/usr/alice/web/doc
の下に HTML ドキュメントを置けば良いだけです。
ブラウザからは
	/~alice
で見る事ができます。alice は
	/usr/alice/web/etc
を持つ事ができて、この中に alice のファイルに対するアクセス制御ファイルを置くことができます。