及川WEB室|ホームページ制作

HTML、CSS、JavaScript、スマートフォンサイト、Facebookなど、サイト制作に関する事をメモしています。
個人的な備忘録です。
及川WEB室 ホームページ制作HOME
及川WEB室 > Facebook > ダイナミックパブリッシングで再構築したらInternal Server Errorになった時の対処方法@さくらインターネット

Movable Type をダイナミックパブリッシングで再構築したら Internal Server Error(500エラー)になった時の対処方法@さくらインターネット

さくらインターネット(スタンダード プラン)で、Movable Type 5.2.7(以下MTと表記)を使っている。
アーカイブテンプレートの公開設定をダイナミックパブリッシングにして[保存と再構築]をしたら、サイトがInternal Server Error (500エラー)となり、きちんと表示出来なくなってしまった。
MT テンプレート ダイナミックパブリッシング MT テンプレート ダイナミックパブリッシング Internal Server Error 500 error その対処方法をメモ。

下記のサイトを参考にさせていただき、エラー表示を回避することが出来た。
小粋空間: さくらインターネットで Movable Type のダイナミックパブリッシングによる500エラーを確実に解消する方法
ダイナミックパブリッシングを有効にすると500エラーが発生する | Movable Type FAQ

.htaccess を編集

ブログのルートにある.htaccess ファイルをPCにダウンロードして、TeraPad などのテキストエディタで開く。
 
## %%%%%%% Movable Type generated this part; don't remove this line! %%%%%%%
# Disable fancy indexes, so mtview.php gets a chance...
Options -Indexes
  <IfModule mod_rewrite.c>
  # The mod_rewrite solution is the preferred way to invoke
  # dynamic pages, because of its flexibility.
・・・
さくらインターネットではサーバの仕様で .htaccess に Options が使えないため(さくらインターネット公式サポートサイト参照)、.htaccess の4行目付近の「Options -Indexes」の行頭に # をつけてコメントアウトして保存し、元の場所にアップロードする。
 
## %%%%%%% Movable Type generated this part; don't remove this line! %%%%%%%
# Disable fancy indexes, so mtview.php gets a chance...
#Options -Indexes
  <IfModule mod_rewrite.c>
  # The mod_rewrite solution is the preferred way to invoke
  # dynamic pages, because of its flexibility.
・・・

ブログのフォルダの属性(パーミッション)を755に変更

ブログのフォルダ(ブログの公開パスの最後のフォルダ、MTがファイルを出力するディレクトリ)の属性(パーミッション)を755もしくは705に変更する。
私の場合はブログのURLが http://architecture.sakura.ne.jp/map/blog/ なので、「blog」フォルダの属性を変更。 属性 パーミッション さくらインターネットではsuExec というシステムが導入されている(さくらインターネット公式サポートサイト参照)。
suExec環境では、パーミッションが777だとサーバーエラーになってしまうので755もしくは705に変更する必要があるそう。

mt-config.cgi の設定

MTのインストールディレクトリにある mt-config.cgi をPCにダウンロードし、Terapad などのテキストエディタで開く。
下記を追加で記述して保存し、元の場所にアップロードする。
#======== Permission =======================
DirUmask 0072
HTMLPerms 0777
HTMLUmask 0022
UploadPerms 0777
UploadUmask 0022
  • DirUmask
    MTがディレクトリを作成する時のパーミッションを指定。
    0022だと0755、0072だと0705。(デフォルトは0777)
  • HTMLPerms
    MTがファイルを作成する時のパーミッションを指定。
  • HTMLUmask
    MTがファイルとディレクトリの作成する時のパーミッション。
    cgiwrap と suexec 環境下の場合、0022にする必要がある。
  • UploadPerms
    MTがファイルを作成する時のパーミッションを指定。
  • UploadUmask
    MTがファイルとディレクトリの作成する時のパーミッション。
    cgiwrap と suexec 環境下の場合、0022にする必要がある。

以上で、Internal Server Error(500エラー)は回避され、サイトがきちんと表示されました。
地図ブログ|Google Maps Api と Movable Type を組み合わせた「地図ブログ」
MENU Ξ