公式サイトに共有インストールの方法は書いてあったが、なぜか手順通りに作業しても「INCLUDE ERROR」というのが出て動作しない。
で、先日少し時間があったのでソースを見てみると、ドキュメントルートにserendipity_config_local.inc.phpが置いてないとダメな感じらしい。確かに公式サイトの共有インストールではバーチャルホストのドキュメントルートでやってたなぁ・・・、と今更気がつく。
でも、ブログ用にわざわざバーチャルホストを使うのはあまりにウザいので、ソースをハックすることにしました。ま、変更は簡単で、読み込んでいるindex.phpがあるのと同じディレクトリのserendipity_config_local.inc.phpを読むようにした。serendipity_config.inc.phpの165行目あたりにこんなのを挿入。
} elseif (file_exists(preg_replace('|[^/]+$|',
'serendipity_config_local.inc.php',
$_SERVER['SCRIPT_FILENAME']))) {
$local_config = preg_replace('|[^/]+$|',
'serendipity_config_local.inc.php',
$_SERVER['SCRIPT_FILENAME']);
ていうかドキュメントルートなんて見ないで初めからこうするのが合理的な気もするが、なんかセキュリティ的問題でもあるのだろうか・・・。現在sophtでは3ブログを共有モードに移行して今のところ順調に動いています。DB接続情報の入ったコンフィグファイルさえ読めれば、あとはDBベースで動作するので問題ないらしい。
とにかくこれでブログのバージョン管理が一元的にできるようになりました。よかったよかった。
コメント
vim でタブを使う
CleanArchiver alpha その3
surrounding について考える