PlanManagerユーザーズガイド iCLUSTA活用ガイド よくある質問
 


 

カスタムCGI/SSI


Q.自分で用意した.htaccessファイルは使用できますか

.htaccessは、i-02以上でご利用可能ですが、ファイル制御に関する表記には対応しておりません。ご利用可能なディレクティブはAuthConfig と Limit のみとさせていただいております


Q.CGIを作りたいのですが、コマンドのパスやバージョンを教えてください

それぞれ下記のようになります。

・コマンドのパス
perl   /usr/bin/perl     
( /usr/local/bin/perl も使用可能)

sendmail /usr/sbin/sendmail
nkf    /usr/bin/nkf

・バージョン perl :5.8.5

※i-01プラン、Web領域がないプランでは、お客様にてご用意いただいた CGI はご利用いただけません。

また、PlanManager へアクセスして、“ユーティリティ”項目の“コマンド検索”で
サーバー内で使用可能な外部コマンドを検索することができます。

 


Q.自分で用意したCGIはどのディレクトリに設置すればいいですか

CGIを動作させるディレクトリに指定はありません。

なお、iクラスタはセキュリティーを重視した設計となっている為 、
Apache は suEXEC モードで動作をしています。
その関係上、ディレクトリーならびにファイルのパーミッション属性にご注意ください。

・CGI スクリプトを置くディレクトリ : 755
・CGI スクリプト          : 750(755 も可)


※i-01プラン、Web領域がないプランでは、お客様にてご用意いただいた CGI はご利用いただけません。

Q. DNSの切替え前にCGIの動作確認をしたい

PlanManagerのウェブコントロールの"プレビューサーバー"から
確認が可能です。

また、お客様がご使用のパソコン内にhostsファイルを設定いただくことで、
DNS切り換え前にドメインで接続可能な状態になります。
動作確認の際はこちらの方法を推奨します。

※弊社提供の標準CGIでは、DNS切り替え前に標準CGIの管理画面へ入れません。
 切り替え後に設定いただくようお願いいたします。


<<hostsファイルの設定手順>>

まず、お客様のパソコンの hosts ファイルを検索します。
ファイル名を hosts として検索すると見つかります。

【既にhosts ファイルが存在する場合】


ドメイン:  ***.jp
IPアドレス(www):  ***.***.***.***


メモ帳等のエディタを開き、以下の二行を付け加えます。

***.***.***.*** www.***.jp
***.***.***.*** ***.jp

 ※上記は例です。実際にはお客様のドメイン名とIPアドレスを記述してください。

【hosts ファイルがない場合】
メモ帳等のエディタを開き、新規作成を行います。
記述の内容は上記と同じです。

お客様のパソコンの設定で拡張子が表示されない設定になっている場合、
ファイルの拡張子を削除することができません。
以下のことを行ってからファイルの拡張子を削除してください。

[コントロールパネル]→[フォルダオプション]→[表示]を開いてください。

「登録されているファイルの拡張子は表示しない」にチェックされていませんか?
チェックされている場合、拡張子が表示されなくなります。
チェックを外していただき、hosts.txt から「hosts」だけのファイルとなるよう
拡張子を削除してください。
ファイルの設置場所はOSにより異なります。

・Windows(9x, Me)の場合
 C:\Windows\hosts というテキストファイルを用意し、
 上記の記述を行い保存します。
 hosts ファイルの拡張子は不要です。
 ※ hosts.txt では動作しませんので、ご注意ください。

・Windows2000の場合
 C:\WINNT\system32\drivers\etc\hosts

・WindowsXPの場合
 C:\Windows\system32\drivers\etc\hosts

・Macintosh OS-Xの場合
 /etc/hosts というファイルを用意します。

・Macintosh OS-X以外の場合
Hostsファイルの記述内容が異なります。
以下のように記述してください。(破線は不要です)

-----------------------------------
www.***.jp A ***.***.***.***
***.jp A ***.***.***.***
-----------------------------------
書式は、 ホスト名 A IPアドレス となります。

Hostsファイルの設置場所はどこでも構いません。
(慣習的に“システムフォルダ”に保存するケースが多いようです)

なお、ご利用のMacintoshがHostsファイルを認識しない場合は、
以下の手順でご設定ください。

1.) アップルメニュー → コントロールパネル → TCP/IP を開きます。
2.) Hosts ファイルの選択ボタンを押し、(無い場合は、メニューバーの
編集 → 利用者モード を選択し、“詳しい情報も表示”に切り替えます。)
3.) 上記で保存したファイルを選択します。
4.) TCP/IP を保存して閉じます。

※万一、保存した状態でも有効にならない場合には、再起動を
  お試し下さい。


