Movable Type 3系のエラー:Permission denied at lib/MT/FileMgr/Local.pm
今更ながら、MT3を扱う場面がありまして。
環境まるごと別サーバに移管するという作業だったのですが、前担当者からはコピペでいけると言われつつも色々と苦戦。
特につまったのが以下の感じのエラー。
ディレクトリー/var/hogehoge.com/domains/sub.hogehoge.com/public_html/hogehogeの作成に失敗しました: mkdir /var/hogehoge.com/domains/sub.hogehoge.com/public_html/hogehoge: Permission denied at lib/MT/FileMgr/Local.pm line 107
再構築のたんびにこれがでる。
書いてるとおりで、サイト公開パスやアーカイブパスに設定したディレクトリのパーミッションがおかしいよ、ってことなんだろうけど、どうにも直ってくれない。
色々検索すると、大体のところに以下の対処法がありました。
- フォルダーが存在しない
- パーミッション設定が間違っている。
- 何回もやり直してたらうまくいった
- パス指定の文字列が、どっかで間違ってる
で、一通り試して、もうなんか色々いじったのですがどうにも直ってくれない。
ムキー!となってふと気づいたのが、
このMTを設置した場所が、CentOS上のWebmin+Virtualminの環境で
そっちからきったサブドメインの中なのですが、
/var/hogehoge.com/domains/sub.hogehoge.com/public_html/
もしかしてこのへんがなんか悪さしてパスの指定方法になんか制約があるのか!?と閃いて
MT設置フォルダからの相対パスで指定したら成功!!!
MT設置フォルダが
/var/hogehoge.com/domains/sub.hogehoge.com/mt
ここで、公開したいフォルダが
/var/hogehoge.com/domains/sub.hogehoge.com/public_html/
ここの場合、
../public_html
と指定したらうまくいきました。
再度色々調べたら、サーバ環境次第では絶対パス指定できないところもあるそうで
この方法で対処されてる方もいらっしゃいました。あーつかれた。