Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> サーバー技術 >> サーバーについて >> ApacheサーバはCGIプログラムとSSIプログラムの設定方法をサポートしています

ApacheサーバはCGIプログラムとSSIプログラムの設定方法をサポートしています

  

Apacheは移植性が高いため、Unix、Windows、Darwinなど30を超えるオペレーティングシステムをサポートしており、現在ネットワークに登録されています。ほとんどのドメインはApache Webサーバーを使用しています。 Apache Software Foundationは現在Apache 2.0に取り組んでおり、現在アルファテスト中です。ここでは、Web教育ネットワークと全員が、サーバーが単純な動的Webコンテンツを提供できるように、つまりCGIプログラムとServer-Side Include(SSI)プログラムをサポートできるようにサーバーオプションを変更する方法について説明します。 //この記事はwww.45it.comのコンピュータソフトウェアとハ​​ードウェアのアプリケーションネットワークから転送された。

1、準備作業

まず、あなたはApacheをインストールし、あなたのApacheはブラウジングのための静的ウェブページを提供できると思います。 Apacheのインストールは自動的に静的なHTMLテストページを添付します。つまり、テストページを見ることができれば、あなたのApacheは動作するということです。基本インストールのApacheは静的なHTMLページしか提供できません。ただし、モジュールを使用して機能を強化することができます。元の設定では、Apacheのコンパイルは2つのモジュール、mod_includeとmoc_cgiを含みます。 Apacheにこれら2つのモジュールがインストールされているかどうかを確認するには、binサブディレクトリで./httpd -lを実行します。実行結果は、Apacheが現在インストールしているすべてのモジュールの長いリストになります。 2つのモジュールmod_includeとmoc_cgiがリストにない場合は、サーバーを再コンパイルする必要があります。再コンパイルするときは、mod_include、moc_cgiモジュールを組み込む方法についての指示を決定してください。さらに、サーバーサイドインクルード(リアルタイムWebページ:http://www.oreilly.com/catalog/apache/excerpt/ch10.html)が必要です。サーバーサイドインクルード(SSI)のサポートにより、リアルタイムの動的Webページを作成できます。次に、サーバーのSSIサポート設定から始めて、次にCGIに進みます。

2、Apacheの設定

最初にApacheの設定ファイルを見つけなければなりません。 Apacheの元のインストールディレクトリは、Unixでは/usr /local /apache、Windowsではc:Program FilesApacheです。それからconfサブディレクトリにhttpd.confファイルがあります。これはApacheの設定ファイルです。この設定ファイルはプレーンテキストファイルなので、viやメモ帳などの通常のテキストエディタを使用して編集できます。最初に注意することは、このプロファイルのいくつかの行の開始テキストが#記号であるということです。これは、この行のテキストがすべて注釈であることを意味します。自分のプロフィールに適切にコメントすることは良い習慣です。なぜなら、それはあなたがどんな設定をしたのか、そしてその理由を思い出すのを助けるからです。

3. SSIプログラムを実行します。

設定ファイルを開き、次のテキストを探します。


#サーバーパースのHTMLファイルを使用するには

#AddType text /html .shtml
#AddHandlerサーバーで解析される.shtml


AddLineディレクティブとAddHandlerディレクティブの前に#記号を削除します。 AddTypeディレクティブは、拡張子が.shtmlのWebページを返すときに、返されるファイルのコンテンツ形式としてテキストまたはHTMLを使用するようにサーバーに要求します。 AddHandlerは、ファイルの内容をmod_include処理に送信するようにサーバーに指示するために使用されます。その後、mod_includeはそのようなファイルへの応答方法を決定します。次に、次のテキストを探します。

このテキスト行と対応する行の間にオプション行があります。元の設定は次のとおりです。

オプションインデックスFollowSymLinks MultiViews

行の末尾にインクルードを追加すると、次のようになります。

オプションインデックスFollowSymLinks MultiViewsインクルード< Br>

Apacheにhtdocsサブディレクトリの中のサーバーサイドインクルードプログラムを実行するように依頼します。これらの変更を有効にするには、サーバーを再起動する必要があります。 Unix環境で再起動し、kill -HUP `cat /usr /local /apache /logs /httpd.pid`を実行してください。 Windowsでは、Apache-k restartを実行してください。今すぐ設定結果を試してみましょう。 test.shtmlファイルを/usr /local /apache /htdocsディレクトリに追加します。このファイルには、次のプログラムコードが含まれている必要があります。

ファイルhello.txtが長く、最後に変更されたファイルです。

このSSIプログラムは、hello.txtというファイルを読み取ります。ファイルのサイズと最新の変更日がWebページに出力されます。明らかに、このhello.txtファイルもhtdocsディレクトリに追加する必要があります。 hello.txtファイルには1行のテキストしかありません。これらのファイルを追加し終えたら、お気に入りのブラウザを開いてhttp://localhost/test.shtmlページを開きます。サーバーのインストールがrootユーザーではない場合は、代わりにhttp://localhost:8080 /test.shtmlを有効にする必要があります。その後、次のような結果が得られます。

どのようにあなたのファイルhello.txtは1kバイトの長さで、水曜の2000年8月2日水曜日20:18:28に最後に変更されました。

SSIプログラムのサポートを有効にするもう1つの方法は、XbitHack設定と呼ばれます(関連URL:http://www.apache.org/docs/mod/mod_include.html#xbithack)。この方法の理由は、テキストファイルのユーザー実行可能ビットを実行可能状態に設定すると、ApacheはそれらのファイルをSSIプログラムファイルとして扱うからです。

このような機能を有効にするには、すべてのディレクトリの.htaccessファイルに次のディレクティブを配置する必要があります。XbitHackステータスオン(またはフル)ステータスをオン、オフ、またはフルに設定できます。 onに設定すると、サーバーはすべてのユーザー実行可能ファイルをSSI項目として処理します。オフにすると、サーバーはユーザーが実行できる設定状態を完全に無視します。 Fullに設定すると、サーバーはすべてのユーザー実行可能ファイルをSSI項目として扱い、グループ実行可能ビットもチェックします。グループ実行可能ファイルが実行可能ファイルに設定されている場合、ヘッダーに戻される最終変更時刻の値は、ファイルが最後に変更された時刻に設定されます。この設定により、クライアントのブラウザとプロキシがキャッシュできるようになります。ただし、そのような機能を使用するときは注意が必要です。たとえば、Webページに回転掲示板がある場合は、最初にダウンロードした広告がキャッシュされて使用されるため、グループの実行可能ファイルを有効にすることは望ましくありません。他のページに広告が表示されることはもうありません。

4、CGIプログラムの実装

最初のApacheインストールでは、cgi-binサブディレクトリに2組のCGIプログラム、test-cgiとprintenvが付随していますが、これら2つのグループのプログラムには潜在的な可能性があります。セキュリティホールしかし、セットアップテストを実行するだけなので、このオリジナルのセットアップをライブサーバーに直接配置することはしないため、CGIプログラムの1つをアクティブにして、Apacheが元々どのように機能していたかを確認しますこの一連のプログラムを実行するように設定します。最後に、簡単なCGIプログラムを自分で書きます。

まず、この一連のプログラムが実行可能であることを確認してください。 cgi-binサブディレクトリを入力し、プログラムファイルがユーザー(サーバー実行時のユーザー)によって実行可能に設定され、グループを使用して実行できるように設定されていることを確認します(グループはサーバーの実行時に使用されます)。 Windowsシステムの場合、このステップは不要です。次に、そのようなコンテンツをサーバーに要求します。

http://localhost:8080 /cgi-bin /test-cgi

注:root以外のユーザーを介してサーバーをインストールする場合のみポート8080を指定することだけが必要です。このApache組み込みのtest-cgiプログラムはCGIプログラムがアクセスする変数の値をリストします。 CGIサポートを有効にするは、httpd.conf設定ファイルで設定されたScriptAliasコマンドセクションです。この命令セクションの元の設定値は次のとおりです。

ScriptAlias /cgi-bin //usr /local /apache /cgi-bin /

この命令行は、要求されたページがApacheであるかどうかをApacheに通知します。パスはcgi-binで始まり、これらのファイルは/usr /local /apache /cgi-bin /ディレクトリにあります。この一連の指示は、このディレクトリのファイルを実行するようにApacheに指示します。以下に、How are you!を出力する簡単なCGIプログラムを用意しました。私はそれをhow.shと名付けました。

#!/bin /sh
echoコンテンツタイプ:text /html
echo
echoお元気ですか。


このファイルを変更してください。パーミッションはそれを実行ファイルにし、あなたのサーバには次のような要求をします:

http://localhost:8080 /cgi-bin /how.sh

これはシェルスクリプトで書かれていますが、システムに適した任意の言語で書くことができます。 CGIプログラムの作成に関しては、機会があればもっと深く議論します。

まとめ:

ApacheでサポートされているすべてのSSIディレクティブはApacheのドキュメントにあり、すべてのApache関数は設定ファイルでデバッグできます。ここで紹介しているのは、ファイルに関する適切な知識を設定するためのほんの一部です。設定ファイルの元の設定には非常に詳細なドキュメントがあり、各システムバージョンにはコアモジュールと標準モジュールの説明が付いています。機能

Copyright © Windowsの知識 All Rights Reserved