Movable Typeのインストール
このブログで使っているソフトウェアはMovable Typeなわけですが、Apache上にこれをインストールします。 なお、つい最近Movable Typeはセキュリティホールが見つかりアップデートが行われているので、必ず最新バージョン(2015年3月時点で4.38、5.07および5.13)をインストールするようにしましょう。
(2019年5月更新) TinyCore 9.x向けにアップデートしました。
CPANパッケージのインストール
Movable TypeはPerlで動作するのですが、いくつかのCPANパッケージを必要とします。 Tiny Coreのfrugal installでは、普通にCPANを使ってインストールすると、リブート時にそれが消えてしまうので、少々細工が必要となります。 それには、必要なファイルをTCZにしてアーカイブしておくのですが、それと同時に他のTCZのパッケージングの例に倣い、不要なファイルを削除してサイ ズを最小のパッケージにします。
具体的には、以下のパッケージが必要となります。
- TCZパッケージでインストールするもの(tce-load -wiする)
- perl5
- mysql
- ImageMagick (CAPTCHAに必要)
- CPANのコンパイルに必要となるもの(tce-load -wilする)
- compiletc (コンパイル環境のメタパッケージ)
- squashfs-tools-4.x (TCZ作成のため)
- mysql-dev (DBD::mysql作成のため)
- ImageMagick-dev (Image::Magick作成のため)
- 作成する必要のあるCPANパッケージ
- DBI
- DBD::mysql
- Image::Magick
必要なパッケージのインストール
まずは、必要なTCZパッケージを入れておきます。
% tce-load -wi perl5 % tce-load -wi mysql % tce-load -wi ImageMagick % tce-load -wil compiletc % tce-load -wil squashfs-tools-4.x % tce-load -wil mysql-dev
CPANの設定
次に、CPANパッケージをインストールするのですが、あとでTCZパッケージを作成するため、インストール先を/tmp下にしておきます。
% cd /tmp % mkdir -p /tmp/pkg/usr/local/lib/perl5/5.14.1/ % cpan o conf makepl_arg "LIB=/tmp/pkg/usr/local/lib/perl5/5.14.1 \ PREFIX=/tmp/pkg/usr/local/lib/perl5/5.14.1 \ INSTALLMAN1DIR=/tmp/man1 INSTALLMAN3DIR=/tmp/man3" (ここでインストール先をデフォルトから変更) o conf commit o exit
この設定では、cpanのパッケージは/tmp/pkgにインストールされます。 マニュアル類は/tmp/man1および/tmp/man3に入りますが、これらのファイルはここでは使わないので捨ててしまいます。 完全なパッケージを作るなら、これらを入れたものにするか、マニュアル類を別途パッケージ化しますが、ここでは省略します。
DBIの作成とインストール
% cpan DBI % mksquashfs pkg perl_DBI.tcz % cd pkg % find usr -not -type d > ../perl_DBI.tcz.list % cp perl_DBI.tcz perl_DBI.tcz.list /mnt/sda1/tce/optional % tce-load -wi perl_DBI
これでDBIを含むperl_DBI.tczというパッケージができました。
DBD::mysqlの作成とインストール
DBD::mysqlについても同様にします。
% rm -rf /tmp/pkg/* % cpan DBD::mysql % mksquashfs pkg perl_DBD_mysql.tcz % cd pkg % find usr -not -type d > ../perl_DBD_mysql.tcz.list % cp perl_DBD_mysql.tcz perl_DBD_mysql.tcz.list /mnt/sda1/tce/optional % tce-load -wi perl_DBD_mysql
ちょっと面倒なImage::Magickの作成とインストール
Image::Magick は少々厄介です。 TinyCore 4.2.1でダウンロードされるImageMagickのバージョンは6.7.3なのですが、私がCPANを使って入手した最新の Image::Magick CPANパッケージのバージョンは6.7.4になります。 この両者は互換性がないようで、コンパイルが失敗します。そのため、別途ImageMagick-6.7.3をダウンロードし、中から Image::Magick (PerlMagick)を抜き出して使うことにします。 もしCHAPTCHAを使わないのであれば、この作業は不要です。
(リスト5)
% cd /tmp % mkdir pm % tar xf ImageMagick-6.7.3-9.tar.gz % cd PerlMagick % perl Makefile.PL LIB=/tmp/pm/usr/local/lib/perl/ INSTALLMAN1DIR=/tmp/man1 INSTALLMAN3DIR=/tmp/man3 % make install % mksquashfs pm perl_Image_Magick.tcz % cd pkg % find usr -not -type d > ../perl_Image_Magick.tcz.list % cp perl_Image_Magick.tcz perl_Image_Magick.tcz.list /mnt/sda1/tce/optional % tce-load -wi perl_Image_Magick
必要なパッケージのインストールができたの で、Movable Typeをインストールします。 私はバージョン5を使いました。 まず、パッケージをcgi-binで展開し、mt-staticディレクトリをWebで普通に参照可能な場所に移動します。 なお、この例ではApacheの設定は前回のApacheのセットアップで使ったものを利用しています。
% cd /mnt/sda1/apache2/cgi-bin % unzip MT-5_13-ja.zip % mv MT-5_13-ja mt % cd mt % mv mt-static /mnt/sda1/apache2/htdocs
TinyCore 9の場合(更新)
TinyCore 9.xの場合、ImageMagickのバージョンは6.8.7になり、少しインストール方法が変わります。
以下、コマンドだけ挙げます。(リスト5)の部分が置きかわります。
wget https://imagemagick.org/download/releases/ImageMagick-6.8.7-10.tar.xz
cd /tmp
tar vxf ImageMagick-6.8.7-10.tar.xz
cd ImageMagick-6.8.7-10
./configure --with-quantum-depth=16 --with-perl=/usr/local/bin/perl --prefix=/tmp/pm
make perl-sources
cd PerlMagick/
perl Makefile.PL LIB=/tmp/pm/usr/local/lib/perl/5.26.1/ INSTALLSITEMAN1DIR=/tmp/man1 INSTALLSITEMAN3DIR=/tmp/man3
make
make install
mksquashfs pm perl_Image_Magick.tcz
(cd pm;find usr -not -type d > ../perl_Image_Magick.tcz.list)
cp perl_Image_Magick.tcz perl_Image_Magick.tcz.list /mnt/sda1/tce/optional
tce-load -wi perl_Image_Magick
また、いくつかCPANパッケージが不足するので入れておきます。
(HTML::Tagset)
cpan HTML::Tagset
sudo rm -rf pkg/usr/local/lib/perl5/5.26.1/share
mksquashfs pkg perl_HTML_Tagset.tcz
(cd pkg;find usr -not -type d > ../perl_HTML_Tagset.tcz.list)
cp perl_HTML_Tagset.tcz perl_HTML_Tagset.tcz.list /mnt/sda1/tce/optional
tce-load -i perl_HTML_Tagset
sudo rm -rf pkg
(HTML::Entities)
cpan HTML::Entities
sudo rm -rf pkg/usr/local/lib/perl5/5.26.1/share
mksquashfs pkg perl_HTML_Entities.tcz
(cd pkg;find usr -not -type d > ../perl_HTML_Entities.tcz.list)
cp perl_HTML_Entities.tcz perl_HTML_Entities.tcz.list /mnt/sda1/tce/optional
tce-load -i perl_HTML_Entities
対話式インストーラの起動
あとは、Webブラウザでhttp://ドメイン名/cgi-bin/mt/にアクセスし、対話式インストーラでインストールしてください。 詳しいドキュメントはMovable Typeのサイトにあります。
一点注意としては、セットアップ後に作成されるcgi-bin/mt/mt-config.cgiに次の行を追加しておきます。
CaptchaSourceImageBase /mnt/sda1/apache2/htdocs/mt-static/images/captcha-source
以上です。
おまけ: TinyCore 9.xでは
新しいバージョンのTinyCore Linuxでは、mysqlの代わりにmariadbが付属しています。mysqlをインストールする代わりに
% tce-load -wi mariadb % tce-load -wi mariadb-dev
としておけば、コマンド名も同じなのでそのまま使えます。
ただ、cpan時に
% cpan DBI
Can't exec "mysql_config": No such file or directory at Makefile.PL line 573.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
のようなエラーが出た場合、mysql_configがあるディレクトリが変わったのが原因ですので、
% export PATH=$PATH:/usr/local/mysql/bin/
しておきます。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!