このブログ (WordPress 2.9.2) に Ktai Entry プラグインを入れて,モブログ環境を整えた。詰まったところをメモしておく。
ktai_entry を wp-content/plugins/ ディレクトリに放り込んで,管理画面から有効にする。
受信するメールアドレスの .forward を編集。
$ vi /home/sites/XXXX/users/YYYY/.forward
"| /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php"
試しにメールを送ってみると,エラーが返ってきた。
----- The following addresses had permanent fatal errors -----
| /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php
(reason: Service unavailable)
(expanded from: <yyyy @XXXX>)
----- Transcript of session follows -----
smrsh: "inject.php" not available for sendmail programs (stat failed)
554 5.0.0 Service unavailable</yyyy>
よくわからないので,コマンドラインで実行してみた。
$ /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php
PHP Warning: require(): open_basedir restriction in effect. File(/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php) is not within the allowed path(s): (/tmp/:/var/lib/php/session/:/usr/share/pear/) in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27
PHP Warning: require(/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php): failed to open stream: Operation not permitted in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27
PHP Fatal error: require(): Failed opening required '/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27
なるほど open_basedir の影響らしい。そこで .forward を次のように変更し,open_basedir に WordPress のディレクトリを指定することで解決した。
$ vi /home/sites/XXXX/users/YYYY/.forward
"| /usr/bin/php -d open_basedir=/home/sites/XXXX/web/blog/ /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php
コメント