Movable TypeでオリジナルBlogを作る 【導入編】 | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

Movable TypeでオリジナルBlogを作る 【環境設定編】 の続き


一通りの環境が整った後は、MovableTypeのインストールとなります。

しかし、インストールの前にもう一つだけやっておかなければならない重要な事があります。

それは、MovableTypeでのデータを保存するDBの環境設定です。

今回は、DBにPostgreSQLを利用する事にしていますので、下記のようにDBの作成、接続ユーザーの作成などを行います。



事前環境設定


1. 接続ユーザーの作成


下記のようにして、Blog用DBへ接続するためのユーザー(blog)を作成します。


su - postgres
$ createuser -P blog
Enter password for new user:
Enter it again:
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n

※ 最初に、PostgreSQL管理用ユーザーに切り替えています。

  RedHatES4でOSインストール時に、PostgreSQLのパッケージを指定していた場合はデフォルトでPostgreSQLの管理用

  ユーザーとして「postgres」というユーザーが作成されています。


※ ユーザーを作成(createuserコマンド)した際に、最初に聞かれる質問が、そのユーザーのパスワードについてです。

  このパスワードは、MovableTypeの設定ファイルに埋め込む必要があるので忘れないようにしてください。



2. DBの作成


下記のようにしてDB(blog-db)を作成します。


createdb blog-db
CREATE DATABASE


3. 接続確認


作成したユーザーで、作成したDBに接続できるかの確認を行います。

確認は、実際にMovableTypeをインストールするサーバーから行います。


psql -U blog -h ホスト名(IPアドレス) blog-db

※ -hの後のホスト名(又はIPアドレス)は、DBサーバーのホスト名(またはIPアドレス)を指定します。

  ホスト名を指定する場合は、DNSまたはhostsファイルで名前解決ができるかを事前に確認してください。


エラーが出た場合は、PostgreSQLの設定ファイル(pg_hba.conf及びpostgresql.conf)を確認します。


- エラーの例

psql: FATAL: no pg_hba.conf entry for host "XXXXXXX"

指定したホストからのアクセスの許可を設定ファイル内で行っていないか、ソケット経由のアクセスを許可していないかのどちらかの可能性があります。


- ソケット経由のアクセスを許可(postgresql.conf)


tcpip_socket = true

アクセス制御の設定(pg_hba.conf)


- ローカルからの接続を、パスワードつきで許可する場合

local all all password

- 指定のホストからの接続を、パスワードつきで許可する場合

  (WebサーバーとDBサーバーが分かれている場合など)

host all all 許可するIPアドレス ネットマスク password

設定ファイル編集後は、PostgreSQLのプロセスの再起動を行います。


例)

/etc/init.d/postgresql restart

これで、再度確認を行います。



Movable Typeのインストール


DBの設定が問題なく完了したら、いよいよMovableTypeのインストールです。

MovableTypeのバージョン3.3からは、ウィザード形式でWebからインストールを行う事も可能となっています。


ウィザード形式でインストールするには、環境設定編で設定したアプリケーションディレクトリ内にある「mt-wizard.cgi」にアクセスします。


http://hogehoge.co.jp/cgi-bin/mt-wizard.cgi


あとは、ウィザードで聞かれる質問に答えていくだけで、インストールが完了します。

ウィザード形式のインストール方法は、公式のHP に詳しく解説されています。


環境設定がうまくいっていない場合は、エラーメッセージが表示されますのでそれの解決を行い次へ次へ進んで行けば完了です。

(基本的に環境設定編の「mt-check.cgi」でエラーメッセージが表示されていなければ、ここでもエラーは出ないはずです)


もう一つのインストール方法は、旧来からある設定ファイルを直接編集する方法です。

(ウィザード形式のインストールも、最終的にはこの設定ファイル作成しているだけです)

設定ファイル名は「mt-config.cgi」となりますが、デフォルトでは存在しません。

代わりに「mt-config.cgi-original」と言うファイルがあるので、これを元に編集しファイル名を「mt-config.cgi」にリネームします。


DBにPostgresを利用する場合の設定ファイルの例


## Movable Type configuration file ##
## ##
##################### REQUIRED SETTINGS ##################
CGIPath http://hogehoge.co.jp/cgi-bin/

StaticWebPath http://hogehoge.co.jp/weblog-static/

#================ DATABASE SETTINGS ==================
### MySQL or PostgreSQL ###
ObjectDriver DBI::postgres
Database blog-db
DBUser blog
DBPassword blog
DBHost hogehoge-db

各項目の意味は、Movable Typeのマニュアル の「システム管理者ガイド」を参照すれば解説されています。

上記の設定例でで設定した最低限の項目の意味は


- 必須項目

CGIPath

ブラウザからアクセスした際のアプリケーションディレクトリを指定します。

※ 記述するパスは、「/cgi-bin/」のようにドメイン以下から指定する事も可能です。


StaticWebPath

スタティックディレクトリを指定します。
※ 記述するパスは、「/weblog-static/」のようにドメイン以下から指定する事も可能です。


- DB設定項目

ObjectDriver

DBにPostgreSQLを利用するための設定です。

MySQLを利用する場合はDBI::mysqlを、SQLiteを利用する場合は、DBI::sqliteと設定します。


Database

上記のDBで設定したDB名です。今回は先ほど作成した「blog-db」というDB名を指定してます。


DBUser

DBに接続する際のユーザー名です。

今回は、先ほど作成した「blog」ユーザーを指定しています。


DBPassword

上記の接続ユーザーのパスワードです。(blogユーザーのパスワード)


DBHost

DBが存在するホスト名(又はIPアドレス)です。

環境に応じて、ホスト名またはIPアドレスを設定します。WebサーバーとDBサーバーが同一のサーバーにある場合は、「localhost」と指定する事も可能です。
その際は、DBの設定ファイル(pg_hba.conf)にDBの環境設定をするところで解説した「ローカルからの接続を、パスワードつきで許可する場合」の設定が必要です。


うまく設定できたかどうかは、アプリケーションディレクトリ内にある管理用プログラム「mt.cgi」へアクセスしてみる事が近道です。


http://hogehoge.co.jp/cgi-bin/mt.cgi


設定ファイルに何か間違いがある場合や、必須項目に漏れがある場合はブラウザ上にエラーメッセージが表示されます。

問題がない場合は、下記のようなMovableTypeの初期環境設定画面が表示されます。


movabletype

ログイン名とパスワードが、Blogの管理機能(記事の編集など)を行うユーザー名とそのパスワードです。

各項目を埋めればインストール完了です。


次回以降、mt.cgiにアクセスした場合は、管理サイトへのログイン画面が表示されます。



mt-login


これ以降が、MovableTypeの管理機能を利用して様々なカスタマイズが行えるわけですが、この辺はあまり

専門ではないので、詳しく解説しているサイトにお任せしたいと思います。


MovableType入門