share facebook facebook2 twitter menu hatena pocket slack

2015.02.04 WED

CentOS6にMovableTypeを導入してみました

橋本 満

WRITTEN BY橋本 満

cloudpack の 踊る阿呆、橋本(Mitzi)です。インフラエンジニアやっています。

はじめに

WordPress に較べ意外と面倒だった MovableType の導入方法を記載します。

Index

  1. MovableTypeの実装
  2. MySQLデータベースの設定
  3. Movable Type設定

評価版の入手

・今回はトライアル版をダウンロード

■Movable Type トライアルのお申し込み
トライアルへのお申し込み | Movable Type

01. MovableTypeの実装

参考

Movable Type 6.0 ドキュメント

必要な環境

Movable Type 6 導入の場合

■Web Server
以下いずれか

  • Apache HTTP Server 2.0 以上
  • Microsoft Internet Information Server 7.5 以上
  • nginx 1.2.0 以上(CGI もしくは PSGI 実行環境が別途必要となります)

■DB
MySQL 5.0以上

■perl
perl 5.8.1以上

■perlモジュール
CGI
Image::Size
File::Spec (バージョン0.8以上)
CGI::Cookie
LWP::UserAgent

■モジュール(DBモジュール)
DBI (バージョン1.21以上)
DBD::mysql

■文字コード
UTF-8

検証環境

■今回実装したのは以下環境になります。

AMI: suz-lab_centos-core-6.5.1
CentOSバージョン: CentOS release 6.5 (Final)
kernelバージョン: 2.6.32-431.23.3.el6.x86_64  [64bit版]
perl: perl-5.10.1-136.el6.x86_64
MySQLサーバー: mysql-server-5.5.41-27.el6.art.x86_64
Apache: httpd-2.2.15-39.el6.centos.x86_64

▽文字コードほかロケールも確認

[root@Mitzi-dev ~]# locale
LANG=ja_JP.utf8
LC_CTYPE=ja_JP.utf8
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=

事前準備

■perlの実行環境確認

・Movable Type では、/usr/bin/perl が初期値となっているとのこと

[root@Mitzi-dev ~]# whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
※Movable Typeの初期値と同じであることを確認

■モジュールの実装状況確認
・確認コマンド

# perl -Mモジュール名 -e '' 

# perl -MCGI -e ''
# perl -MImage::Size -e ''
# perl -MFile::Spec -e ''
# perl -MCGI::Cookie -e ''
# perl -MLWP::UserAgent -e ''
# perl -MDBI -e ''
# perl -MDBD::mysql -e ''
※エラー出力がなればモジュールが導入されている
■perlモジュールを導入する必要がある場合、CPANとその他必要なモジュールを導入しておく

・流れは以下 (詳細は省略します)
01. CPANインストール
02. libyaml-develインストール
03. CPAN初期設定
04. CPANでYAMLインストール
05. CPAN Upgrade
※とても時間が掛かるので注意下さい。。

■インストール先の決定
ディレクトリ 内容
アプリケーション ディレクトリ スクリプトやライブラリを保管するディレクトリ。webサーバ用にcgi-binディレクトリがあればソチラを推奨
ウェブサイト ディレクトリ webサーバのDocumentRoot
スタティックディレクトリ Movable Type の管理画面で利用するスタイルシートや画像ファイル等を保管するディレクトリ。(デフォルトでは、mt-static)

今回はapacheのデフォルトに合わせて配置してみました

ディレクトリ 内容
アプリケーション ディレクトリ /var/www/cgi-bin/mt
ウェブサイト ディレクトリ /var/www/html/mt/mt-static
スタティックディレクトリ /var/www/html/mt
■ MovableTypeの配置

・WinSCPなどを利用してzipファイルのまま ドキュメントルート(/var/www/html) 配下にアップロード

# cd /var/www/html
# unzip MT-6_0_6.zip
# rm -f MT-6_0_6.zip
# mv /var/www/html/MT-6.0.6 /var/www/html/mt
■スタティックディレクトリ

・「mt-static」ディレクリ配下のファイルを 「スタティックディレクトリ」に格納する
※デフォルトでそのようになっているので対処なし

・公式マニュアルに従いスタティックディレクトリ配下の「support」ディレクトリの権限を777に変更、またapacheと同じグループ権限を付与

# chmod 775 /var/www/html/mt
# chmod 775 /var/www/html/mt/mt-static
# chmod 777 /var/www/html/mt/mt-static/support
# chown -R root.apache /var/www/html/mt
■アプリケーションディレクトリ

・mt-staticディレクトリ以外を移動

# mkdir /var/www/cgi-bin/mt
# cd /var/www/html/mt
# mv !(mt-static) /var/www/cgi-bin/mt
# chown -R root.apache /var/www/cgi-bin/mt
■パーミッション

・cgiファイルは 755 とする

# find /var/www/cgi-bin/mt -name '*.cgi*' -exec chmod 755 {} ;
# find /var/www/html/mt/mt-static -name '*.cgi*' -exec chmod 755 {} ;

・ちなみにapacheのデフォルト設定は以下のようになっています

