movable type の psgi 対応版をインストールする

順番が違う気がするが気にしない。
急にブログやりてえ!と思って WordPress と Movable Type で悩んで、とりあえずそれぞれググって

  • WP
    • php
  • MT
    • perl
    • しかも psgi

ということを知って即座に MT に決める。

導入はhttps://github.com/movabletype/Documentation/wiki/PSGI-Plack環境でMovable-Typeを動かす を見つつ


% cd path/to/set_repos
% git clone git://github.com/movabletype/movabletype.git

して、

  • plackup mt.psgi が動くまで cpanm でモジュール入れて(そもそもほとんど入ってたけど)

  • mysql に db 作ってユーザ作って権限与えて

  • mt-config.cgi に以下を書いて
  • 
    CGIPath /
    StaticWebPath    /mt-static/
    PIDFilePath /path/to/pid_file
    ObjectDriver DBI::mysql
    Database     $db_name
    DBUser       $db_user
    DBPassword   $db_password
    DBHost       $db_host
    DefaultLanguage ja
    ImageDriver Imager
    

    daemontools で以下の run ファイルで動かして

    
    #!/bin/sh
    MT_HOME=/path/to/clone/dir
    sleep 1
    cd $MT_HOME
    exec \
        /path/to/set_env.sh \
        /usr/local/bin/setuidgid hirafoo \
        starman --pid /path/to/pid_file --port $PORT mt.psgi --workers 3 \
        2>&1
    

    して、 static 吐き出し用のディレクトリ作って apache で適当にリバースプロキシして終わり。
    movable type が、静的コンテンツを吐き出すためのもので psgi が動くのもそこ、というのをセットアップしてて把握した。てっきり動的コンテンツでブログもサーバサイドで都度生成してるもんだと思ってた。

    この set_env.sh は、

    
    #!/bin/sh
    _perlhome="/home/hirafoo/perl5"
    export PATH=$_perlhome/perlbrew/perls/perl-5.16.2/bin:/usr/local/bin:/usr/bin:/bin
    exec "$@"
    

    となってて、 perlbrew で入れた perl とモジュールを perlbrew を入れたのとは違うユーザ、つまり root で動かすときに、 system perl じゃなくて prelbrew で入れた perl を使わせるためのラッパ。

    あとmtの中に「ウェブサイト」「ブログ」ってあって大分混乱したけど http://www.movabletype.jp/faq/publish-blog-by-domain.html を見て概念を把握した。
    新しいもの触るとルールや用語や使い方とか全部知らないことばっかなのでめんどい。
    あと導入で何か他にもあった気がするけど忘却。


    んで使ってみた感想として

  • 分からないことだらけ

  • ググるとmtの旧バージョンの情報たくさん出てきてググラビリティやや低い

  • 書きづらい...リッチテキストとか改行を変換とか期待した動作しない...

  • ソースコード書いたら見づらい... syntax highlighter ? 何それめんどいの...

  • 既にはてダに戻りたい

  • となっております。