MilkyStep Official Community

メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。

install.cgiにアクセスするとソースがそのまま表示される(カゴヤVPS)

ミルキーステップ様。いつもお世話になっております。

クラウドVPSにてFTPサーバーを利用してミルキーステップの設置を試みています。

カゴヤのサポートに聞いたところサポート対象外と返され、こちらで質問させて頂いた次第です。

FTP、web、PHP、Apache、perl、MySQL、crontabなどは最新バージョンがインストール済で動作確認済です、

●【KAGOYAのサポートページを参考に試したこと】

KAGOYAの以下のサイトの手順にそって

カゴヤのサイトのCGIの設定方法を参考に
http://support.kagoya.jp/manual/cgi/cgi.html

FileZillaでアップロードし、TeraTermから操作しています。

しかし
http://(カゴヤのURLドメイン)/ms/install.cgi
で実行しても、「ブラウザにCGIファイルのソースのみが表示」されてしまいます。

/home/アカウント/public_html 以下にCGIファイルを設置し、
「テキストモード(アスキーモード)」でミルキーステップのファイル類をアップロードしました。

それをちなみに一度削除して、「バイナリモード」や「自動」でのアップロードも試しましたが変化ありませんでした。

Perlは設定通り
#!/usr/bin/perl
に合わせてあります。

CGI側の設定も同じです。

cgiのパーミッションは755です。

マニュアルには700推奨とありましたが、suexec下なのでパーミッションが変わるのでフォルダからCIGファイルまで755ですべて設定しました。
(マニュアルには755や705では動作しない場合もあるとのことですが・・・)

suexecの以下↓も試して

Forbiddenが表示される
中身(ソース)が表示される
http://www.cside.jp/SP_pri/cgi/trouble/tro01.html

public_html下であること、フォルダ名がcgiやcgi-binなどで専門フォルダと重複してないこと、なども確認済みです。

ファイルの文字コードは「utf8」です。

vi /etc/httpd/conf/httpd.conf

/etc/rc.d/init.d/httpd restart
でhttpdの再起動によるApacheの再起動

chkconfig httpd on

まで組み合わせて行いましたが、CGIのソースがそのままブラウザに表示されて
しまうだけです。

パーミッションを755から変更して
700だとソースがそのまま表示
705だと「403 Forbidden」でした。

●【その他のサイトを参考に試したこと】

同じような事例が以下のサイトにあったので、
CGIを表示するとソースがそのまま表示される
http://centossrv.com/bbshtml/webpatio/2496.shtml

それにそってhttpd.confに

Options Includes ExecCGI FollowSymLinks
AllowOverride All

AddHandler cgi-script .cgi .pl

を書き加えてみたのですが、Internal Server Errorになってしまいました。
(もちろんその後、httpdの再起動によるApacheの再起動しています)

そもそも
AddHandler cgi-script .cgiを有効にすると「403 Forbidden」になってしまいます。
(ソースが表示されることはなくなりますが・・)

パーミッションを777などに変えてみてもダメでした。

さくらサーバー共有では動作して使えているのですが・・・。

さくらサーバーと同じような状況の場合.htaccessの最初のOptions -Indexes +ExecCGIに#を入れ
て再アップロードすると使えることもあるので、試してみたのですが、
やはりソースが表示されるだけで変化はありませんでした。
(もちろんその後、httpdの再起動によるApacheの再起動しています)
(参考サイト)
http://milkystep.com/ms_poc/?p=2516

その他、設定等は説明書通りで問題ないはずなので、おそらくhttpd.confの問題
か、CGIのパーミッションの問題かと思うのですが・・

もちろん:w、:qで更新保存するなど変更ごとに細かく確認しています。

まとまりのない文章で恐縮ですが、教えていただけたら幸いに存じ上げます。

月, 9月 22 2014 » 初期設定関連

3 Responses

  1. Igreks.Inc 9月 25 2014 @ 4:09 PM

    平素はMilkyStepをご利用いただきありがとうございます。

    suexecは、決められたユーザが所有する特定のCGI以外を実行できないようにする、WEBサーバ(apache)の機能です。

    Forbiddenになる場合は、まず最初にsuexecのログをご確認ください。
    たいていの場合、ログのパスは「/var/log/httpd/suexec.log」になります。

    suexecを利用する場合は、たいていWEBサーバの設定ファイル(httpd.confなど)に、
    「SuexecUserGroup “グループ名” “ユーザ名”」
    「SuexecUserGroup “ユーザ名” “グループ名”」
    の記述があるはずです。

    一般的には、ドキュメントルートのディレクトリ、CGIを設置しているディレクトリ、そのサブディレクトリ、中身のCGIファイルが、すべて上記のユーザの所有になっている必要があります。

    VPSの場合は、上記に記述されているユーザ名がデフォルトで他のものになっていたり、もともとあるディレクトリの所有者がデフォルトで他のユーザになっている場合もありますので、上記設定ファイルの記述、およびそれぞれのディレクトリ・CGIファイルの所有者を確認してください。

    ご参考)
    http://server-setting.info/centos/apache_suexec_php.html

    なおsuexecを適切に管理できない可能性がある場合や、VPSをレンタルサーバとして第三者に提供しない場合などは、suexecを機能させることにあまりメリットは無く、その他の大きな問題が発生(今回のようにCGIが動かない、など)することがありますので、suexec自体を無効にしていただくことをお勧めします。

    ご参考)
    「SuexecUserGroup “ユーザ名” “グループ名”」の行をコメントアウトしてWEBサーバ再起動
    または
    http://blog.netandfield.com/shar/2008/08/suexec.html

    なお質問時は、極力雛型に沿った形でご投稿いただきますようお願いいたします。

  2. tokyenea 11月 11 2014 @ 6:51 PM

    アドバイスありがとうございます!

    数ヶ月の試行錯誤の結果、以下のページで紹介されていたパーティションなどを書き換える方法で解決しました。

    (参考)
    kgoya VPSでCGIがソースのみ表示されるだけ対処法:ネット衆善奉行
    http://p2pzen.com/vps/kgoya-vps-cgi-error/
    kagoya VPSでのモジュール類インストールまとめ
    http://p2pzen.com/vps/kagoya-vps-module/

    重ねますがありがとうございます。

  3. Igreks.Inc 11月 14 2014 @ 11:02 AM

    tokyenea 様

    このたびは詳細なご報告をありがとうございました。

    引き続きMilkyStepをよろしくお願い申し上げます。

Login