# less /etc/httpd/conf/httpd.conf
----------
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
----------
■perl実行環境を合わせる

各スクリプトのperl実行環境が /usr/bin/perlと異なる場合、スクリプト側 もしくは シンボリックリンクで合わせる

#!/usr/local/bin/perl -w

MovableType初期設定 01

■Movable Type システムチェック [mt-check.cgi]

・以下のようにシステムチェック用スクリプト 「mt-check.cgi」 を実行し確認
http://[Public IP]/cgi-bin/mt/mt-check.cgi
or
http://[ELB Public DNS]/cgi-bin/mt/mt-check.cgi
or
http://[DomainName]/cgi-bin/mt/mt-check.cgi

・チェック結果を確認
Movable Type動作に必要最低限の環境が整っていることを確認
CentOS6 に MovableType を導入: 必要環境のチェック

・必須モジュールがインストールされており、画面最後部に「Movable Typeを利用できます。」と出ていればOK。
CentOS6 に MovableType を導入: 必要環境のチェック完了

■モジュールをインストールする場合

※CPANが導入されていること前提

個別にインストール(下記例)

# capn
cpan[1]> install Plack

確認

# perl -MPlack -e ''

02. MySQLデータベースの設定

02-1. MySQLサーバの用意

RDS(MySQL)でもよいが、今回はローカルにMySQLサーバを構築しました。

■やったことの概要
  • mysql-serverインストール
  • 文字コードをUTF-8に
  • 起動、自動起動もON
  • MySQL初期設定
  • MovableType用に ユーザ、DB作成
  • 接続確認 および データベースの文字コード確認(UTF-8)

02-2. DBアクセス情報の設定

■公式サイトより

環境変数リファレンス | MovableType.jp

■mt-config.cgiの設定
# cp -p /var/www/cgi-bin/mt/mt-config.cgi-original /var/www/cgi-bin/mt/mt-config.cgi
# chmod 755 /var/www/cgi-bin/mt/mt-config.cgi
# vi /var/www/cgi-bin/mt/mt-config.cgi
--------------------
# The CGIPath is the URL to your Movable Type directory
CGIPath    http://[DomainName他]/cgi-bin/mt/
StaticWebPath http://[DomainName他]/mt/mt-static/

##### MYSQL #####
ObjectDriver DBI::mysql
Database <DB名>
DBUser <ユーザ名>
DBPassword <password>
DBHost <hostname>
※RDS や 外部DBの場合、ホスト名を指定。標準はlocalhost

DBPort <port no>
※標準ポート3306以外を利用している場合追記

DBSocket /path/to/mysql.sock
※MySQL が Movable Type を動作させるウェブサーバーと同一のホストにあるものの、MySQL と Perl で使用する UNIX ソケットが違う場合は DBSocket の行を追記

## Change setting to language that you want to using.
#DefaultLanguage en_US ←コメントアウト
DefaultLanguage ja ←コメント解除

03. Movable Type設定

03-1. 管理者アカウントの設定

以下スクリプトにブラウザからアクセス

http://[DomainName]/cgi-bin/mt/mt.cgi

アカウントの作成

CentOS6 に MovableType を導入: 管理者アカウントの設定

  • ユーザ名: <管理者アカウント>
  • 表示名:
  • 電子メール:
  • システムのメールアドレスとして利用する: <チェック>
  • 使用言語: 日本語
  • パスワード: <管理者パスワード>
  • パスワード確認: ※再入力

[次へ]押下

最初のウェブサイトを作成

CentOS6 に MovableType を導入: 最初のウェブサイトを作成

  • ウェブサイト名: <任意> ※例: Movable Type導入テスト
  • ウェブサイトURL: http://[DomainName]/mt
  • ウェブサイトパス: /var/www/html/mt
  • テーマ: <リストから選択>
  • タイムゾーン: UTC+9(日本標準時間)

[インストール]押下
※URLが変わったら管理画面より本設定を変更し再構築を掛ける必要がありマス

インストール完了

CentOS6 に MovableType を導入: インストールの完了

「インストールを完了しました!」の表示が出て、表示されるログにエラーが無ければOK

[Movable Typeにサインイン] 押下

03-2. システムからのお知らせへの対処

ダッシュボード上にエラーが出力されていた場合の対処

■イメージドライバーが設定されていません

CentOS6 に MovableType を導入: エラー「イメージドライバーが設定されていません」

Image::Magick、NetPBM、GD、Imagerのいずれかをインストールする必要があります。

・ImageMagick と Image::Magick両方をインストールする場合

# yum install ImageMagick-perl
※ImageMagick も一緒にインストールされます

おわり

CentOS6 に MovableType を導入: 導入完了

以上で最低限の設定が完了し、ブラウザよりMovableTypeを利用出来るようになりました。

元記事はこちらです。
CentOS6にMovableTypeを導入してみました

橋本 満

橋本 満

後輩、歳下、業務内容の違いなど関係なく、見習うべきところは見習う貪欲系エンジニア。技術志向だけの理系脳ではなく、顧客とのコミュニケーションを大事にすることも心掛けています。あと、ON/OFF(Dancin')大事にしています。