@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

phpのsuEXEC化

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/07/30
投稿数: 7
投稿日時: 2007-10-19 16:33
お世話になります。

件名の通り、phpをCGIで動作させてsuEXEC化したいと考えています。

○やりたい事
・suEXECでphpを動かしたい(故にphpのCGI化も必須)
・1行目に#!/usr/bin/php等書かなくても良いようにする

○環境

  • CentOS5
  • apache2.2.3(rpm)
  • php5.1.6(rpm)


○現在の設定
2通りの設定で、それぞれ以下の事まで実現出来ました。

  • 共通の設定
     /usr/bin/php-cgiを/var/www/cgi-bin/にリンク


  • パターン1

    • 設定
       httpd.conf
      コード:
      AddHandler php-script .php
      Action php-script /cgi-bin/php-cgi


    • 出来た事
      phpのCGI化(#!/usr/bin/phpの記述不要)
      phpinfoを表示させたところ「Server API CGI/FastCGI」となっていました。
    • 出来なかった事
      suEXEC化(apacheで動作していました)

  • パターン2

    • 設定
       httpd.conf
      コード:
      AddHandler cgi-script .php


       php.ini
      コード:
      cgi.force_redirect = 0


    • 出来た事
      suEXEC化
      phpのCGI化
      パターン1と同様にphpinfoを表示させたところ「Server API CGI/FastCGI」となっていました。
    • 出来なかった事
      #!/usr/bin/php-cgiを記述する必要があった
    • 備考
      php.iniの設定無しでは動かなかった
      #!/usr/bin/phpでは動かなかった

なお、同じディレクトリに設置したperlスクリプトは問題なくsuEXECで動作しています。
(suEXECの確認はsuexec.log及びwhoamiを表示するphp・perlスクリプトで行っています)

レンタルサーバなどで同様のことを実現しているところもある様に思えるのですが、
実現方法をご存知の方がいらっしゃいましたら、ご教示頂けないでしょうか?
よろしくお願い致します。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2007-10-19 16:49
mod_suphpはだめですか?
_________________
桃李不言 下自成蹊
未記入
会議室デビュー日: 2007/07/30
投稿数: 7
投稿日時: 2007-10-19 17:13
anightsさま

早々のご返信どうもありがとう御座います。mod_suphpは知りませんでした。
検索したところ、多くは無いですが情報が有りましたので、試してみたいと思います。
未記入
会議室デビュー日: 2007/07/30
投稿数: 7
投稿日時: 2007-10-24 13:23
mod_suphpを導入した結果、無事にユーザ権限でphpを動かすことが出来ました。

また、mod_suphpでphp以外のCGIも動かせたのですが、suEXECで動作させた場合とは異なる点がありました。設定の不備によるものなのか分かりませんが、参考までにあわせてご報告しておきます。

・suEXEC
 ExecCGIが必要
 UserDir配下ではファイル所有者権限で動作、それ以外はapacheユーザで動作

・suphp
 ExecCGIは必要ない
 全てのディレクトリでファイル所有者権限で動作

要望は実現できたので、とりあえずは良しとします。anightsさま、ありがとう御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)