Movable Type をさくらのVPSにインストールしてみよう

前回の記事では、「さくらのレンタルサーバ」に Movable Type をインストールする方法について詳述しました。今回は、「さくらのVPS」に Movable Type をインストールします。

さくらのレンタルサーバでは、 Movable Type が動作するための環境が整っているため、インストールもあまり頭を悩ませることなく進めることができました。一方、VPSでは、Movable Type をインストールするための環境を構築していく必要があります。

今回は、VPSの環境を整えて、Movable Type をインストールするまでをご紹介していきます。なお、今回VPS上で利用するOSは「CentOS 6 x86_64 」を前提として記述していきます。

VPSサーバの起動

まず最初に、「VPSコントロールパネル」にログインして、サーバーを起動しましょう。

コントロールパネルの「VPSホーム」をクリックして、「仮想サーバ操作」のメニューから、仮想サーバを起動しましょう。

VPSが起動したら、SSHによる仮想サーバへのアクセスが可能となります。アカウント情報に記述されている、rootユーザーのidとパスワードでログインしてみましょう。

無事にSSHでアクセスできたら、いよいよ作業に入っていきます。

rootのまま作業をするのはリスクが高いので、作業用のユーザーアカウントを作成し、sudoコマンドが使えるようにしましょう。また、公開鍵認証でSSH接続できるように設定を行いましょう。

詳細については、さくらのVPSのサポートサイト「セキュリティの設定」各項目をご覧ください。

ユーザーアカウントの作成や各種セキュリティ設定が終了したら、新規作成したユーザーアカウントで再ログインできることを確認しましょう。sudoコマンドが使えていれば、準備完了です。

Apacheをインストールして、CGIを実行可能にする

初期状態では、Movable Type のインストールに必要な環境が揃っていないため、一つずつインストールしていきましょう。

最初にウェブサーバーの Apache をインストールします。yum で CentOS のレポジトリからインストールします。

$ sudo yum install httpd

Apache を起動して、ブラウザからアクセスできるかどうか確認してみましょう。

$ sudo /etc/init.d/httpd start
Starting httpd: [ OK ]

Apache の起動後、VPS に付与されているIPアドレス、もしくはドメイン名を指定してブラウザから閲覧してみます。Apache の初期画面が表示されたら、インストールは成功です。

httpd.conf の設定を変更して CGI を実行可能にする

次に、httpd.conf を書き換えて、CGI を実行可能にしましょう。

httpd.conf を編集します。

$ sudo vi /etc/httpd/conf/httpd.conf

Options に ExecCGI を追記して、CGI の実行を許可します。初期状態では /var/www/html がドキュメントの公開ディレクトリなので、このディレクトリに対して設定を行います。

Options Indexes FollowSymLinks ExecCGI

また、AddHandler のコメントアウトを消去して、.cgi をApache 経由で起動できるようにします。

AddHandler cgi-script .cgi

CGI.pm のインストール

さくらのVPSから提供されている CentOS のイメージには、Perl はあらかじめインストールされています。

 $ perl -v
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

しかし、初期状態では、CGI.pm がありませんでした。このため、yum で CGI.pm をインストールします。

$ sudo yum install perl-CGI

CGI.pm インストール後、Movable Type のファイルの中から、mt-check.cgi というファイルをサーバー上に配置し、cgi ファイルの実行権限を与えてブラウザからアクセスしてみましょう。Apache のドキュメントルートは初期状態で以下のディレクトリとなっています。

/var/www/html/

Movable Type のパッケージの中から、「mt-check.cgi」というファイルを転送して、実行権限を与え、ブラウザからアクセスしてみましょう。Movable Type に必要なモジュールのチェック画面が表示されれば、CGI が実行できています。

mt-chekc.cgi の実行画面中、黄色のメッセージで表示されているのは、まだサーバーにインストールされていない Perl のモジュールです。これらのモジュールは、後ほどインストールしていきます。

MySQLのインストールとデータベースの作成

次に、MySQL をインストールします。

$ sudo yum install mysql-server

MySQL をインストール後、設定ファイル my.cnf を編集して、文字コードを UTF8 に設定します。

$ sudo vi /etc/my.cnf

[mysqld] セクションに

character-set-server=utf8

[mysql] セクションに

default-character-set=utf8

を、それぞれ追記します。

characer-setの設定を終了後、MySQL を再起動します。

$sudo /etc/init.d/mysqld restart

再起動が終了したら、MySQL にデータベースを作成しましょう。データベース名、データベースユーザ名はそれぞれ任意に変更してください。

  • データベース名:databasename
  • データベースユーザ名:username
