CGIについて(FAQ)
標準CGI
1.
CGI管理画面に入れません
2.
アクセスカウンタをホームページに貼り付ける方法を教えてください
3.
アクセスカウンターのタグがそのまま表示されてしまう
4.
アクセスカウンタを隠したい
5.
掲示板にアクセス制御をかけられますか
6.
複数のフォームを設置することはできますか
7.
フォームメールで自分の用意したthanks画面を表示させたい
8.
フォームメールの項目の追加ができますか
9.
フォームメールに項目を追加したが、確認画面に出てきません
10.
提供CGIをカスタマイズできますか
11.
フォームメールで複数のメールアドレスを送信先として設定したい
12.
_cgidata フォルダを誤って削除してしまいました
CGI
1.
自分で用意したCGIはどのディレクトリに設置すればいいですか
2.
CGIを作りたいのですが、コマンドのパスやバージョンを教えてください
3.
サーバーのドキュメントルート(絶対パス)を教えてください
4.
CGIが Internal Server Error になります
5.
Perlで利用可能なモジュールを教えてください
6.
自分で用意した.htaccessファイルは使用できますか
7.
入っていないPerlモジュールを自分でインストールできますか
8.
SSI は利用できますか
9.
mail関数は使えますか
10.
PHPで作成したページが動作しません
11.
コマンドスケジューラ(cron)が動作しません
12.
php.iniファイルを独自に設置できますか
13.
PEARライブラリーは使えますか
14.
SSIが動作しません
15.
Macintoshでhostsファイルが認識されない
16.
cron は利用できますか
17.
telnetは利用できますか
標準CGI
Q.
CGI管理画面に入れません
A.
1)「ドメイン管理者」または「サイト管理者」でログインしていない
管理画面へは、「ドメイン管理者」および「サイト管理者」の権限であるユーザーでログインする必要があります。ログイン時のドメイン名、ログインID、パスワードをご確認ください。
※2011年7月22日(金)より、開通通知記載のログインID・パスワードでのご利用も可能になりました。
「ドメイン管理者」「サイト管理者」いずれかのユーザー追加・削除を行い、再度ログインし直していただくことで、開通時のログインID・パスワードでもログイン可能となります。
2)_cgidataを削除してしまっている
_cgidataは、ユーザーを作成した場合に作られます。これは手動で削除可能となっていますが、削除されますと管理画面へ入れなくなりますので、復旧する必要がございます。
復旧方法
1.[ユーザー管理MENU]に契約者アカウントでログイン
2.ユーザー管理 >> ユーザー編集 に進み、
ドメイン管理者、またはサイト管理者の右側の[編集]ボタンを押します。
3.一度一般ユーザーで設定を保存し、再度同様の手順で権限を戻します。
3)ディスク容量を超過している。 ディスク容量が一杯である場合、管理画面に入れません。
以下のメニューからディスクの使用状況を確認してください。
ユーティリティ >> ディスク使用量設定 なお、サーバー移転やプラン変更で、ドメイン名での接続がおこなえない場合、CGI管理画面に入ることはできませんので、サーバーの切り替えが完了しましてから設定をおこなっていただくようお願いいたします。
Q.
アクセスカウンタをホームページに貼り付ける方法を教えてください
A.
オンラインマニュアルでご案内しております。
こちら
をご覧ください。
Q.
アクセスカウンターのタグがそのまま表示されてしまう
A.
ホームページ作成ソフト等を利用してタグを貼り付けると、ソフト側で自動的に書き換えられてしまうことがあります。
テキストエディタでHTMLソースを編集するようにしてください。
Q.
アクセスカウンタを隠したい
A.
管理画面から生成されたカウンターソースに"&sh=N"を追加記述することでカウンターを非表示にすることが可能です。
例
<img src="http://www.example.jp/freecgi/AccessCounter/index.cgi?df=00">
↓
<img src="http://www.example.jp/freecgi/AccessCounter/index.cgi?df=00&sh=N">
カウンタの数値は、管理管理の画像 (現在値)からの確認が可能です。こちらの作業はサポート外となりますので、お客さまの自己責任でお願いします。
Q.
掲示板にアクセス制限をかけられますか
A.
簡易掲示板、スレッド式掲示板でアクセス制限が可能です。
[ユーザー管理MENU] >> ウェブコントロール >> 標準CGI >> に進み、契約ドメイン名を クリックすると標準CGI管理ページに進みます。
■アクセス制限設定方法
新規設置を行った後、基本設定 の「ユーザー制限の設定」欄にある、「使用する」に設定してご利用ください。
ユーザーリストに、ID・パスワードを入力、設定していただくことで、簡単にアクセス制限が行えます。
Q.
複数のフォームを設置することはできますか
A.
フォームメールの数に制限は設けておりません。
CGI管理画面のフォームメールの "フォームメールの新規作成" より可能です。また、基本設定が同じフォームの場合は、生成されたフォームを編集し、別の名前で保存することにより複数設置することが可能です。
Q.
フォームメールで自分の用意したthaks画面を表示させたい
A.
お客さまで用意されたthanks画面を使用することはできません。
変更いただけるのは、初期設定項目にあるメッセージのみとなります。
Q.
フォームメールの項目の追加ができますか
A.
フォームメールの設定方法については以下のURLで ご案内しておりますのでご確認ください。
■フォームメールの設定方法
こちらをご覧ください
また、フォームメールの項目を追加したい場合の詳細につきましては、以下をご参考いただきますようお願いします。 項目を追加する場合には、標準CGI管理ページで作成したフォームメールファイルの直接編集が必要です。その為、作成したファイルをお客様のパソコンにダウンロード後 エディタで編集していただく必要がございます。編集の一例として以下に記載しますので併せてご参考ください。
※提供CGIのフォームメールは、文字コードがEUCで作成となっています。
その為編集いただく場合、EUCに対応したテキストエディタ等で作業いただきませんと、文字化けが発生しますのでご注意ください。
※htmlの記述方法等についてはサポート対象外となっておりますので、ご了承ください。
例)
「名前」の次の入力項目として「ふりがな」を必須項目として追加した場合
※赤字が追加したhtmlタグです。
■1-1 初期設定項目に「ふりがな」の項目を追加します。
<!-- フォームに関する設定 (フォーム名:別名:必須入力) -->
<input type="hidden" name="_label_" value="name:名前:required">
<input type="hidden" name="_label_" value="name2:ふりがな:required">
<input type="hidden" name="_label_" value="zip:郵便番号"> … … …
■1-2 フォームで表示される「ふりがな」の項目を追加します。
<table border="1" class="input">
<tr> <th>名前 (必須)</th><td><input type="text" name="name" size="40"></td> </tr>
<tr> <th>ふりがな (必須)</th> <td><input type="text" name="name2" size="40"></td> </tr>
<tr> <th>郵便番号</th> <td><input type="text" name="zip" size="10"></td> </tr> … … …
例)
テキストの入力項目ではなく、ラジオボタン等を追加することも可能です。
上記の例に続けて、「ふりがな」の下に「性別」のラジオボタンを追加します。
■2-1. 初期設定項目に「性別」の項目を追加します。
<!-- フォームに関する設定 (フォーム名:別名:必須入力) -->
<input type="hidden" name="_label_" value="name:名前:required">
<input type="hidden" name="_label_" value="name2:ふりがな:required">
<input type="hidden" name="_label_" value="select_1:性別">
<input type="hidden" name="_label_" value="zip:郵便番号"> … … …
■2-2. フォームで表示される「性別」の項目を追加します。
<table border="1" class="input"> <tr> <th>名前 (必須)</th> <td><input type="text" name="name" size="40"></td> </tr>
<tr> <th>ふりがな (必須)</th> <td><input type="text" name="name2" size="40"></td> </tr> <tr>
<th>性別</th> <td><input type="radio" name="select_1" value="男性">男性 <input type="radio" name="select_1" value="女性">女性</td> </tr>
<tr> <th>郵便番号</th> <td><input type="text" name="zip" size="10"></td> </tr> … … …
項目追加後、該当ファイルをアップロードして、ウェブブラウザより表示をご確認いただきますようお願いいたします。
また、その他のHTML記述につきましては、弊社のホームページ上に参考サイトへのリンクを掲載していますのでご参照いただくか関連書籍にてお調べいただきますようお願いいたします。
Q.
フォームメールに項目を追加したが、確認画面に出てきません
A.
項目を追加した場合、以下の設定タグを追記する必要があります。
<!-- フォームに関する設定 (フォーム名:別名:必須入力) -->
設定の例(「好きな色」を必須で追加する場合)
<input type="hidden" name="_label_" value="color:好きな色:required">
こちらをご参考ください。
Q.
提供CGIをカスタマイズできますか
A.
プログラム部分であるCGIスクリプトをカスタマイズすることはできません。
提供CGIでは、入力やCGIの処理の結果を表示するHTMLファイルから、CGIスクリプトに処理を伝達いたします。
そのため、入力・表示用の画面についてはお客様にてカスタマイズ可能ですが、実際に処理を行う CGIスクリプト自体はシステム領域で保持しているため、カスタマイズは行えません。
お客様領域内に保存されているcssファイルなど設定ファイルに関しましては、カスタマイズすることが可能ですが、管理画面以外からの作業になりますので、弊社サポートの対象外となります。直接編集する際は元に戻せるよう、バックアップを取って頂くなどご注意ください。
Q.
フォームメールで複数のメールアドレスを送信先として設定したい
A.
弊社提供のフォームメールは、複数のメールアドレスに送信できるように 作られておりません。 [ユーザー管理MENU]でフォームメールの宛先用のメールアドレスを作成し、そのメールアドレスの転送設定で、複数の転送先を設定していただければ複数の宛先にすることが可能です。
Q.
_cgidata フォルダを誤って削除してしまいました
A.
サイト管理者、あるいはドメイン管理者を一度一般ユーザーに変更し、再度戻すことで自動的に_cgidataフォルダが作成されます。
_cgidata内に保存されていた提供CGIの設定ファイル等は復旧されませんので、新規に設定が必要となります。
CGI
Q.
自分で用意したCGIはどのディレクトリに設置すればいいですか
A.
CGIを動作させるディレクトリに指定はありません。
なお、ITPARKではセキュリティーを重視した設計となっている為、Apache は suEXEC モードで動作をしています。
その関係上、ディレクトリーならびにファイルのパーミッション属性にご注意ください。
・CGI スクリプトを置くディレクトリ : 755
・CGI スクリプト : 750(755 も可)
一般ユーザーの領域内(Homeディレクトリ)では、CGIやPHPは動作しませんのでご注意ください。
Q.
CGIを作りたいのですが、コマンドのパスやバージョンを教えてください
A.
それぞれ下記のようになります。
<コマンドのパス>
・Perl:
/usr/bin/perl ( /usr/local/bin/perl も使用可能)
・sendmail:
/usr/sbin/sendmail
・nkf:
/usr/bin/nkf
・PHP:
/usr/local/php/bin/php (/usr/local/php5/bin/php も使用可能)
<バージョン>
・Perl :5.8.5
・PHP :5.2.9
※[ユーザー管理MENU] へアクセスして、“ユーティリティ”項目の“コマンド検索”でサーバー内で使用可能な外部コマンドを検索することができます。
Q.
サーバーのドキュメントルート(絶対パス)を教えてください
A.
/home/vuser/X/X/XXXXXXX/www.お客さまドメイン名/
ドキュメントルート(Document root)は、上記になります。X の部分がお客さまによって異なりますため、実際のドキュメントルートに関しましては、以下のCGIスクリプトを、env.cgi 等の任意の名称で保存して設置し、ファイルにアクセスしてご確認ください。
(実際表記を行う際、破線は必要ありません)
-------------------------------------------------
#!/usr/bin/perl
print 'Content-Type: text/html', "\n\n";
print '', $ENV{'DOCUMENT_ROOT'}, ''; exit;
-------------------------------------------------
パーミッション属性(ファイルマネージャでは“モード”といいます)は、755または750と設定してください。 PHPINFO等でルートを確認した場合、/home/〜 ではなく /lvmXX/〜 と表示されることがございます。こちらでも基本的には問題ございませんが、 /home/〜 と記述をしていただきますと、今後、ドキュメントルートのパスに、変更あった場合 でもそのままご利用可能となっております。/home/〜 での記述をお奨めします。
Q.
CGIが Internal Server Error になります
A.
お客さまでご用意いただいたCGIの場合、弊社では動作保証はいたしかねますため、スクリプトの配布元にご相談ください。
なお、CGIを動作させるための一般的な事項として、以下をご確認ください。
・CGIファイルをASCIIモードでアップロードしているかどうか。
バイナリーモードでは不具合が生じる可能性があります。
・CGIのパーミッション属性([ユーザー管理MENU]のファイルマネージャでは モードと呼んでいます)が
正しく設定されているか。
一般的には755あるいは750で動作いたします。
Q.
Perlで利用可能なモジュールを教えてください
A.
お客様の[ユーザー管理MENU] よりご確認いただけます。 ユーティリティ”メニューの“Perlモジュール検索”にて、Net::Ping や File::Find のように 「カテゴリ::モジュール名」の形式でご入力ください。
Q.
自分で用意した.htaccessファイルは使用できますか
A.
ご利用可能ですが、ファイル制御に関する表記には対応しておりません。
ご利用可能なディレクティブは「AuthConfig」と「Limit」「DirectoryIndex」のみとさせていただいております。
ディレクティブに関しては、Apacheの公式サイト等でご確認ください。
Q.
入っていないPerlモジュールを自分でインストールできますか
A.
ITPARKでは、root権限をお渡ししませんので、
モジュールの追加をお客様側で行うことはできません。
また、現在導入されていないモジュールの追加は承りかねますことをご了承ください。
Q.
SSIは利用できますか
A.
拡張子を shtml にして頂くだけで SSI のご利用が可能です。
exec 以外にも flastmode や include 等もご利用いただけます。なお、サーバに負荷を掛ける CGI や不正なスクリプトを読み込む SSI をご利用になった場合、そのスクリプトの取り扱いについて、別途ご相談させて いただく場合もありますので、予めご了承ください。なお、弊社サーバの仕様により、パラメータは渡せません。
使用できる呼び出しの例
<!--#exec cgi="count.cgi"-->
使用できない呼び出しの例
<!--#exec cgi="count.cgi parameter"--><!--#exec cgi="count.cgi?parameter"-->
Q.
mail関数は使えますか
A.
ご利用いただけます。
不特定多数の方にメールを配信する仕組み、ならびにSPAMメールと受け取られる恐れのあるメール配信はご遠慮ください。
Q.
PHPで作成したページが動作しません
A.
拡張子を.phpとし、転送モードはASCIIモードにてしてご利用下さい。(BINARYモードは不可)
エラーが表示される場合はその表示をもとに記述をご確認いただくようお願いいたします。
記述に関するお問い合わせにはお答えいたしかねますことをご了承ください。
Q.
コマンドスケジューラ(cron)が動作しません
A.
コマンドスケジューラ(cron)が動作しない場合以下をご確認ください。
・コマンドスケジューラで指定したコマンドパスが間違っている場合
⇒指定するスクリプトまでのパスはお客さまの Webのホームディレクトリーからの相対パスで設定してください。
【設定例】
www.example.com/test.cgi
・パーミッションが間違っている場合
⇒スクリプトのパーミッションは755で設定してください。
・スクリプト内部で、相対パスでファイルや ディレクトリーを指定されている場合
⇒ウェブブラウザーから動作させるCGIとは異なり絶対パスで指定する必要があります。
・PHPを実行できない場合
⇒PHPを実行いただく場合、phpファイルの1行目にコマンドパスを記述する必要があります。
#! /usr/local/php/bin/php
(#!/usr/local/php5/bin/php でも可)
また、パーミッションはオーナーに実行権限をつけてください。
例:755
⇒PHPファイルに関しましては、拡張子を.phpとし、転送モードはASCIIモードにてご利用下さい。
(BINARYモードは不可) エラーが表示される場合はその表示をもとに記述を
ご確認いただくようお願いいたします。
記述に関するお問い合わせにはお答えいたしかねますことをご了承ください。
Q.
php.iniファイルを独自に設置できますか
A.
設置可能です。 php.iniファイルがお客様領域に存在する場合は、そちらが優先されます。
php.iniファイルの設定を有効にしたいディレクトリに設置してください。
※全ての設定変更を保証するものではありませんのでご了承ください。
Q.
PEARライブラリーは使えますか
A.
初期状態では入っていないため、お客さまにて独自にインストールいただく必要があります。
共有ホストにおける PEAR のローカルコピーのインストール
<ftp を使用したインストール>
http://pear.php.net/manual/ja/installation.shared.php
インストールしたライブラリーを利用するには、インクルードパスをphp.iniで指定する必要があります。
絶対パスの確認方法はこちらをご覧ください。
php.ini記述例(?の部分には数字が入ります。)
Q.
SSIが動作しません
A.
以下の点をご確認ください。
・SSIを利用するページの拡張子が .shtml となっているかどうか。
・SSIで呼び出されるスクリプトに実行権限があるかどうか。
例:パーミッション属性を755
・SSIで呼び出されるスクリプト内に相対パス表記がある場合、そのスクリプトからのパスを正しく設定しているかどうか。
・SSIで呼び出されるスクリプトに Content-type が入っているかどうか。
例:print "Content-type: text/html\n\n";
Q.
Macintoshでhostsファイルが認識されない
A.
MacintoshのOS9以前のバージョンをご利用の場合アップルメニュー ⇒ [コントロールパネル] ⇒ TCP/IPを選択します。
TCP/IP設定画面が開きますので、編集 →「利用者モード」で詳細も設定できるように変更し、hostsファイルの選択で、作成したファイルを選択してください。表記が正しくない場合はエラーメッセージが表示されます。
Q.
cron は利用できますか
A.
telnet/sshでの接続は許可をしておりません。
cron機能にあたる"コマンドスケジューラ"をご用意しております。
[ユーザー管理MENU]のユーティリティの "コマンドスケジューラ" より設定が可能です。
なお、"コマンドスケジューラ" の実行によってサーバーリソースの消費が著しいなど、サーバーに高負荷がかかる運用方法の場合、 レスポンス低下等の、サーバートラブルの誘発が懸念されます。
このような場合、該当の "コマンドスケジューラ" のお取り扱いにつきましてご相談させていただくこともございますので、予めご了承ください。
Q.
telnetは利用できますか
A.
セキュリティー確保の観点から、telnet接続は行えないようになっております。