pMachineメモ


さて、いろいろと tool がある中でなぜ pMachineにしようと思ったか、なんですが、MovableTypeをしばらく使って、「やっぱ便利やわ…」という感想に達し、いろいろ探した結果pMachine の存在を知り、(お、このサイトのtitleと頭文字が一緒じゃん)と思ったからです。p で m なところがね。

さっそくですが以下動作させるまでのメモ。 まずはこっからpMachine2.3(Free)のzipをダウンロード。(Permission が最初から設定された tar.gz の方がありがたかったのだが…)

んで http://www.pmachine.com/docs/installation.html を読む限り、PHP4 と MySQL が要るってことでその準備。(余談だけど、なんで blog tool は DBMS を使いたがるのだろう。MT でも DB から呼んだコンテンツ(とその管理情報)から静的なファイルを作ってたけど、同じ静的ファイルを作るだけなら、ファイルシステムから生成するのと処理コスト的に変わらないのでは。あ、DB のスキーマが固定的だと、自由フォーマットなファイルを読み込むのと違って変なファイルが混じった場合とかの例外処理を減らせるからかな)

以下、伸長すると pMachineFree2.3 と名乗るフォルダを$rootと置き換えます。

  1. $root/pm の下に updates というディレクトリがあるので消します。初めての人にはいらないのだそうだ。
  2. $root/pm/config.php を好きなテキストエディタでいじります。おや、二つほど MySQL 関連の設定項目がありますな。
    $dbusername
    $dbpassword

    これらを指定しないといけないってことは、pMachine 入れる前に MySQL の admin によってユーザーが作成されてないといけない。特に何も考えず install された MySQL であれば(商用サーバでそれはないだろうが…)
    $ mysql -uroot mysql
    で、user 情報を持つ db にアクセスできるので、そっから grant すればいいんだな。(OSのユーザーとMySQLのユーザーは独立してるからね。http://www.mysql.jp/mysql/Manual/ など参照)
    $language
    という variable が設定できる。DEFAULT LANGUAGE OPTION を決めるのだが、もちろん Japanese pack はないので English のままにしておく。(Japanese pack はちょっとだけ自作してみたが、よく考えたら俺しか使わないんだから、と途中で辞めた。)
    その他はほとんどいじらずともよさそうだ。
  3. $root/pm の名前を変えます。セキュリティ上、pMachine を知ってる人だと http://うんたら/pm が edit する場所だと知ってるからだ。ここでは $changed_pm としましょうか。
  4. 3. に伴って、いくつかある pm_inc.php をいじる必要があります。
    $script_directory_name = "pm";
    となってるところを、 $script_directory_name = "$changed_pm"; とするということね。探してみると、
    $root/calendar/pm_inc.php
    $root/members/pm_inc.php
    $root/pm_inc.php
    $root/search/pm_inc.php
    の4つについて変更がいるのね。変える場所は全部一緒だ。
  5. ここにきてやっと全部を upload します。*.css, *.php, *.txt は ASCII で、*.gif は bin で送る、と。たいていの ftp client なら自動でやってくれるかも。ncftp は自動だった。
  6. upload したあと、
    $root/images/uploads
    ディレクトリだけ chmod 777 します。telnet だけでなく、ftp client からもできたはず。
  7. $root/index.xml (RSSのファイルだ) だけ chmod 666 します。
  8. さて、このままだと全ての出力が iso-8859-1 になってしまうので、php 内の HTML の宣言部分を置換してあげます。俺は Shift_JIS でやることとしたので、
    's/iso-8859-1/Shift_JIS/g'
    の置換を、それぞれディレクトリのサブディレクトリ全てでやるといいから…えーと、どうすんだ?
    find . -name "*.php" -print | xargs -i perl -p -i.bak -e 's/iso-8859-1/Shift_JIS/g' {}
    ↑改行して見えるかもしれないけど一行でね
    で一発ドンだな。(本当は Windows-31J としたいが、ブラウザがわかってくれないため…)
    最後に、$root にて
    find . -name "*.bak" -exec rm -f {} \;
    とすると .bak は全部消えます。俺 find と xargs しか使わないのが癖になってるな。
  9. さて、ドキドキしながら http://うんたら/どこそこ/$root/$changed_pm/install.php をブラウザから呼び出します。 ここで何事もなくトントンと install の step が遷移していけばカンセーイ。
  10. http://うんたら/どこそこ/weblog.php が公開する本体になるのだけど、これだと URL がやぼったいので、$rootにて
    ln -s weblog.php index.php
    とリンク貼っちゃいましょう。んで、apache 側には、index.php が index として有効になるように、
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.shtml index.cgi index.htm index.php
    </IfModule>
    	
    なんて加えちゃいましょう。
  11. さて、日本語での記事投稿、コメント投稿がこれで有効になるのは確認できるはずです。こっからはテンプレいじりなんだけど、要するにどんなサイトにするのか決めてないとテンプレのいじりようもないですねえ。MT とのテンプレ編集の違いなんかもメモしたかったんですが。


ピカメケもどる| ピカサムシング