$ sudo mysql
mysql> create database databasename;
mysql> grant all on databasename.* to 'username'@'localhost' identified by 'password';
mysql> exit
$

すべての作業が終了したら、MySQL をもう一度起動しておきましょう。

$ sudo /etc/init.d/mysqld restart

PHPのインストール

MySQL の次は、php のインストールを行います。

$ sudo yum install php php-mbstring php-mysql

php がインストールできたら、Apache を再起動しておきます。

$ sudo /etc/init.d/httpd restart

Perlモジュールのインストール

先ほど mt-check.cgi で確認した、Perl のモジュールをインストールしていきましょう。Perl のモジュールは、以下のいずれかの方法でインストールします。

yumを利用したインストール

いくつかの Perl モジュールは、yum を利用してインストールすることができます。

$ yum search モジュール名の一部

と検索することで、yum からインストール可能なモジュールの検索ができます。検索結果を元に、パッケージ名を確認して、yumでインストールしていきます。

例えば、Image::Magick、Archive::Tar というモジュールをインストールするときは、それぞれ以下のように実行します。

$ sudo yum install ImageMagick
$ sudo yum install perl-Archive-Tar

CPANを利用したインストール

yum でインストールできないPerl のモジュールは、CPAN を利用してインストールしましょう。

CentOS に CPAN をインストールします。

$ sudo yum install cpan

CPAN がインストールできたら、他モジュールのインストールのために、LWP と YAML をインストールします。

$sudo yum install lwp
$sudo yum install perl-YAML

準備が整ったら、CPAN から必要な Perl モジュールをインストールしていきましょう。

install パッケージ名

と打ち込んで、モジュールをインストールしていきます。例えば、Cache::File というパッケージをインストールするときは

cpan[1]> install Cache::File

と打ち込むことで、インストールすることができます。

モジュールのインストールができたら、再度 mt-check.cgi をチェックしてみましょう。

必須モジュールがインストールされ、Movable Type のインストール準備が整いました。ここで一度 mt-check.cgi を削除し、改めて Movable Type のファイルをアップロードして、インストールを行っていきましょう。

Movable Type のインストール

前回と同様、まず Movable Type のインストールパスと公開パスを計画していきます。今回は、以下のように配置することにします。(ドメイン名は、皆様の環境に合わせて読み替えてください。)

  • example.com/
    • ブログの公開パス ( /var/www/html/ )
  • example.com/mt/
    • Movable Type のインストールパス ( /var/www/html/mt/ )

Movable Type の取得は、前回の記事の手順にそって入手できます。

入手したzipファイルをscpなどで転送して、/var/www/html/ 以下に解凍、配置しましょう。

ここでは TeraTerm を利用したファイル転送を記述します。

TeraTerm のメニューから、SSH SCP を選択します。

From から転送したいファイルを選択して、Send ボタンを押してファイルの転送を実行します。

リモートホストのホームディレクトリに転送されますので、操作後、mv コマンドなどでファイルを移動した上で解凍します。ここでは、/var/home/username 以下にアップロードされた MT-6_0_3.zip ファイルを解凍後、/var/www/html/mt に配置するまでの手順を記述します。

$ unzip /home/username/MT-6_0_3.zip
$ sudo mv /home/username/MT-6.0.3/ /var/www/html/mt

/var/www/html/mt/ 配下に、Movable Type のパッケージファイル一式が配置されたので、cgiファイルのパーミッションを実行可能にします。

$ sudo chmod 755 /var/www/html/mt/*.cgi

次に、以下のディレクトリを書き込み可能にしましょう。

  • /var/www/html
  • /var/www/html/mt/
  • /var/www/html/mt-static/support/

これで Movable Type のインストール準備が整いました。ブラウザから、

http://example.com/mt/

にアクセスして、Movable Type をインストールしていきましょう。インストールの手順については、前回の記事を参照してください。

無事にインストールが終了しました!

今回の記事では、Movable Type のインストールを行うまでを解説しました。ここに書かれた手順は最低限のステップとなります。実際に VPS で Movable Type を利用する場合には、ポートの状態やデータベースの設定など、セキュリティに十分配慮をした上でご利用ください。また、公開ディレクトリは各自の設定に合わせて読み替え・修正を行ってください。

おしらせ

Movable Typeのハッカソンが6月28日、シックス・アパートのオフィスで開催されます。また、6月11日にはMovable TypeとChrome アプリの勉強会が開催されます。詳しくは、「MT Hackathon @ Six Apart New Office 〜Data API で Chromeアプリを作ろう〜」をご覧ください!