サポートトップ » GMOクラウド 専用サーバー トップ » Plesk11
Plesk搭載サーバーでCGIを稼動させるまでの設定についてご案内します。非常にシンプルなCGIをサンプルとして用いていますが、複数の処理・ファイルが絡む場合などは別途設定が必要になることがあります。詳細については各種CGIの開発元・配布元が公開しているヘルプガイドやマニュアルをご参照ください。
Plesk上で設定したドメイン名でCGIを利用するためには、ドメイン名毎に設定を行う必要があります。設定は下記項目より行います。
[契約]メニューにある該当ドメイン名の[コントロールパネルで開く]をクリックし、[ウェブサイトとドメイン]をクリックします。続いて、下記の画面にある該当ドメイン名をクリックしてください。
「CGIサポート」にチェックが入っていれば、利用可能です。もし入っていない場合は、チェックをいれて[OK]をクリックしてください。
CGIディレクトリの場所
どのディレクトリーにcgiファイルをアップするかの設定です。
ウェブスペースのルートディレクトリ ディレクトリー : /var/www/vhosts/ドメイン名/cgi-bin
既存の/cgi-binディレクトリーにcgiファイルをアップします。
なお、このディレクトリーは同一契約内で作成したドメイン名、及びサブドメイン名と共通のディレクトリーとなります。異なるcgiファイルを設置する場合は、「このドメインのドキュメントルート」をご選択ください。このドメインのドキュメントルート ディレクトリー : /var/www/vhosts/ドメイン名/httpdocs(*)/cgi-bin
*/httpdocsもしくは/site1など、ドメイン名設定時に指定したドキュメントルートのパスのこと
ドメイン名のドキュメントルートの配下に/cgi-binディレクトリーを作成し、cgiファイルをアップします。/cgi-binディレクトリーは自動では生成されません。なお、作成する/cgi-binディレクトリーは、以下のパーミッション設定を行ってください。
パーミッション : 755
所有者 : 該当ドメイン名のFTPログイン名
所有グループ : psacln※[/cgi-bin]以外のディレクトリでCGIを利用するには、ドキュメントルート以下でCGIを利用する設定ガイドをご確認ください。
![]()
![]()
![]()
ここでは、以下のディレクトリーにCGIファイルをアップロードします。(ウェブスペースのルートディレクトリにアップロード)FTPなどを利用してCGIファイルをアップロードし、正常に表示されているかどうかをご確認ください。正常に表示されない場合には、パーミッション設定やCGIの記述内容をご確認ください。
※[/cgi-bin]以外のディレクトリでCGIを利用するには、ドキュメントルート以下でCGIを利用する設定ガイドをご確認ください。
ディレクトリー : /var/www/vhosts/ドメイン名/cgi-bin
サンプルとして、下記記述をしたCGIファイルをアップードし稼動確認をおこなっていますが、あくまでサンプルとして記載しているものであり、該当記述でCGIが正常動作することを保障するものではありませんのでご容赦ください。
ファイル名 | sample.cgi |
---|---|
パーミッション設定 | 755 |
ファイル転送モード | アスキーモード |
所有者 | 該当ドメイン名のFTPログイン名 |
所有グループ | psacln |
CGIファイル記述内容 | #!/usr/bin/perl print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>テスト</title>\n"; print "</head>\n"; print "<body bgcolor=\"#ffcccc\">\n"; print "CGIテスト\n"; print "</body>\n"; print "</html>\n"; |
ドキュメントルート(/httpdocs)以下でCGIを実行したい場合には、予め[.htaccess]ファイルを設置する必要があります。
以下内容の[.htaccess]ファイルをテキストエディタ等で作成し、[/httpdocs]へ設置してください。
アップ先ディレクトリー : /home/httpd/vhosts/ドメイン名/httpdocs
アップ内容:
-------------------------------ここから-------------------------------------------
AddHandler cgi-script .cgi (必要に応じて.plを追加してください)
Options ExecCGI
-------------------------------ここまで-------------------------------------------
設置後、ドキュメントルート(/httpdocs)以下にCGIファイルをアップし、正常に表示されるかご確認ください。
CGIが正常に動作しない場合には、下記をご確認ください。
パーミッションの確認
CGIを実行する場合は、ファイルのパーミッション(権限)に注意する必要があります。HTMLファイル(拡張子が.htmlや.htm)や画像ファイル(拡張子が.gif や .jpg)などの一般的なファイルのパーミッションは 644 ですが、CGIで扱うファイルは以下のようにパーミッションを指定する必要があります。
【パーミッション設定】
.cgi などの実行するプログラムファイル :755
.dat などの書き込みを行うデータファイル:666
また、パーミッションはファイルだけではなくディレクトリに対しても決まっていて、一般的なディレクトリのパーミッションは 755になります。もし、パーミッションが適切ではない場合、 以下のようにエラー(500 Internal ServerError)が発生し、正しくCGIを実行できませんので、 そのような状況の場合は適切にパーミッションを設定してください。![]()
![]()
![]()
※パーミッションの詳細に関しましては弊社ではサポートいたしかねる場合がございますので、 CGI関連の書籍やWebサイトにてご確認ください。
Perl、sendmail のパス
Perlで作成されたCGIを設置する場合、Perlのパスを正しく指定する必要があります。また、メール送信を行うCGIの場合、sendmailプログラムのパスも正しく指定する必要があります。以下のパスがPleskでの perl、及びsendmailのパスになりますので、CGIを設置する場合は以下のパスを指定してください。
【パス】
Perl : /usr/bin/perl
sendmail : /usr/sbin/sendmail
PHP : /usr/bin/php