サーバ構築(8) BLOG環境 (Movable Type)
少し前、猫も杓子も BLOG、BLOG と騒いでいた時期に、一度手を染めてみたことがありました。そのときは Nucleus で環境を作ってみて、あれはあれで面白かったんですが、毎日記事を書くというのが性に合わなかったというか、環境ができあがった時点で飽きたというか、とにかく早々に挫折してコンテンツも消してしまいました。
そこで感じたのは、いわゆる日記形式のコンテンツとしての BLOG を作るのではなく、BLOG のシステムを CMS として利用するという形の方が私には好ましかろうということでした。Nucleus は BLOG の仕組みを理解する教材としてはなかなか良かったのですが、カスタマイズという点においては私には敷居が高かったというか、CSS をいぢくるのが面倒だったというか、ともかくくじけたので、少し敷居の低そうな Movable Type を使ってみようかな、と思い立ったわけです。最終的に環境ができあがったところで WordPress に流れてしまったので使ってはいないんですが、インストール方法くらいは整理しておこうかなと。WordPress は整理するまでもないほどあっけなくインストールできてしまったので。
OS のインストール時に、「Webサーバ」と「MySQL」を選択します。このとき、選択パッケージの詳細を確認して、php-mysql と mysql-server が選択されていることを確認するのを忘れずに。選択から外れていたら必ず追加しておくこと。php、mysql、perl 関連のパッケージについて、インストール状況を確認しておきます。また、Movable Type は個人利用は無償ですが入手には簡単な手続きが必要です。本家のWeb からあらかじめ入手しておいてください。
# rpm -qa|grep mysql php-mysql-5.1.6-15.el5 mysql-connector-odbc-3.51.12-2.2 mysql-5.0.22-2.2.el5_1.1 mysql-5.0.22-2.2.el5_1.1 mysql-server-5.0.22-2.2.el5_1.1 libdbi-dbd-mysql-0.8.1a-1.2.2 # rpm -qa|grep php php-mysql-5.1.6-15.el5 php-cli-5.1.6-15.el5 php-5.1.6-15.el5 php-common-5.1.6-15.el5 php-ldap-5.1.6-15.el5 php-pdo-5.1.6-15.el5 # rpm -qa|grep perl perl-BSD-Resource-1.28-1.fc6.1 mod_perl-2.0.2-6.3.el5 perl-Socket6-0.19-3.fc6 perl-IO-Zlib-1.04-4.2.1 perl-HTML-Tagset-3.10-2.1.1 perl-String-CRC32-1.4-2.fc6 perl-URI-1.35-3 perl-NKF-2.07-1.1.fc6 newt-perl-1.08-9.2.2 perl-Compress-Zlib-1.42-1.fc6 perl-Net-SSLeay-1.30-4.fc6 perl-IO-Socket-INET6-2.51-2.fc6 perl-Digest-HMAC-1.01-15 perl-Archive-Tar-1.30-1.fc6 perl-Net-DNS-0.59-3.el5 perl-HTML-Parser-3.55-1.fc6 perl-DBI-1.52-1.fc6 perl-DBD-MySQL-3.0007-1.fc6 perl-5.8.8-10.el5_0.2 perl-Digest-SHA1-2.11-1.2.1 perl-IO-Socket-SSL-1.01-1.fc6 perl-Net-IP-1.25-2.fc6 perl-libwww-perl-5.805-1.1.1 |
足りないパッケージを追加しておきます。php-mbstring は必須。
# yum -y install php-mbstring # yum -y install perl-Archive-Zip perl-XML-SAX |
MySQLの初期化。とりあえず一度サービスを起動すれば初期化されます。
# chkconfig mysqld on # service mysqld start MySQL データベースを初期化中: Installing all prepared tables Fill help tables (中略) MySQL を起動中: [ OK ] |
起動したら何はともあれ root パスワードを設定します。この例では、パスワードは「hogehoge」です。これは Linux の root パスワードとは別のものです。このパスワードはきちんと記録しておきましょう。
# mysqladmin -u root password 'hogehoge' |
次に MovableType 用のデータベースを作成します。この例では、条件は以下の通り。
なお、’mysql>’ は MySQL のプロンプトです。
DB名:mt
DBユーザ名:mt
パスワード:herohero
# mysql -u root -phogehoge mysql> create database mt; Query OK, 1 row affected (0.00 sec) mysql> grant all on mt.* to mt@localhost identified by 'herohero'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye |
DB の準備が整ったので、いよいよ MovableType を設置します。普通は公式サイトから最新のパッケージを取得してきて、PC 上で ZIP アーカイブを展開して設定ファイルを書き換えた上でサーバに FTP するという手順ですが、せっかくの自宅サーバでそんなまどろっこしいことは止めましょう。ZIP アーカイブをそのままサーバに FTP してしまえばよろしい。FTP する先は、httpd.conf で ScriptAlias 指定したディレクトリです。以下は DocumentRoot が /home/www/html, cgi-bin が /home/www/cgi-bin/ という前提です。DocumentRoot には、ユーザ apache が書き込み可能な権限を設定します。
# chmod 775 /home/www/html/ # chgrp apache /home/www/html # cd /home/www/cgi-bin # unzip MT-4_1-ja.zip |
ZIP アーカイブを展開したら、ディレクトリ名をリネームした後、 mt-static ディレクトリを丸ごと DocumentRoot 配下にコピーし、その下の support ディレクトリのパーミッションを 777 に変更します。
# mv MT-4.1-ja mt # cd mt # cp -pr mt-static /home/www/html/ # chmod 777 /home/www/html/mt-static/support |
サンプルの mt-config.cgi をコピーして編集します。MySQL を使用するので、関係ない PostgreSQL と SQLITE の項目は削除します。
# cp mt-config.cgi-original mt-config.cgi # vi mt-config.cgi [/home/www/cgi-bin/mt/mt-config.cgi] 15c15 < CGIPath http://www.example.com/cgi-bin/mt/ --- > CGIPath /cgi-bin/mt/ 21c21 < StaticWebPath http://www.example.com/mt-static --- > StaticWebPath /mt-static/ 29,31c29,31 < Database DATABASE_NAME < DBUser DATABASE_USERNAME < DBPassword DATABASE_PASSWORD --- > Database mt > DBUser mt > DBPassword herohero 33,44d32 < < ##### POSTGRESQL ##### < ObjectDriver DBI::postgres < Database DATABASE_NAME < DBUser DATABASE_USERNAME < DBPassword DATABASE_PASSWORD < DBHost localhost < < ##### SQLITE ##### < ObjectDriver DBI::sqlite < Database /path/to/sqlite/database/file < |
Webブラウザで、MovableType が動作しているかを確認します。
http://www.example.jp/cgi-bin/mt/mt-check.cgi
もちろん、example.jp は自分のドメインですよ。この時点で MovableType は使用できる状態になりますが、一部のオプションは使用不能です。
以下のオプションモジュールが未インストールと判明。
Crypt::DSA
IO::Uncompress::Gunzip
IO::Compress::Gzip
Image::Magick
XML::Atom
Mail::Sendmail
せっかくの自宅サーバなので全てのオプションが使用できるように perl のモジュールを追加していきます。ImageMagick は CentOS のパッケージが利用可能です。下の2つのパッケージは、後で XML::Atom を入れる際に要求される羽目になるので先に入れておきます。
# yum -y install ImageMagick ImageMagick-perl # yum -y install expat-devel libxml2-devel |
CentOS でパッケージの用意されていないものは perl の CPAN モジュールからインストールします。起動するとごちゃごちゃと色々聞かれますが、とりあえずデフォルトのまま Enter キーを押して先に進んでいけばインストールまでたどり着けるはずです。
# perl -MCPAN -e shell cpan> install Crypt::DSA cpan> install IO::Uncompress::Gunzip cpan> install XML::Atom cpan> install Mail::Sendmail |
以上でオプションが全て使用可能な MovableType 環境の完成です。ここまでできあがった時点でくじけました(笑)。この先は聞かないでね。