MovableType 3.2 インストール(PostgreSQLを使用) [FC4]

[サーバの実験室 Redhat/Fedora]

作成 : 2006/02/12

"サーバの実験室"の検索


MovableType

ブログ・システム。 限定個人ライセンス(利用できる投稿者数は1、サーバ数は1に限定)は、無償で利用できる。 日本語版は、http://www.sixapart.jp/からダウンロードできる(ユーザ登録が必要)。

準備

PerlとApacheとPostgreSQLをインストールしておく。

# yum install perl
# yum install httpd
# yum install postgresql

MovableTypeをインストール

MovableTypeのダウンロードページからMT-3_2-ja-2.tar.gzをダウンロードする。 適当なディレクトリにコピーして、展開する。

# tar -zxvf MT-3_2-ja-2.tar.gz

展開したディレクトリを、Apacheのドキュメントルート下のディレクトリにコピーする。 ここでは、/var/www/html/mtにしておく。

# cp -pR MT-3.2-ja-2 /var/www/html/mt

設定ファイルの名前を変更する。 パーミッションは"644"のままで大丈夫。

# cp /var/www/html/mt/mt-config.cgi-original /var/www/html/mt/mt-config.cgi

Perlのパスが/usr/bin/perlでないときは、*.cgiの1行目を修正する。 FC4のPerlパッケージでは、/usr/bin/perlにインストールされている。

MovableType 設定ファイルを編集

PostgreSQLを使用するよう、設定ファイルmt-config.cgiを編集する。

# mt-config.cgi

# CGI(MovableType)のパスを指定する
CGIPath http://xxxx/mt/

# データベースにPostgreSQLを使用する
ObjectDriver DBI::postgres
# データベース名を指定する
Database movabletype
# データベースに接続するユーザを指定する
# PostgreSQLのユーザで、OSのユーザとは別物
DBUser movabletype
# データベースに接続するユーザのパスワードを指定する
DBPassword movabletype
# データベースが動いているホストを指定する
DBHost localhost

# 文字セットを指定する
# UTF-8以外の場合は必要
PublishCharset euc-jp

PostgreSQL データベースとユーザを作成

PostgreSQLをインストールしたばかりの場合は、一度サービスを起動してデータベース領域(/var/lib/pgsql/dataディレクトリ)を初期化すること。

設定ファイルmt-config.cgiDatabaseオプションで指定した名前のデータベースとDBUserオプションで指定したユーザを作成する。

必ずpostgresユーザになる
# su - postgres

$ psql -d template1

EUCを使うときはencodingを指定
template1=# create database movabletype encoding='euc-jp';
CREATE DATABASE

データベースが作成できたか確認
template1=# \l
         List of databases
    Name     |  Owner   | Encoding
-------------+----------+----------
 movabletype | postgres | EUC_JP
 template0   | postgres | UNICODE
 template1   | postgres | UNICODE
(3 rows)

with passwordにはDBPasswordオプションで指定したパスワードを指定
template1=# create user movabletype with password 'movabletype';
CREATE USER

ユーザが作成できたか確認
template1=# select * from pg_user;
   usename   | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
-------------+----------+-------------+----------+-----------+----------+----------+-----------
 postgres    |        1 | t           | t        | t         | ******** |          |
 movabletype |      100 | f           | f        | f         | ******** |          |
(2 rows)

template1=# \q

MovableTypeがデータベースに接続できるよう、/var/lib/pgsql/data/pg_hba.confを編集する。

# /var/lib/pgsql/data/pg_hba.conf

# TYPE  DATABASE    USER        IP-ADDRESS            METHOD
# 他のエントリより先に書いておく
# Movable Type
host    movabletype movabletype 127.0.0.1/32          md5
# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          ident sameuser
# IPv6 local connections:
host    all         all         ::1/128               ident sameuser

/var/lib/pgsql/data/pg_hba.confを変更したら、サービスを再起動しておく。

# /etc/init.d/postgres restart

Apache 設定ファイルを編集

MovableTypeを置いたディレクトリでCGIの実行を許可するよう、Apacheの設定ファイル/etc/httpd/conf/httpd.confを編集する。

# /etc/httpd/conf/httpd.conf
....
AddHandler cgi-script .cgi
....
# 使用する文字セットを指定
AddDefaultCharset euc-jp
....
<Directory "/var/www/html/mt/">
  Options ExecCGI
</Directory>

/var/httpd/conf/httpd.confを変更したら、サービスを再起動しておく。

# /etc/init.d/httpd restart

Perlモジュールがインストールされいてるかチェック

必要なPerlモジュールがあるかチェックするため、ブラウザからhttp://xxxx/mt/mt-check.cgiへアクセスする。 足りないものは、インストールしておく。

Perlモジュールパッケージ備考
CGIperl必要
HTML::Templateperl-HTML-Template???必要
Image::Sizeperl-Image-Size???必要
File::Specperl必要
CGI::Cookieperl必要
DB_FileperlBerkeleyDBを使うなら必要
DBIperl-DBIPgSQL/MySQL/SQLiteを使うなら必要
DBD::mysqlperl-DBD-MySQLMySQLを使うなら必要
DBD::Pgperl-DBD-PgPostgreSQLを使うなら必要
DBD::SQLiteperl-DBD-SQLiteSQLiteを使うなら必要
HTML::Entitiesperl-HTML-Parserオプション
LWP::UserAgentperl-libwww-perlオプション
SOAP::Lite???オプション
File::Tempperlオプション
Image::MagickImageMagick-perlオプション
Storableperlオプション
Crypt::DSAperl-Crypt-DSAオプション
MIME::Base64perlオプション
XML::Atom???オプション

MovableType セットアッププログラムを実行する

必要なPerlモジュールがインストールされていたら、ブラウザからhttp://xxxx/mt/index.htmlへアクセスしてセットアップを実行する。 httpd.confAddDefaultCharsetをUTF-8以外にしている場合は文字化けするので、ブラウザの文字エンコーディングでUnicode(UTF-8)を指定する。

ブログディレクトリを作成

ブログを置くディレクトリを作っておく。 MovableTypeのCGIを実行するapacheユーザは/var/www/htmlディレクトリに対する書き込み権限がないので、自動的には作成されないのだ。

# mkdir /var/www/html/blog
# chown apache:apache /var/www/html/blog

ログイン

ブラウザからhttp://xxxx/mt/mt.cgiへアクセスする。 ログインページが表示されるので、ユーザ名にMelody、パスワードにNelsonを指定してログインする。 ログインできたら、「システム・メニュー」の「投稿者」でデフォルトのユーザ名とパスワードを変更しておくと吉。 「公開の設定」でサイトURL(http://xxxx/blog/)とサイトパス(/var/www/html/blog)を設定すれば、とりあえずブログは完成。


参考 BerkeleyDBからPostgreSQLへ移行する場合

mt-config.cgiで、BerkeleyDB用のオプションとPostgreSQL用のオプションを、両方とも有効にしておく。

# mt-config.cgi

....
# PostgreSQL用のオプション
ObjectDriver DBI::postgres
Database movabletype
DBUser movabletype
DBPassword movabletype
DBHost localhost
....
# BerkeleyDB用のオプション
DataSource /var/www/mtdb

ブラウザからhttp://xxxx/mt/mt-db2sql.cgiへアクセスすると、データをコピーしてくれる。 コピーが終わったら、BerkeleyDB用のオプションはコメントアウトしておくこと。


[サーバの実験室 Redhat/Fedora]