Template Bank[テンプレートバンク]
疑問・質問コーナ

サイトの再構築時にInternal Server Errorが表示される

Category : 疑問・質問コーナ

サイトを再構築した再に、「500 Eorror」や、「Internal Server Error」などが表示されて、再構築できません。
エラーの原因と対処方法を教えてください。

このエラーは、サーバのタイムアウトが原因で発生するエラーです。
エラーが発生する原因とその対処方法について、解説します。

■Internal Server Errorが表示される原因

Movable Typeのサイトを再構築したときに、Internal Server Errorが表示される原因には、以下のことが考えられます。

1.サーバの負荷が高い(アクセスが集中している)
2.記事が大量にあるために、再構築に時間が掛かっている。

ひとことで言えば、サーバの能力(スペック)が低いために発生するエラーです。
手っ取り早いのは、サーバの能力を増強してもらうことですが、まず不可能でしょう。

私たちの手で解決するしかありません。


では、ひとつずつ対処方法を説明します。

■サーバの負荷を減らす

サーバの負荷が高くなることで発生しているエラーですから、サーバの負荷を減らしてあげれば、解決します。

記事が大量にある場合は、1度に再構築するエントリーアーカイブ量を減らします。

1度に再構築するエントリーアーカイブ量を減らすには、mt-config.cgiファイルの「EntriesPerRebuild」を変更します。

具体的な手順は以下の通り

1.mt-config.cgiファイルを開く

2.以下の記述がある部分を探す

EntriesPerRebuild 40

3.上記の「40」という数字を小さくする。(例えば、10くらいにする)

4.EntriesPerRebuildの先頭に「#」があれば、削除する。
 (※#は、「この行はコメントです」という意味ですから、Movable Typeはその行を無視します)

副作用として、再構築する時間が長くなりますが、再構築されないよりはずっといいでしょう。

■それでもダメなら、使用しているデータベースを変更する

BerkeleyDB(標準)を使用している方は、データベースを変えてみるのも効果があります。

ただし、データベースを変更するということは、Movable Typeのインストールからやり直すということを意味しますので、それなりの覚悟が必要です。


ここでは、BerkeleyDBからMySQLへ移行する手順を説明します。


1.テンプレートをバックアップする。

 [(例)バックアップするテンプレート一覧]
 ・スタイルシート
 ・メインページ
 ・カテゴリー・アーカイブ
 ・エントリー・アーカイブ
 ・テンプレート・モジュールすべて(使用している場合のみ)
 ・Atom(標準からカスタマイズしている場合のみ)
 ・RSS2.0(標準からカスタマイズしている場合のみ)
 ・その他カスタマイズしたテンプレートすべて

2.記事をバックアップする。

Movable Typeにログインして、「メイン・メニュー」→「ユーティリティ」→「読み込み/書き出し」をクリックします。

次に、「エントリーの書き出し」を」クリックして、「○○○○○○○○」からエントリーを書き出すをクリックします。
(○○○○○○は、ご自分のブログ名です。)

ファイルのダウンロードがはじまりますので、パソコンの適当なフォルダにファイルを保存します。
(よくわからない人は、ディスクトップに保存しましょう)


3.dbフォルダをバックアップする。

万が一データベースの移行が失敗したときのことを考えて、サーバのdbフォルダを丸ごとバックアップします。

FFFTPなどのFTPソフトでサーバに接続します。
Movable Typeのインストールフォルダ(mt.cgiがあるフォルダ)に、dbという名前のフォルダがありますので、フォルダ毎ダウンロードしてください。


4.MySQLにデータベースを作成する。

Movable Typeを再インストールする前に、事前にMySQLにデータデータベースを作成します。
MySQLでデータベースを作成する方法は、レンタルサーバによって異なりますので、詳しくは、レンタルサーバのサイトでご確認ください。

データベースを作成したら、MySQLのデータベース名、MySQLへログインするためのユーザID、パスワードをメモしておきます。


5.mt-config.cgiファイルを編集する。

次に、mt-config.cgiを編集し、データベースを変更します。

mt-config.cgiをテキストエディタで開き、以下の部分を変更してください。

【編集前】


### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
DataSource ./db

上記の「 DataSource ./db」とう行の先頭に「#」を挿入します。

【編集後】


### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
# DataSource ./db

次に、MySQLを部分を変更します。

【編集前】


### MySQL Configuration - Add the name of your database, username
# password and, optionally database host given to you by your web
# hosting provider.
#
# ObjectDriver DBI::mysql
# Database
# DBUser
# DBPassword
# DBHost localhost

上記の「 Database」の行、「DBUser」の行、「DBPassword」の行の先頭の「#」を削除します。
に、ご自分のMySQLデータベース名
に、ご自分のMySQLにログインするときのユーザID
に、ご自分のMySQLにログインするときのパスワード
を記述します。


【編集後】


### MySQL Configuration - Add the name of your database, username
# password and, optionally database host given to you by your web
# hosting provider.
#
ObjectDriver DBI::mysql
Database (あなたがお使いのデータベース名)
DBUser (あなたがMySQLを使うときのユーザID)
DBPassword (あなたがMySQLを使うときのパスワード)
DBHost localhost

編集が終わったら、ファイルを保存して、サーバにアップロード(転送)します。


6.Movable Typeを再インストールする。

http://(あなたのドメイン)/cgi-bin/mt/mt.cgiにアクセスします。

後は、画面の指示にしたがって、インストールを実行してください。


7.テンプレートの復旧

手順1でバックアップしたテンプレートをすべて、元にもどします。


8.記事の復旧

手順2でバックアップした記事をもとにもどします。

Movable Typeのインストールフォルダに、「import」という名前でフォルダを作成してください。

作成した「import」フォルダに、手順2で保存したファイルをアップロードします。

次に、Movable Typeにログインして、「メイン・メニュー」→「ユーティリティ」→「読み込み/書き出し」をクリックします。

「エントリーの投稿者を自分にする」にチェックを入れて、「読み込み/書き出し」ボタンを押して、記事を読み込みます。

「データがすべて読み込まれました」と表示されれば、記事の復旧は完了です。

後は、エラーにならないことを祈りつつ、サイトを再構築してください。

■ワンポイントアドバイス

サブカテゴリを設定していた場合、記事の読み込みを行うと、すべてのカテゴリがトップレベルになってしまいます。

その場合は、メイン・メニュー→カテゴリーから、カテゴリーを移動してください。

カテゴリーを移動したあとに、サイトを再構築するのを忘れずに♪


関連記事
Category

Movable Typeとは、なぜMovable Typeを使うのか、Movable Typeのしくみ、テンプレートとは、プラグインとは、Movable Typeの基本を初心者にもわかりやすく解説します。

テンプレートの作り方、スタイルシートを使ったデザイン、プラグインの紹介と使い方、モジュール・テンプレートの使い方、1カラム型・2カラム型・3カラム型テンプレートの作り方などを初心者にもわかりやすく解説します。

1カラム型、2カラム型、3カラム型のテンプレートを作る方法

Movable Typeのスタイルシートを使って、オリジナルデザインにしよう

インストールのトラブル、記事(エントリー)投稿時のトラブル、サーバエラーやページが表示されないなどのMovable Typeに関する疑問・質問を解決します。

Movable Type3.2用のテンプレートを無料配布しています。 1カラム型、2カラム左サイドバー型、2カラム右サイトバー型、3カラム型、フリースタイルなど今後もどんどん追加する予定です。