世代の動的なページの

このテキストのほとんどは、Perlスクリプトを介して動的なページを作成する手の込んだ方法を懸念して、PHPスクリプト、JavaサーブレットおよびJava Server Pages。基本的なApacheの設定(Perlスクリプトや代替案に基づいて)、CGIプログラムのサポートを提供し、非常に限られた'サーバ側の含まれています'(SSI)のメカニズムです。関連するモジュール(mod_env、mod_cgiのとはmod_include)Apacheのビルドは、デフォルトで含まれています。のが最善ですディレクトリの数は、その動的なページを生成する実行可能コードが含まれて制限します。デフォルトの設定として、httpd.confファイル内で指定すると、/ cgi - binディレクトリのみ/ローカル/ Apacheで、CGIプログラムの許可がないディレクトリには、SSIファイルを許可されます。これらのデフォルトの制限が厳しすぎる可能性が高いです。もし少しすると、メインのhttpd.confファイルに余分なディレクトリのディレクティブを追加することができます制約を緩和します。これらの特別なディレクトリのディレクティブの制御オプションには、ディレクトリから、ディレクトリまたはファイルのメーカーの処理は、CGIスクリプトの実行を許可するを含む必要があります。サーバーサイドインクルードHTMLファイル内の特殊なタグによってフラグが設定され、タグなど:


   
   
  

Apacheのは、HTMLを確認して検索してSSIタグのプロセスはファイルを読み取る必要があります。これにより、HTMLファイルの正常取得のコストに追加されます。これは最高のもののフラグはのメーカーの処理が必要ですこれらのファイルは個別のファイルの拡張子を使用します。従来の拡張機能です。shtmlの、サーバーは適切なファイルを処理するように構成する必要があります。 httpd.confの設定ファイルのディレクティブを含める必要があります:

AddTypeのテキスト/ htmlです。shtmlのAddHandlerをサーバー解析されます。shtmlの

最初のディレクティブは、HTTPヘッダーが処理されたファイルのテキストがクライアントに返されますで使用されるコンテンツタイプを設定します。 2番目のディレクティブは、Webサーバーによっては、実際の解析が可能です。flastmodや大きさのようなSSIタグ無害なものとして、includeタグを介して他のHTMLファイルを含めることです。コードの実行として、execタグで許可されたりして、タグにはCGIからの出力、スクリプトを指定するなど危険なことができます。このコードは、任意のシェルスクリプトをすることができる場合、あなたのサイトが正しく確保されると、ある方法では、ハッカーたちは、SSIファイルから実行されるスクリプトを変更することができます。 Apacheのオプションは、簡単な使用し、使用してコードの実行を伴うの間に区別することを許可してSSIの使用を許可します。場合は、ディレクトリ内のメーカーされるファイルを許可するように解析したい場合は、そのディレクトリとは、使用許可のレベルを識別するためのDirectoryディレクティブが必要になります:

オプション+込... またはオプション+ IncludesNOEXEC ... 

サーバーの例として側が含まれる場合は、Webページで使用するための単純なカウンタを作成できます(このスクリプトは、LinuxやUnix用)です。これは、次のようなシェルスクリプトを含むだろう:

ヴァル=`猫カウンタ`newvalが=`exprが$ヴァル+ 1`newvalが$エコー"カウンタnewvalが$エコー

このコードは、ファイルCount.shに保存する必要があると、ファイルを実行可能にすると、カウンタのファイルがあると、初期値が0のデータラインを使って作成する必要があるだろう。このカウンタは次にように。shtmlファイル内のHTMLコードから呼び出される可能性が次のとおり:

... 
このページにアクセスされている回。

(すべてのファイルと同じディレクトリに配置する必要があります。)httpd.confファイルは、デフォルトのcgiの場所を- binディレクトリを識別するScriptAliasディレクティブが含まれます。 ScriptAliasディレクティブはまた、Apacheの実行可能ファイルとして指定されたディレクトリ内のすべてのファイルが処理されますので、Apacheはフォークをしようとするの- exec、これらのファイルではなく、単にクライアントに戻すことを手配します。もし他のディレクトリでCGIプログラムをしたい場合は、CGIプログラムを識別するためのファイルの拡張子を使用する必要があります:

AddHandlerをのcgi -スクリプトのcgi

使用したい場合があります。コンパイルされたCのCGI / C + +プログラムとは、この場合かもしれないPerlスクリプトには。pl:

AddHandlerをのcgi -スクリプトのcgiは。pl

また、その例:実行可能なスクリプトが含まれ、これらのディレクトリを識別するディレクトリのディレクティブが必要になります

