titol
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