サーバをダウンロードする際、自分でコンパイルするためのソースかプレコンパイル されているバイナリのどちらかを入手します。プレコンパイルされている Linux (ELF) バージョンのバイナリはNCSA サイトで入手できますが古いバージョンのものは ありません。
NCSAのサーバは設定オプションのステップを通していろいろなファイルを準備します。 HTTPdをダウンロードする前に以下の質問に答えれるよう準備しておきます。
はじめにソースかプレコンパイルされたバイナリのどちらをダウンロードするか 選択します。もしメニューにないシステムなら、デフォルトソースを入手して 各自でコンパイルして下さい。
Linuxのバージョンをチェックします。コマンドラインで以下のように実行します。
linux:~$ uname -a
実行すると以下のようなメッセージが表示されます。
linux:~$ uname -a
Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
linux:~$
この場合Linuxバージョンは2.0.29です。
残りのパラメータはダウンロードする前に特定しておくか、後で
/usr/local/etc/httpd/conf
ディレクトリのsrm.conf
ファイル
を変更するかします。httpd.conf
ファイルの実際の実行名は
括弧の中に書かれています。唯一の例外はsrm.conf
ファイルに書かれて
いるDocumentRootの項です。
これはどのようにマシンがHTTPdサーバを走らせるか指定するものです。 よくある方法はServerTypeを"standalone"にすることです。 これは定期的にHTTPデーモンを走らせます。"inetd"とした場合は サーバはリクエストに応じてサーババイナリをメモリに読み込みます(サーバの 速度は低下します)。
これはHTTPdデーモンのあるマシンのどのポートが HTTPリクエストにバインドされているか指定します。"root"でログイン できるならデフォルト設定の80を使います。他は1025から65535の間から選んで 下さい。
これはサーバがリクエストに答えたりファイルで動作する時に変更するユーザーID です。"standalone"としてサーバを走らせているならこの質問に答える 必要があります。rootパーミッションを与えられていないユーザーの場合は、あなたの ログイン名を使います。システム管理者ならスペシャルユーザーを作ってファイル パーミッションを操作できるようにします。
これはサーバがリクエストに答えたりファイルで動作する時に変更するグループID です。サーバ user identityと似ています。"standalone"としてサーバ を走らせている時使えます。
rootパーミッションがないならプライマリグループの名前を使って下さい。 Linuxコマンドプロンプトでgroupsと入力するとあなたのグループ が確認できます。
これはサーバに問題があったときメールメッセージを送るためのメールアドレスです。 個人メールアドレスを設定できます。
これはシステム上のどこにサーバがあるか指定するものです。rootパーミッション
を持っているなら、サーバディレクトリを/usr/local/etc/httpd
に
変更しておきます。rootとしてログインできないならホームパスのサブディレクトリ
を選んでおきます。pwdコマンドでホームディレクトリのパスを確認
できます。
これはどこにHTMLファイルがあるか指定します。デフォルトの場所は
/usr/local/etc/httpd/htdocs
です。しかしrootとしてログインできない
場合は「サーバuser identity」で選択した特殊ユーザーのホームディレクトリに
したり、ホームディレクトリ以下のサブディレクトリに変更することができます。
もし不安ならデフォルトの設定を使って下さい。 NCSA HTTPdは
http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html
でダウンロードできます。またインストールするまえに、
http://hoohoo.ncsa.uiuc.edu/docs/
のHTTPdドキュメントを読んでおきましょう。もしソースからコンパイルしようと
思っているなら、makefileに書かれているsupport, src, cgi-src
の
3つのディレクトリを修正しておく必要があります。Linux版がサポートされてい
るならトップディレクトリ(例えば/usr/local/etc/httpd
)で
make linuxと実行するだけです。
コンパイルは簡単です。サーバルートディレクトリでmake linux
と
実行します。
メモ:
pre-ELF LinuxのユーザーはHTTPdをコンパイルする前に
portability.h
ファイルの#define NO_PASS
と
Makefile
ファイルのDBM_LIBS= -ldbm
のコメントを外して
おきます。