オプション+ ExecCGI 

を介して作成されたApacheの次に、任意の実行する必要があります。このディレクトリ(および。plファイル両方がある場合)Webサーバの指定されたcgiファイルをCGIプログラムには、SSI execタグ(または)、新しいプロセスは、新しいプロセスを起動しているLinux上で次にexec呼び出しフォーク/ Unix版。新しいプロセスは、同じユーザーIDとグループを作成するプロセスIDを継承し、従って、それは通常、ユーザーが予定'IDを誰も'。多くの場合、これらのプロセスを別のユーザで実行するIDをお勧めします。1つのアプローチを設定上のユーザIDのファイルシステムに依存します。 Apacheのシステムは、suEXECの拡張機能を介して安全なメカニズムを搭載。前に、ユーザーが変更suEXECの仕組みの安全性チェックのシリーズが課さ子CGIプロセスに関連付けられたIDです。これらのチェックはコソコソとユーザで実行するプログラム番号="ルート"を得るから、誰を防ぐためには、誰か関係者の所有者以外の者が変更されている可能性のあるスクリプトまたは実行可能ファイルを回避するためのものです。 rootのアクセス権を使用してsuEXECの拡張子を設定するシステムの管理者である必要があります。もしあなた自身のLinuxシステムで実行すると、Apacheの管理の高度な運動として試みることができる。

ForWindowsユーザーは、Apacheのインストールは簡単です。あなたが圧縮された実行形式のアーカイブファイル(http://httpd.apache.org/から)としてApacheをダウンロードします。このファイルを実行することができます、それには、Apacheサーバとその必要なファイルを作成し、追加のショートカットを[スタート]メニューにします。通常、ApacheはCでインストールされます:\プログラムファイル\ Apacheグループ\ Apacheの。このディレクトリのサブディレクトリが\ binに(execu

sおよびスクリプト)、\ confに(設定ファイル)、\ログ(ログファイル)は、CGIプログラムの\のcgi - bin(標準のディレクトリ)と\ htdocsにドキュメント(標準的なディレクトリ)。 htdocsディレクトリが、cgi - binディレクトリはおそらく空になるいくつかのサンプルファイルを含める必要があります。あなたは\ conf \ httpd.confファイルこのファイルは、任意のテキストエディタで開くことができる1つの変更をしなければならない可能性が高いです。このファイルは、おそらく値は、ServerNameパラメータに指定されていません。あなたServerNameはローカルホスト(または、おそらくServerNameは127.0.0.1)を次のように定義する必要があります。 (もし何も定義され、Apacheは、あなたのマシンのIPアドレスとDNSレコードに基づいて、適切なサーバーの名前を言うことができるDNSサーバーを検索しようとします;場合は、DNSサーバーにリンクされているこの試みなので、Apacheの獲得に失敗します'トンを起動します。)httpd.confを編集後、あなたの基本的なWindowsのApacheを実行する準備が整いました。場合は、[スタート]メニューから、それを起動することができますブラウザを起動し、localhostをサーバーに接続するためには、このブラウザを使用します。

Linux / Unixのユーザーは、これを実現するより多くの作業が、Apacheのシステムの理解を得ることによって利益を。 Linux / UnixのユーザーがどこにApacheのコンパイルされ、リンクされて(/ home/me/apache_1.3.27)は、ディレクトリの最後のApacheの展開ディレクトリ(/ローカル/ Apache)、というより多くの領域のディスク容量は約20メガバイトが必要になります。する(1.3.27以降)、(gunzipは)このアーカイブを解凍してサーバーのtar.gzipバージョンをダウンロードしてファイル(tarの- XFは、...).抽出このプロセスは、あなたのホームディレクトリ内のサブディレクトリapache_1.3.27を作成する必要があります。これは事実上のマスターコピーです。多くは、このディレクトリから素材のあなたの最終的な配置のディレクトリに複製されます。apacheディレクトリ、binに含まれていますのcgi - bin、confに、htdocs、アイコン、ログ、srcおよび、他のサブディレクトリです。のcgi - binサブディレクトリにはいくつかの小さなサンプルプログラムをシェルスクリプトやPerlを使用しています。 htdocsディレクトリなどの例の番号が含まれる1つのコンテンツネゴシエーションは、クライアントの言語設定に基づいて説明するために使用されます。また、/マニュアルのサブディレクトリには、Apacheのマニュアルが含まれます。

記事は、ジャスミンSummersby提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"次世代動的なページの"自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 313 users browsing the articles directory