ID-Blogger

Movable TypeでPHPが動かない場合の対処:パーミッションの変更

年末の足音が聞こえてまいりまして、なんだかお仕事がバタバタと入って忙しい事この上ないこの頃です。
帰宅できるが2日か3日おきというペースがしばらく続いており...orz

最近クライアントにサイト構築をご提案する際には、Movable Typeを組み込んでクライアントサイドで更新可能にするパターンが増えてます。
サイトの更新の度にご依頼いただくのは個人的にはうれしい限りなのですが、やっぱりこのご時世...コストはかけたくないのが心情ですので、気軽に更新できるシステムは喜ばれておりますw


先日もMovable Typeを組み込んで新規サイトを構築していたのですが、PHPを併用してより能動性の高いものにしようとなりまして、各ページの拡張子の設定を「.html」から「.php」に変更いたしました。
こういうコンローラブルな設定が可能なのがMovable Typeのまた良い部分でもあります。

テンプレートも一通り出来上がって、んじゃまいっちょ稼動テストでもしようかと再構築かけてみましたが...
ガ━━ΣΣ(゚Д゚;)━━ン
無常にも「500 Internal Server Error」発生でございます!

パーミッション「604」ではPHPが稼動しないサーバー

エラーの原因を探っていくと、どうもMovable Typeによって自動的に生成されたPHPファイルのパーミッションが「604」で、サーバー側で稼動させるには「705」になってないとイケないという事が判明しました!

セキュリティ志向の高いサーバーの場合には、PHPでもパーミッションが「755」じゃないとダメという設定の所もあるようです。
クライアントが自分で契約してきたサーバーだったんで、初めて触るヤツだったんですよ...


という事でMovable Type側で生成するPHPファイルのパーミッションをどうにかしなきゃイカンのですが、こればっかりは通常の設定項目にはありません。
で、ググりまくった結果...ありました!!

「mt-config.cgi」にパーミッション設定を追加する

Movable Typeのインストール時にほんとのほんとの初期設定ファイルである「mt-config.cgi」に、追加で設定を書き込みをすれば対処可能なようですw というワケで以下の様な呪文を追加しておきましょう。
...
##パーミッション指定
DBUmask 0072
HTMLUmask 0072
UploadUmask 0072
DirUmask 0072
HTMLPerms 0705
UploadPerms 0705
基本的にMovable Typeの「mt-config.cgi」に書き込む設定はどの場所にあっても関係ナイようなので、一番最後の行とかに追加するのでOKだと思います。

で自動生成されたファイルはFTPで全て消去し、改めて再構築を行います。
...
...
...
...
...

ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ ウゴイター

コメント(2)

私も以前モジュール化しようと試みて失敗に終わったのですが、同じエラーが出たのでコレが原因だったんでしょうね…
勉強になりましたm(_ _)m

>SZKさん
一概には言えませんが恐らくそうかもしれませんw
サーバーによって仕様が違うので難儀ですよね…