mtinstall - Movable Typeのインストール
このドキュメントは、お使いのマシンにMovable Typeシステムをインストールする手順を説明しています。
Movable Typeをインストールするには、以下が必要です。
最新の配布パッケージはMovable Typeのウェブサイトhttp://www.movabletype.jp/download.shtmlからいつでもダウンロードできます。
Movable Typeのダウンロード用配布パッケージには、2つのバージョンがあります。 一つはシステムを起動するのに必要な外部ライブラリをすべて含んだバージョンで、もう一つはMovable Typeのシステムだけが含まれたバージョンです。 ホスティング・プロバイダーに必要なモジュールがすべてインストールされている場合は、外部ライブラリが付属していない「ライト」バージョンをダウンロードします。 それ以外は、外部ライブラリを含む「フル」バージョンをインストールします。このバージョンは外部ライブラリのインストールを後で個別に行う必要がなくなるので、インストールが楽になります。
ダウンロードしたファイルは.tar.gzフォーマットまたはzipフォーマットで保存されています。これにMovable Type配布パッケージのファイルが圧縮されています。 このアーカイブを展開します。
以下のファイルは、Perlスクリプトのファイルです:mt-add-notify.cgi、mt-atom.cgi、mt-check.cgi、mt-comments.cgi、mt-load.cgi、mt-send-entry.cgi、mt-tb.cgi、mt-search.cgi、mt.cgi、mt-xmlrpc.cgi、およびmt-view.cgi。 これらのファイルの1行目には、ウェブサーバー上のPerlの設置場所までのパスが記述されている必要があります。これは通常、#!/usr/bin/perlです。 Perlがサーバー上の異なる場所に存在する場合は、1行目のパス名をたとえば/usr/local/bin/perlのように変更する必要があります。 パス名を変更する必要がある場合は、各ファイルの1行目の最後にある”-w
“を削除しないよう注意します。これはPerlの警告機能を有効にするためのもので、警告機能は常にオンにしておくことが重要だからです。
ウェブサーバー上のPerlの場所を調べるには、ホスティング・サービスのサポート・ページなどを参照してください。 もしくは、シェル(コマンド行)を実行できるアカウントを持っており、シェルに精通しているユーザーは、アカウントにログインした後、以下のコマンドを実行することもできます。
$ whereis perl
これは、システム上でのPerlへの1つ以上のパス名
を教えてくれます。
注:mt-db-pass.cgiは拡張子が.cgiですが、通常のPerlスクリプトではありません。したがって、このファイルには、Perlのパスを記載しないでください。
Movable Typeのインストール先をあなたのcgi-binディレクトリにする場合は、あなたのスタティック・ファイル(images、docs、styles.css、およびmt.js)をcgi-bin以外の場所にあるディレクトリにアップロードする必要があります。 スタティック・ファイルはcgi-binディレクトリ内に置かないでください。もし置いてしまうと、ウェブサーバーがスタティック・ファイルを実行しようとしてしまい、結果として、スタティック・ファイルがウェブ・インタフェースで使用できなくなります。
解決策としては、ウェブでアクセス可能なエリアにmt-staticと名付けたディレクトリを作成し、images、docs、styles.css、およびmt.jsをそのディレクトリに入れる方法があります。 その際mt-staticに対応するURLを書き留めておいてください。mt.cfgファイルでシステムを設定するときに必要になります。
ヒント:cgiwrapまたはsuexecを利用してシステムを実行すれば、Movable Typeのインストールがより安全で確実になります。 「cgiwrap またはsuexecの使い方のヒント」を参照して、これらのツールがあなたのシステムで利用できるかを確認してください。
外部のディレクトリを作成する必要はありません。
Movable TypeがサポートするBerkeley DBデータベース(デフォルト設定)を使う場合:
ウェブサーバー上のどこにMovable Typeのデータベース・ファイルを保存するかを選択します。
インストール先がcgi-binディレクトリでない場合は、セキュリティの関係上、データベースのディレクトリを、ウェブでアクセス可能なディレクトリ以外の場所に置くようおすすめします。 こうしておくと、ウェブ・ブラウザ経由でデータベースの内容にアクセスされるのを防ぐことができます。 たとえば、こうしたホスト・アカウントの多くは、ウェブからアクセスできないホーム・ディレクトリと、それとは別にウェブからアクセス可能なエリアのルートとなるpublic_htmlディレクトリを備えています。 ウェブアクセスが可能なエリア以外の場所にデータベースを置くと、ウェブ・ブラウザがあなたのデータベースの内容を参照するのを防ぐことができます。データベースをcgi-binディレクトリに置いておくのと同じ効果があります。
Movable TypeがサポートするSQLiteデータベースを使う場合:
SQLiteはデータを1つのデータベース・ファイルに保存します。 ただし、SQLite自身がデータベース・ファイルを作成できる必要があるため、だれもが書き込みできるディレクトリにデータベース・ファイルを保管しなければいけません。 したがって、SQLiteデータベース・ディレクトリの場所は、上記のBerkeley DBサポートに関するガイドラインに従います。
たとえばMovable Typeをhttp://www.your-site.com/movabletype/にインストールした場合、CGIPathの行を以下のように変更します。
CGIPath http://www.your-site.com/movabletype/
注:URLにはスラッシュ(/
)が最後に含まれていることをしっかり確認します。
mt.cfgの編集に使っているテキスト・エディタで、以下の行を加えます。
ObjectDriver driver_name Database database_name DBUser database_user
driver_nameがDBI::mysql、DBI::postgres、DBI::sqliteのいずれかである場合は、database_nameがデータを保管するためのSQLデータベースの名称で、database_userがデータベースに接続するユーザー名です。
SQLデータベースが別のホスト上で動作している場合は、DBHostを使ってホスト名を指定します。
DBHost database_host
SQLデータベースがlocalhost上で動作しているものの、ソケットの設定が標準とは異なる場合は、DBSocketを使うとソケットへのパスを設定できます。
DBSocket /path/to/mysql.sock
SQLデータベースがデフォルト以外のポートで動作している場合は、DBPortを使ってポートを指定します。
DBPort port_number
注:MySQLまたはPostgreSQLを使う場合、指定したデータベースはインストール時点で必ず存在している必要があります。Movable Typeはデータベースを自動生成しません。
注: SQLiteを使う場合、ユーザー名は必要ありません。database_nameはデータベース・ファイルの名前を指します。 データベース・ファイルには任意のファイル名を付けられます。たとえば、mtdbなどがよい例でしょう。 database_nameに、データベース・ファイルの保管先であるディレクトリの名前を入れます。 例:
Database db/mtdb
mt.cfgの編集に使っているテキスト・エディタで、以下の行を変更します。
DataSource ./db
これを以下の行に変更します。
DataSource /FULL/PATH/TO/DB
この行の/FULL/PATH/TO/DBは、あなたが作成したdbディレクトリまでのフルパス名で置き換えます。 たとえば、ディレクトリを/home/melody/dbに作成した場合、この行は以下のようになります。
DataSource /home/melody/db
mt.cfgファイルのStaticWebPath値を、スタティック・ファイル (images、docs、styles.css、およびmt.js)の保管先に指定したディレクトリのURLに設定する必要があります。 たとえば、ウェブアクセス可能なエリアのルートに、スタティック・ファイルを位置させる場合、以下の行をmt.cfgに足します。
StaticWebPath /mt-static/
cgiwrapとsuexecが提供する高度なセキュリティを有効にするには、mt.cfgファイルに以下の行を加えるか、デフォルトでコメントアウトされている部分のコメントを外し有効にします。
DBUmask 0022 HTMLUmask 0022 UploadUmask 0022 DirUmask 0022
セキュリティ上の理由から、あなたのSQLデータベースのパスワードをmt.cfgに保管しないようにしてください。 代わりにmt-db-pass.cgiというファイルに保管する必要があります。
テキスト・エディタでmt-db-pass.cgiを開きます。 以下の行を見つけます。
database_password
database_passwordを、SQLデータベースへの接続時に使用するパスワードに置き換えます。
mt-db-pass.cgiファイルを保存してテキスト・エディタを終了します。
Movable Typeの配布パッケージにあるすべてのファイルを、ウェブサーバーにアップロードします。
インストール先がcgi-binの場合:、images、docs、styles.css、およびmt.jsは、スタティック・ファイル用に指定した場所へアップロードしてください。
注:FTPでファイルをアップロードする際、通常はバイナリ・モードでアップロードしなければいけませんが、ファイルによってはASCIIモードでアップロードする必要があるものが存在します。 この操作を間違えると、スクリプトは動作しません。
ASCIIモードでアップロードする必要があるファイルとフォルダ: docs、lib、extlib、mt.cfg、styles.css、tmpl、schemas、search_templates、plugins、およびすべてのCGIスクリプト(mt.cgiなど)
バイナリ・モードでアップロードする必要があるファイルとフォルダ: images
権限を755に設定すると、システムのすべてのユーザーがRead
(読み取り)とExecute
(プログラム実行)の権限を持ち、所有者だけがWrite
(書き込み)の権限を持つようになります。
お使いのFTPプログラムがダイアログボックスなどで権限を設定する場合は、以下のように設定します。
Unixシェルで権限を設定する場合は、以下のコマンドを実行するだけです。
$ chmod 755 mt*.cgi
Movable Typeのデータベース保管場所に指定したディレクトリを開きます。
新しいディレクトリを作成してdbと名付けます。
Movable Typeをcgiwrapまたはsuexec下で起動していない場合は、このディレクトリdbへの権限を777に設定します(UnixシェルではCHMODを使い、ディレクトリの属性を変更します)。
権限を777に設定すると、システムのすべてのユーザーがRead
(読み取り)、Write
(書き込み)、およびExecute
(プログラム実行)の権限を持つようになります。
お使いのFTPプログラムがダイアログボックスなどで権限を設定する場合は、以下のように設定します。
Unixシェルで権限を設定する場合は、以下のコマンドを実行するだけです。
$ chmod 777 db
Movable Typeをcgiwrapまたはsuexec下で起動していない場合は、先ほど作成したディレクトリへの権限を777(上記参照)に設定します。
Movable Typeは、Movable Typeのプログラムのほかに、いくつかの標準Perlモジュールが必要です。 Movable Typeの配布パッケージの「フル」バージョンをダウンロードした場合は、DB_File、DBD::mysql、およびImage::Magick を除き、必要なモジュールがすべて揃っています(配布パッケージから除外されているモジュールはコンパイルが必要なため、Movable Typeと共に配布することができません)。 これらのモジュールがサーバーにインストールされているかを調べ、インストールされていない場合は、以下のステップに従ってインストールします。
Movable Typeはいくつかのオプション機能を利用するときに、オプションのPerlモジュールを必要とします。 これらオプション・モジュールの一覧は、後述の「オプション・モジュールのチェック
」セクションのステップ1に記載されています。ご利用のウェブサーバーに、あるオプションのモジュールがない場合、そのモジュールがどのオプション機能で必要なのかは後述します。 これらの機能を使用する場合は、該当するモジュールをインストールする必要がありますが、使用しない場合は必要ありません。
ウェブ・ブラウザを開いて、あなたのサイトにあるmt-check.cgiのURLにアクセスします。 たとえば、あなたのサイトがhttp://www.your-site.com/で、Movable Typeのファイルを/mtディレクトリにアップロードした場合は、http://www.your-site.com/mt/mt-check.cgiのURLにアクセスします。
mt-check.cgiは、必要なモジュールがサーバーにインストールされているかどうかをチェックするPerlスクリプトです。 このスクリプトの実行時に”500 Internal Server Error(500 内部サーバー・エラー)”が表示された場合は、まず、スクリプト権限を755(上記参照)に設定し、ファイルをASCIIモードでアップロードしたかどうかを確認します。 それでも問題が解決しない場合は、「トラブルシューティング」を参照してください。
スクリプトが正常に実行されると、"CHECKING FOR REQUIRED MODULES
”などのメッセージを表示します。 スクリプトの実行の結果、必要なモジュールがすべてインストールされていると表示された場合は、「システムの初期化」まで進んでください。
必要なモジュールをインストールする必要がある場合やオプションのモジュールが必要な場合は、以下の手順に従ってすぐにインストールしてください。
ウェブ・ブラウザを開いて、あなたのサイトにあるmt-load.cgiのURLにアクセスします。 たとえば、あなたのサイトがhttp://www.your-site.com/で、Movable Typeのファイルを/mtディレクトリにアップロードした場合は、http://www.your-site.com/mt/mt-load.cgiのURLにアクセスします。
mt-load.cgiは、Movable Typeデータベースに初期化データ(最初の投稿者、1つのウェブログ、およびいくつかの初期テンプレート)をロードするPerlスクリプトです。 このスクリプトの実行時に”500 Internal Server Error(500 内部サーバー・エラー)”が表示された場合は、まず、権限を755(上記参照)に設定し、ファイルをASCIIモードでアップロードしたかどうかを確認します。 それでも問題が解決しない場合は、「トラブルシューティング」を参照してください。
スクリプトが正常に実行されると、mt-load.cgiは正常動作していることを表示します。 問題があった場合は、エラーが生じたということを表示します。エラーへの対処手順は、「トラブルシューティング」を参照してください。
非常に重要なセキュリティに関する注記:
mt-load.cgiが正常に実行されたら、Movable Typeのインストール先のディレクトリからmt-load.cgiを削除してください。 mt-load.cgiを放置しておくと、他者があなたのインストールしたMovable Typeにウェブログを作成し、あなたのデータにアクセスできるようになる可能性があります。 mt-load.cgiをMovable Typeのインストール先ディレクトリから削除しないと、重大なセキュリティ・リスクを負うことになります。 したがって、すぐに削除してください。
システムのインストールは完了しました。使い始める準備は万全です。
すると、ウェブ・ブラウザにMovable Typeのログイン・プロンプトが表示されるはずです。 表示されない場合は、権限の設定をチェックし、CGIスクリプトをASCIIモードでアップロードしたかどうかを確認します。 それでも問題が解決しない場合は、「トラブルシューティング」を参照して㍊ ださい。
Melody
、パスワードをNelson
にしてログインします。 プロフィールの編集
」をクリックし、そこで投稿者名とパスワードを変えます。 First Weblog
という既存のウェブログが、Movable Typeでの最初のウェブログ設定に役立つでしょう。 First Weblog
には既製のテンプレートがいくつか付属しており、編集や削除によって好きなように変更できます。 ただし最初は変更しないでそのまま使った方が、Movable Typeのテンプレートのタグと構造がよくわかり、うまく使い始めることができるでしょう。 ウェブログを目的に合わせて設定するには、「ウェブログの管理
」の「First Weblog
」をクリックした後、「ウェブログの設定
」をクリックします。 ウェブログを任意の名称に変更し、説明を入力します。
次にパスとURL情報(ローカル・サイト・パス
、サイトのURL
、ローカル・アーカイブ・パス
、およびアーカイブのURL
)を設定します。 「ローカル・サイト・パス
」および「サイトのURL
」の値は、パスの例を示すため、デフォルトで表示されています。「ローカル・サイト・パス
」および「ローカル・アーカイブ・パス
」の値を設定するときには、相対パスより絶対パス(“/
”で始まるパス)の利用を推奨します。 これら4つのフィールドはすべて必ず入力してください。 これまでのインストール作業で、既にウェブログのディレクトリは作成されているはずです(上記の「ウェブログのディレクトリを作成する」を参照). ローカル・パス(サイトおよびアーカイブ用)にそれらのディレクトリまでのフルパス名を入力します。次にそれぞれに該当するURLを、それらのディレクトリに対応するように入力します。
そのほかの設定もあなたのウェブログに合うよう編集し、最後に「変更を保存
」を押します。
インストールすべきモジュールは、あなたのシステムにインストールされていないモジュールだけです。 mt-check.cgi(「Perlモジュールのチェック」を参照)を実行して、どのモジュールが必要かを調べます。
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-HTML-Template.tar.gz
アーカイブの残りのファイルは無視します。
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/downloads/Image/Size.pm
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-File-Spec.tar.gz
Movable Typeを、あなたが管理者としてアクセスできるWin32のマシンにインストールする場合、Perl Package Manager (PPM)を実行してDB_Fileをインストールすることができます。 「スタート」メニューから「ファイル名を指定して実行...
」を選択してppm
と入力し、プログラムを実行します。 PPMが実行されると、プロンプト(ppm>
)が表示されるので、その後に”install DB_File
”とタイプします。
ppm> install DB_File
Movable TypeをLinux/Unixマシンにインストールする場合は、サーバー管理者にDB_File をインストールするよう頼んでください。 あなたが管理者である場合は、まず最初にBerkeley DBライブラリ(http://www.sleepycat.com/からダウンロード)をインストールする必要があります。そして次にDB_File Perlモジュール (http://search.cpan.org/からダウンロード)をインストールします。
サーバーが必要とするDBDモジュールがない場合は、Movable TypeがサポートするBerkeley DBデータベース(デフォルト)の使用を検討してください。
Berkeley DBサポートを使用しない場合は、ホスティング・プロバイダーに連絡して、DBIモジュール、およびデータベースの接続に必要な上記のモジュールのいずれかをインストールするよう依頼する必要があります。 Movable TypeがサポートするSQLデータベースを使うためには、これらのモジュールが利用可能であるだけでなく、あなたのアカウントがSQLデータベースにアクセスできることが必要です。
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-CGI.tar.gz
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-LWP.tar.gz
http://www.movabletype.org/cpan/cpan-URI.tar.gz
extlib/LWP.pm extlib/LWP/ extlib/HTTP/ extlib/Net/ extlib/WWW/ extlib/URI.pm extlib/URI/
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-SOAP-Lite.tar.gz
extlib/SOAP/ extlib/XML/ extlib/XMLRPC/
extlibというディレクトリが存在しない場合は、作成します。 そしてそのディレクトリを開きます。
http://www.movabletype.org/cpan/cpan-File-Temp.tar.gz
Image::Magickのインストールには、ImageMagickライブラリのコンパイル、およびこのライブラリを利用するためのPerlモジュールのインストールが必要になります。 このモジュールをサーバーにインストールする場合は、システム管理者にインストールしてもらえるかを尋ねる必要があります。 Movable TypeはImage::Magickがなくても問題なく機能します。Image::Magickはオプションです。用途はアップロードした画像のサムネールを作成することに限られます。
警告:f2sアカウントでMovable Typeを起動すると問題が生じることが報告されています。 こうした問題はディスク容量が少ないときに限って発生しています。あなたのf2sアカウントのディスク容量が低い場合は、Movable Typeの起動に十分注意してください。データベースの更新時にディスク容量が不足すると、データが破損する恐れがあります。 このエラーはほとんどいつでも修正できるものですが、修正は非常に面倒です。 この問題は必ずしもMovable Typeまたはf2sに特異的なものではありません。ファイルの更新時にディスク容量がなくなると、こうした問題は発生しがちです。
サーバー上にあるPerlのバージョンが分からない場合は、以下の3つの方法のいずれかを試してみてください。
$ perl -v
このコマンドはウェブサーバーのPerlのバージョンを表示します。
Movable Typeの配布パッケージや、ほとんどの必須またはオプションのPerlモジュールは、Gzipで圧縮されたTARアーカイブの.tar.gzフォーマットで保存されています。 Unixをお使いの場合は、gunzipとtarを使うと、これらのアーカイブを展開できます。 例:
$ gunzip file.tar.gz $ tar -xvf file.tar
Macintoshをお使いの場合は、Stuffit Expanderがこれらのアーカイブを展開します。 Windowsをお使いの場合は、Winzip、Lhaplus等で展開できます。
注:Movable Typeの配布アーカイブを展開した後、1つのフォルダの直下にだけ、たくさんのファイルが存在しており、サブフォルダなど、階層的なディレクトリ構造が存在しない場合は、Movable Typeのインストールはうまくいきません。 この問題は通常、Winzipのウィザード・モードでアーカイブを展開したときに発生します。それが原因の場合は、クラシック・モードでWinzipを使うようにしてください。
cgiwrapおよびsuexecはウェブサーバー上にある特別のツールで、これによって、あなたのCGIスクリプトがウェブサーバーのスクリプトとしてではなく、あなた自身のスクリプトとして実行できます。 ウェブログやdb ディレクトリに権限を設定する必要がなくなるため(ただし、CGIスクリプトに対しては依然として権限を設定する必要があります)、Movable Typeのインストールが簡素化されます。また、あなたのウェブログ・ディレクトリに書き込めるのは、あなただけになるため、セキュリティが向上します。
サーバーにcgiwrapやsuexecがインストールされているかどうかは、ホスティング・プロバイダーに問い合わせないとわからない場合もあります。 ただし、Movable Typeによっても、cgiwrapやsuexecがサポートされているかどうかが推測できます。 mt-check.cgiの実行時に、サーバーにあるPerlのバージョンを報告する行の下に、以下の行があるかどうかチェックします。
(Probably) running under cgiwrap or suexec
この行は、サーバーにおそらくcgiwrapまたはsuexecがインストールされているだろうことを示しています。
Movable TypeをWin32サーバー用に設定するときは、次のヒントを念頭においておきます。
DataSource d:\full\path\to\db
Movable Typeをcgi-binディレクトリから実行していない場合は、Movable Typeのインストール先ディレクトリにある.htaccessファイルに以下の数行を加えて、mt.cfgファイルを保護することを推奨します。
<Files mt.cfg> <Limit GET> deny from all </Limit> </Files>