Home | Wordpress |
CGIゃSSIの設定準備 | ||||
1 | CGIゃSSIの設定準備 MacOSXServer10.2.6(MacOSXServer10.3.xならばファイルを書き換えなくてもサーバー管理で設定出来ます。)はApache/1.3.27をもっており、CGIやSSIが使える。しかし、インスツールしたデェフォルト状態では、ルートユーザーは実行権はあるようですが、各ユーザーサイトでは稼働するようには設定されていません。 |
|||
2 | 使えるようにするためには、Terminalやmiエディターでhttpd.comfを編集し直す必要があります。 | |||
3 | 編集する前に、httpd.confのbackupを作って下さい。(httpd.conf.bacupでもよい) | |||
4 | MacOSXおよびMaxOSX-Serverは不可視ファイルが多く、MacOS9以下の様にはいかないので、TinkerToolをインスツールして、全てのファイルが見えるようにしておくと、不安が一掃できるでしょう。 | |||
5 | TinkerTooはhttp://www.bresink.com/osx/TinkerTool.html に英語版があります。日本語版もあるのですが、サイトが分かりません。毎日コミュニケーションズの「MacFan」MacOSXフリーウェアー&シェアウェアーにTinkerTool2.3.2の日本語版が付属しています。 | |||
6 | Terminalやmiエディターの使い方はなれるしかないでしょう。http://mimikaki.net/ で最新バージョン2.1.3が2003.10.17付けでダウンロードできます。MacOSXのテキストエディターは改行コードに十分きを付けないと、失敗することがあります。また行数表示をするためにも、mimikaki-editerが視覚的に良いでしょう。 | |||
7 | /etc/httpd/httpd.confのhttpd.confを編集するのですが、 | |||
8 | 1000行以下に # AddHandler cgi-script .cgi とありますので #を外して下さい。 |
|||
9 | 1080行付近に # AddType text/html.shtml # AddHandler server-parsed.shtml とありますので #を外して下さい。 |
|||
10 | 500行すぎに #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> #</Directory> とありますが下記を追記して下さい |
|||
11 | <Directory /Users/*/Sites/cgi-bin> Options Indexes MultiViews ExecCGI FollowSymLinks Includes AllowOverride FileInfo AuthConfig Limit AddType text/html .shtml AddHandler server-parsed .shtml AddHandler cgi-script .cgi AddHandler cgi-script .pl </Directory> |
|||
12 | この編集し直しhttpd.confを元にもどすのですが、Desktop上に保管した後、ドラックアンドドロップで戻りません。ファイルの権限があり、Terminaで下記の操作でコピーして下さい。 | |||
13 | [G3-Server: ̄] xxxx% sudo cp .Desktop/httpd.conf /private/etc/httpd/ Terminaで [G3-Server: ̄] xxxx% sudo /usr/apachectl restart と操作する。 |
|||
14 | CGIゃSSIの設定と転送 | |||
45 | CGIゃSSIのプログラムはperl scriptやJavaScriptで書かれているので、自分で編集するのは諦めて、本の付属のフリーウェアーやインターネツトから入手して用いる。 | |||
16 | その下準備で自分のサイトを調べる。 | |||
17 | 例えば http://www.testserver.no-ip.com/ ̄xxxx/ でホームページが存在するのであれば、ここにimdex.htmlもしくはindex.shtmlを置くこととなる。ここに慣例的に「cgi-bin」のホルダーを置くと、本の解説などとマッチする率が高くなる。 | |||
18 | このホルダーをサイトに転送するためにFetch4.0.3J1を http://www.hart.co.jp/fetch/fetch4_dl.html から入手して下さい。シェアウェアーです。ダウンロードの解凍はサフィクスが.seaでOS9上の場合がある。 |
|||
19 | Fetchを起動し、サーバー名は先のホームページの例では www.tesrserver.no-ip.com <http://www.tesrserver.no-ip.com/> となり、 ユーザー名は ....... パスワードは各自が設定したもの(......)を入力して接続する。接続されたら「Sites」をクリックしてその中に「cgi-bin」を転送する。転送できればfetchのリモートでパーミッションの設定を選択し、全てにチェックをつければ、777となる。 | |||
20 | この要領でその他のcgiファイルやdataファイルを転送し、パーミッションの設定をする。ただし転送前に、cgiファイルを修正しておくこと。 | |||
21 | CGIファイルの修正 | |||
22 | サーバーに用いている、ソフトがMacOSXであればperlは /usr/bin/perlにperlが存在するが、windowNTなどは /urs/local/bin/perlにあり、cgiファイルを転用する時には十分注意が必要となる。特にcgiプログラムファイルの1行目の/urs/local/bin/perl は/usr/bin/perl と書き換えて下さい | |||
23 | 修正で困るのが、パスであり、UNIXのパスの指定方法を十分知っている必要がある。特にパスの絶対指定は ルートディレクトリーから順番に書いていくので、間違うことが少ないが、相対パスは ./ の意味と ../ の意味は異なり ../../ も使うこととり、よく理解していないと、転送したcgiのプログラムの実行が出来なくなる。 | |||
24 | かつ、パーミッションの設定を十分確かめて下さい。 | |||
25 | CGIのHTMLへの埋め込み | |||
26 | Cgiをhtmlに埋め込まないで、CGIそのものを1へージとして表示する場合もあるが、カウンターの様に1行ですむcgiの場合、何とも寂しいページになつてしまう。 | |||
27 | しかし、htmlのなかにcgiを埋め込むのも、perl scriptやJavaScriptの触り程度の知識が必要である | |||
28 | “Content-type:text/html\n\n がどうしても必要? | |||
29 | <!-- #00 -->はhtmlのコメント文とどう違うのか、未だ理解していません。 | |||
30 | <!-- #の後のコマンドも沢山の種類があり勉強不足です。 しかし、見よう見まねでカウンターと掲示版は稼働しています。 |
|||
Back |