まだまだカスタマイズの途中ではありますが、iswebベーシックで、PHPの機能を使うことができるようになったので忘れないうちに書いておくことにしました。
その必要性は、Individual Archive を修正した後リビルドすると、サーバーエラーが多くなり始めていたから。個別エントリのリビルドは、サーバーに高負荷を与えるらしいということをいろいろ検索していて知りった。あまりIndividual Archive をいじらない方は必要ないかもしれませんが、PHPのことを知ったお陰で、私はまたいろいろなことに挑戦したいと思いはじめたのです。
そしてコンピュータは全く無知な私が、このサーバー設定では大変な想いをしたので自分自身の覚書のためにと、手順をまとめておこうと思います。今回はまだ断片的ですが、そのうち一つにまとめようかと・・・
- iswebベーシックでのPHP機能詳細
iswebベーシックのMovaleType導入手順
ファイル名を .php という拡張子ではなく .cgiという拡張子にし、一行目に
#!/usr/local/bin/php
という記述をする
を変更しておく。
ブログのトップページに表示させるためには、htaccess というファイルが別に必要。
テキストエディタで以下の記述をし、ファイル名は isweb_htaccess.txt として保存する。
DirectoryIndex index.html index.htm index.php index.cgi
(改行なし)
FTP後は、サーバーにある isweb_htaccess.txt ファイルの名前を 、isweb_htaccess に変更。(拡張子無し) 【blog/】は、リビルドすると新しくindex.cgi が生成される場所で、それと同じ場所にアップするということ isweb_htaccessファイルは、サブフォルダまで有効。
.cgiという拡張子にするものは、インデックステンプレートでは、
Main Index (index.html)
Master Archive Index (archives.html)
Category Archive
Date-Based Archive
Individual Entry Archive
の合計5つのテンプレート。
を記述して、SAVE(保存)する。
.cgi 拡張子のついたファイルとなって新しく出来上がる。FTPソフトでその .cgi ファイルのパーミッションを全て、サーバーのCGI設定の通りに変更。
iswebベーシックでMTのPHP化その2は、インデックスファイルなどから切り離したPHPファイルについてと、それを代入する手順をまとめたいと思う。
それから他に、やりたいこと・・・・PHPのカウンター設置と、カテゴリページなど長くなるページの分割化。
11月16日追記
パーミッションがリビルドの度に戻ってしまう件について、iswebベーシックのサポートに今日質問したが、今日のうちに回答があった。
【状況】自分自身でリビルドする場合はすぐにパーミッションを変更できるが(それでも面倒いですが)、困るのは、第三者によるコメント投稿時。これはメインインデックスからコメント投稿する場合には、結果がすぐに表示されるのでコメントが完了したことを本人は確認できるが、アーカイブからのコメント投稿では、リビルドされてパーミッションが元に戻ってしまい500エラーとなり、投稿者本人は投稿が完了したことを確認できない。
メインインデックスに表示される日数のアーカイブなら、メインインデックスまで戻れば確認できるが、それ以前の古いアーカイブへのコメント投稿は、投稿が完了したかどうか、管理者の私がパーミッション変更するまで全く確認できないことになる。そこでリビルドしてもパーミッションが元に戻らない方法はないですか、と質問した。
【回答】
ご質問のような「リビルド時にパーミッションが元に戻ってしまう」場合、リビルド完了後にパーミッションを設定するよう、スクリプトを修正(改造)して頂くのはいかがでしょうか。パーミッションが元に戻ってしまう現象は、スクリプト側で古いものを一度削除している可能性があります(リビルドの為)。解決する方法としては、リビルド処理完了後に、スクリプト側でパーミッションを改めて設定するように修正する方法が考えられます。・・・・・後略
あちゃ~、そんな事言ったって私には専門的なことはわかりませんじゃ。スクリプトなんて分かりませんからネ。ということで私にはこの状況を解決できません。もし古いアーカイブにコメント投稿してくださる方があったら、500エラーとなりますが大抵は投稿が完了していると思いますので、悪しからずご了承ください。