mac osxのローカル環境でMTを動かす
友人のwebサイトを作るのを手伝っています。サーバはさくらインターネットのライトプランで借りようとしているのですが、このプランは月額125円と値段が安い一方で、phpやmysqlがつかえないなど機能がかなり限られています。(一方で一つ上位のスタンダードプランでは、sshで入れたりcronを設置できたりなど、かなり充実しています)。
phpが使えないので、cmsをどうしようかと悩みました。wordpressやdrupalなど有名どころはphp製が多いです。python, ruby, perlで動くcmsはないか調べてみたところ、有名なものでpythonのploneがありました。ploneにしようかなと思いつつあったんですが、そういえばMovable Typeを忘れていたことに気づき、調べてみたところperlとSQLiteで動くようだし、さくらのライトプランでMTを運用しているひともたくさんいるようなので、Movable Typeでいくことにしました。
まずはローカルにMTをインストールして、テーマのカスタマイズやプラグインの設置などを行い、完成したらさくら上に構築することにしました。
そこでまずはmacのローカル環境でMTを動かします。macにはMAMPという、XAMPPのmac版のようなソフトがあり、これを使えばローカルでのテスト環境の構築はかなり楽そうです。しかし今回は勉強のために、こうしたオールインワンのパッケージに頼らず、自分でサーバやDBの設定などを行うことにしました。macにはデフォルトでapacheが入っているし、macportsがあるのでソフトのインストールも簡単。よってなんとかなるかなと考えました。
apache
まずはローカルでapacheを動かすことから始めます。ここらへんを読みながらやってみました。
Start! MacBook:第2回 なぜMacなのか(後編) ~ApacheでCGIを動かすまで|gihyo.jp … 技術評論社
超簡単 Mac OS XのローカルでCGI (SSIもPHPも)
まずはapacheを起動して、ローカルホストにアクセスしてみます。リンゴマークからSystem preferences -> Sharing -> Web Sharingのチェックをつける。またはコマンドラインで、apachectl start とすればOKです。この状態でブラウザからhttp://localhost/にアクセスし、なにかそれらしいメッセージが出ていればOKです。ついでに、http://localhost/~USERNAME(自分のユーザー名)/にもアクセスしてみます。こちらでは~/Sitesの中身が表示されます。
perl
次はperlです。/private/etc/apache2/users/kosei.confを次のように編集し、~/Sitesの中にperlのスクリプト(test.cgi)をいれます。なお僕のユーザ名はkoseiなので、各自適宜読み替えてください。
kosei.conf
AddHandler cgi-script cgi Options Indexes MultiViews ExecCGI AllowOverride None Order allow,deny Allow from all
test.cgi
#!/usr/bin/perl print "Content-Type: text/plain\n\nHello\n";
ブラウザからhttp://localhost/~kosei/test.cgiにアクセスし、Helloと出ればokです。
余談ですが、test.cgi2行目のコンテントタイプをtext/plainではなくtest/plainとtypoしてしまい、少しはまってしまいました。ブラウザからアクセスしてもスクリプトが実行されず、cgiファイルをダウンロードしてしまうので、なんでだろうと思っていたのですが、このtypoが原因でした。
SQLite
SQLiteもなにもせずともインストールされてました。
% sqlite3 SQLite version 3.4.0 Enter ".help" for instructions sqlite>
Movable Type
日本語版のソフトをダウンロード、解凍します。
Download Movable Type | MovableType.org - Home of the MT Community
展開したディレクトリの中のreadme.htmlでrequirementsやインストール方法が説明されています。インストールは、
- 展開したファイルを任意の場所に設置。(ここでは~/Sites/mt とします)
- *.cgiのパーミッションを変更。+xをつける。
- ルートディレクトリにcgiの実行権限を付加。(今回は上記で設定したので必要ありません)
- ルートディレクトリに書き込み権限を付加。(chmod a+w)
- http://localhost/mt/ にアクセス。
あとは説明に従って進めるだけです。途中必要なperlモジュールをチェックしてくれるので、適宜インストールします。
データベースを作成する段階で、ディレクトリのパーミッションを変更する必要がありました。デフォルトでは、~/Sites/mt/db/mt.dbというパスにdbを作ろうとするので、mtの下にdbというディレクトリを作り、chmod a+wで書き込み権限を与えてあげます。
あとはファイルの保存先やそのパーミッションに注意して、おこられたら適宜修正しながらやっていけば大丈夫です。
インストールも簡単だし、デザインも見やすいし、日本語もよくサポートされていて、MTはすばらしいですね。