MovableType5.2.3をPSGIで動かしてみた

@nqounetです。

MovableTypeを使って稼ぐために、とりあえずローカル環境(Macでスミマセン)で動かしてみました。

ローカルの環境は色々とごちゃごちゃしているので、とりあえずPerlだけを使って動かしてみます。

Movable Type 個人無償版ダウンロード

とりあえず本体を取ってきます。

zipファイルでダウンロードする感じになったので、Finderから展開しておきます。

(Perlbrew利用の場合).cgiファイルのshebangを書き換え

ダウンロードしたCGIファイルのままだと、システムのPerlを利用するので、PerlbrewのPerlを使うようにshebangを書き換えておきます。

1
$ find . -name "*.cgi" -print0 | xargs -0 perl -i.bak -pe "s|^#\!/usr/bin/perl|#\!/usr/bin/env perl|"

展開(解凍)したディレクトリ(アプリケーションのホームディレクトリ)に移動してから上記のワンライナーを実行すると、既存のCGIファイルをバックアップした上で、shebangを変更した新しいファイルを作成します。 問題なく動作するのを確認したら、.bakファイルは削除しても構いません。

configファイルを作成

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# mt-config.cgi
CGIPath    http://localhost:5000/mt/
StaticWebPath    http://localhost:5000/mt/mt-static

ObjectDriver DBI::mysql
Database mt
DBUser mt
DBPassword passw0rd
DBHost localhost
DBSocket /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

DefaultLanguage ja

CGIPath、StaticWebPathはとりあえずローカル環境用に設定しておきます。 DBSocketは、指定しなくても構いませんが、XAMPPなどで楽をしている場合は適切に設定する必要があります。

ちなみに、SocketのPATHですが、PhpMyAdminを使っている場合は、ログインした上で「変数」のタブをクリックして「Socket」の項目を見ると書いてあります。

Socketの項目

MovableTypeをstarmanで起動

アプリケーションのホームディレクトリに移動してから以下のコマンドを実行すると、アプリケーションサーバーが起動します。

1
$ starman mt.psgi

この時点で何かエラーが出た場合は、そのメッセージに従って修正する必要があります。

そこは自力で頑張りましょう。

MovableTypeにアクセス!

CGIPathhttp://localhost:5000/mt/の場合は、http://localhost:5000/mt/mt.cgiにアクセスします。

次のような「アカウントを作成」する画面になっていれば成功です。

アカウントを作成

アカウントを作成すると、ウェブサイトの設定の画面になります。

ウェブサイトの設定

URLと、ファイルを構築するPATHを指定して、インストール!

インストールが完了するまでしばらく待ちましょう。

待っている間に、ターミナルでファイルを構築するディレクトリに移動して、以下のコマンドを実行してサーバーを立てておきます。

1
$ plackup --port 5001 -MPlack::App::Directory -e 'Plack::App::Directory->new(root => ".")->to_app'

完了したらサインインします。

サインイン

サインインしたら、早速構築しましょう。サイト名の方をクリックします。

サイト名をクリック

再構築ボタンをクリックします。

再構築ボタン

「すべてのファイル」になっているのを確認した上で、再構築ボタンをクリックします。

すべてのファイル

再構築が終わったらサイトを見てみましょう。

サイトを確認

バッチリですね。

アプリと公開用のサーバーが必要

mt.psgiは、アプリケーションのCGIファイル(mt.cgiとか)を動かすためのサーバー用です。

構築したHTMLファイルを公開するには、別のサーバーが必要になります。

今回は面倒だったので、plackupで簡単にサーバーを立てましたが、本番環境ではnginxなどを使うとよさそうです。

mt-staticの場所を公開用サーバーに変えてやれば、さらに負荷も少なくなってよさそうですね。

参考サイト

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。