DNS情報の切り替えが完了しましたら、上記設定したファイルは不要です。
追加した記述を(新規作成した場合はファイルを)削除してください。

Q. SSIが動作しません

以下の点をご確認ください。

・SSIを利用するページの拡張子が .shtml となっているかどうか。

・SSIで呼び出されるスクリプトに実行権限があるかどうか。
  例:パーミッション属性を755

・SSIで呼び出されるスクリプト内に相対パス表記がある場合、
  そのスクリプトからのパスを正しく設定しているかどうか。

・SSIで呼び出されるスクリプトに Content-type が入っているかどうか。
  例:print "Content-type: text/html\n\n";


Q.CGIが Internal Server Error になります

お客さまでご用意いただいたCGIの場合、弊社では動作保証はいたしかねますため、スクリプトの配布元にご相談ください。

なお、CGIを動作させるための一般的な事項として、以下をご確認ください。

・CGIファイルをASCIIモードでアップロードしているかどうか。
 バイナリーモードでは不具合が生じる可能性があります。

・CGIのパーミッション属性(PlanManagerのファイルマネージャでは
 モードと呼んでいます)が正しく設定されているか。
 一般的には755あるいは750で動作いたします。

・お客さま領域に.htaccessが設置されていないか。
 .htaccessが影響している場合がありますので、名称変更等をおこない
 改善するかご確認ください。
  ※iクラスタプランでは、ファイル制御に関する表記には対応して
   いないため、Internal Server Error となります。

Q.サーバーのドキュメントルート(絶対パス)を教えてください

ドキュメントルート(Document root)は、お客さまによって異なりますため、以下のCGIスクリプトを、env.cgi 等の任意の名称で保存して設置し、ファイルにアクセスしてご確認ください。

-------------------------------------------------
#!/usr/bin/perl

print 'Content-Type: text/html', "\n\n";
print '', $ENV{'DOCUMENT_ROOT'}, '';
exit;
-------------------------------------------------

パーミッション属性(ファイルマネージャでは“モード”といいます)は、
755または750と設定してください。


 ※i-01プランでは独自CGIに対応していないため、ご利用いただけません。

Q.Perlで利用可能なモジュールを教えてください

お客様の PlanManager よりご確認いただけます。

ユーティリティ”メニューの“Perlモジュール検索”にて、Net::Ping や
File::Find のように「カテゴリ::モジュール名」の形式でご入力ください。

※i-01プラン、Web領域がないプランでは、お客様にてご用意いただきました CGI はご利用いただけません。

Q.SSI は利用できますか

iー01プラン以外のWeb領域が使用可能なプランでお客様にてご用意頂きました SSIがご利用可能です。

拡張子を shtml にして頂くだけで SSI のご利用が可能です。
exec 以外にも flastmode や include 等もご利用いただけます。

なお、サーバに負荷を掛ける CGI や不正なスクリプトを読み込む SSI を
ご利用になった場合、そのスクリプトの取り扱いについて、別途ご相談させて
いただく場合もありますので、予めご了承ください。

なお、弊社サーバの仕様により、パラメータは渡せません。

使用できる呼び出しの例
<!--#exec cgi="count.cgi"-->

使用できない呼び出しの例
<!--#exec cgi="count.cgi parameter"-->
<!--#exec cgi="count.cgi?parameter"-->


Q.設置できないCGI等、サーバ利用時の制限はありますか

チャット、検索エンジンは禁止させて頂いています。

こらら以外にも、サーバーに高い負荷をかけるものであれば、ご利用を制限させていただく場合があります。

※i-01プラン、Web領域がないプランでは、お客様にてご用意いただいた CGI はご利用いただけません。

Q.PEARライブラリーは使えますか

初期状態では入っていないため、お客さまにて独自にインストールいただく必要があります。

共有ホストにおける PEAR のローカルコピーのインストール
<ftp を使用したインストール>
http://pear.php.net/manual/ja/installation.shared.php

インストールしたライブラリーを利用するには、インクルードパスをphp.iniで
指定する必要があります。
絶対パスの確認方法はこちらをご覧ください。

php.ini記述例(?の部分には数字が入ります。)
 include_path = /home/vuser/?/?/??????/www.[ドメイン名]/[PEARライブラリーのパス]/


なお、上記以外の情報についてや、動作不具合についてはご案内いたしかねますため、参考書籍等でご確認くださいますようお願いいたします。

Q.flock 関数は使えますか

iクラスタでは、クラスタリング環境となっており、
flock, fcntl 等のロックは機能しません。

symlink, mkdir 等での代用いただくようお願いします。
   

Copyright 1995-2016. iCS. All rights reserved.一般第二種電気通信事業者 A-12-3740