これまでこの方法を知らなくて、ファイルをアップロードする都度ユーザーをapache→ftpに切り替えて対応していました。思えば面倒な作業を仕方がないと割り切ってこなしていたのですね・・・。
どうやら、suEXECを使うとそういった面倒くさい状況を解決することが出来るようです。早速こちらのエントリーを参考に対応してみました。
[Apache] CGI 使うなら suEXEC 設定しとこ参照先のエントリーがなくなると困ってしまうので、自分向きの備忘録として残しておこうと思います。
環境
サーバOSはCentOS5.7apacheのバージョンは3.2.22
ユーザーの追加
# useradd mtusaer # passwd mtusaerグループとユーザーを変更
# chown mtusaer:mtusaer -R /var/www/cgi-bin/mt # chown mtusaer:mtusaer -R /var/www/html/mtsite/実行権限を付与
find /var/www/cgi-bin/mt -maxdepth 1 -mindepth 1 -type f -name "*.cgi" | xargs chmod +xapacheの設定を変更
‹VirtualHost *:80› ServerName gom.560days.com DocumentRoot /var/www/html/mtsite ScriptAlias /cgi-bin/ "/var/www/cgi-bin/mt/" # 追加 SuexecUserGroup mtusaer mtusaer ・ ・ 【省略】 ・ ・ ‹/VirtualHost›サーバー再起動
# /etc/init.d/httpd restart
私の場合SFTPで接続するので、ssh許可ユーザーにmtuserを追加してあげれば、権限やらを細かく設定しなくても問題なくcgiが動き、css等のファイルアップロードも出来るようになりました。これは便利ですね。この設定は利用させていただこうと思います。