トップページ > 各種ソフトの設定 -CGIのパスなど

各種ソフトの設定 -CGIのパスなど


CGIのパスなどの設定
CGIのPATH /usr/bin/perl
SENDMAILのPATH /usr/sbin/sendmail
サーバーフルパス /var/www/vhosts/ドメイン名/httpdocs

httpdocs以下にてCGIを使用する場合の.htaccessファイル記述例
Options ExecCGI Includes

AddType text/x-server-parsed-html .shtml
AddType text/x-server-parsed-htm .shtm
AddType application/x-httpd-cgi .cgi

Options +ExecCGI +Includes -Indexes +FollowSymLinks
AddHandler cgi-script .cgi

<IfModule mod_php4.c>
php_flag register_globals off
</IfModule>

CGI設置の注意点

※あくまで弊社サーバーを利用しての設置となりますので 他社サーバーでは設定が違う場合がございます。予め、ご了承ください。

1.perlのパスについて

弊社サーバーで使用されるperlのパスは、「/usr/bin/perl 」となります。
スクリプトの1行目に 「 #!/usr/local/bin/perl 」と記述されている場合は、 「 #!/usr/bin/perl 」に修正が必要になります。

perlのパスについて


2.ディレクトリについて

ftpソフトで接続した際に、CGIの設置や、ホームページデータの 設置場所となるディレクトリは、下記の通りです。

cgi-bin  →CGIファイルの設置場所
httpdocs →CGI以外のデータの設置場所

perlのパスについて

この場合、○○○.cgiという名前のファイルはcgi-binへ設置し それ以外のファイルはhttpdocsへ設置しなければいけなくなります。

そうなると設置が難しくなってしまいますので、今回はhttpdocsの中で CGIを動かす方法をお教えいたします!!


3.httpdocsの中でCGIを動かす方法

httpdocsの中でCGIを動かす為には、「.htaccess」というファイルを使用します。

まずメモ帳などを開いて、下記の記述をそのままコピー&ペーストします。

Options ExecCGI Includes
AddType application/x-httpd-php .php

後はこれを「.htaccess」という名前で保存し、httpdocs内に設置するだけです!!


4.CGIスクリプトの中でのURLや、パスの指定方法

CGIによってはホームページの戻り先や、データの読込先を指定する部分がありますが URLで記述されていたり、
サーバーパスで記述がされている場合がございます。

URLで指定する部分は、戻り先のページのURLを記述するだけなので分かりやすいのですが サーバーパスでの記述が必要な場合は、
「相対パス」と「絶対パス(フルパス)」があります。

「相対パス」は、記述されたファイルから見た読込先の場所で 「絶対パス」は、サーバーのルートディレクトリからのパスになります。

例:httpdocs/index.cgiから、httpdocs/sample/sample.cgiを読み込ませる場合
index.cgi内の指定
相対パスの場合:./sample/sample.cgi
絶対パスの場合:/var/www/vhosts/ドメイン名/httpdocs/sample/sample.cgi

上記のように、同じサーバーパスでも相対パスと絶対パスは記述方法が全然違います。

CGIによっては、パスの記述方法が指定されておりますので 使用するCGIのマニュアルをご確認ください。


5.CGIのパーミッション

CGIはパーミッションの設定を行わなければ動作しないものがほとんどです。

CGIのパーミッションは、基本的には「755」となりますがプログラムによっては全てのCGIが「755」の
パーミッションを使用しない場合がございますので、ご注意くださいませ。

上記の事が、CGIを設置する際の簡単な注意点となります。

CGIがうまく動作しない場合は、上記のことをご確認して頂ければ 原因を確かめる材料になるかと思われますので是非、お役立て下さい。