2

MovableType 5.2 には組み込みの PSGI サポートがあり (メイン ディレクトリの mt.psgi を介して)、starman/plackup を使用してそれを利用しようとしています。

Starman w/ MT は起動しますが、mt-upgrade.cgi を実行すると、奇妙な Not Found が表示され、サイレント ハング & 失敗します。

スターマンの実行方法:

cd /home/ec2-user/mysite/perl/components/movabletype
plackup -s Starman --port 8045 --error-log /home/ec2-user/mysite/perl/logs/starman.log --pid /home/ec2-user/mysite/perl/var/starman.pid -a mt.psgi

謎 1: 私のブラウザは index.html に対して "Not Found" を返しますが、mt-static と mt.cgi にはアクセスできます。

X http://mysite:8045/mt/index.html ... Not Found 
✓ http://mysite:8045/mt-static ... listing of static assets 
✓ http://mysite:8045/mt/mt.cgi ... redirects to ... 
X http://mysite:8045/mt/mt-upgrade.cgi?__mode=install ... fails

謎 2: リダイレクトにより、MT コードが実行されていると思います。しかし、さまざまな MT デバッグ オプションを試しても、starman ログにはほとんど何も表示されません。さらに悪いことに、mt-upgrade.cgi に到達したように見えますが、starman ログに次のメッセージが表示されて失敗します。

[mypid] Bootstrap CGI script in non-buffering mode: /home/ec2-user/mysite/perl/components/movabletype/mt-upgrade.cgi

この非バッファリング メッセージは、情報を提供するものであり、通常のように見え、MT コードベースからのものです。

また、starman の直下で実行したところ、同じ結果が得られました。

アイデアや助けをいただければ幸いです。

システム/環境:

MT_HOME='/home/ec2-user/mysite/perl/components/movabletype'

linux AMI on an amazon ec2.

perl-5.16.0 under perlbrew.

CPAN モジュール:

cpanm starman
cpanm CGI::PSGI
cpanm CGI::Parse::PSGI
cpanm CGI::Compile
yum install expat-devel
cpanm XML::Parser
cpanm SOAP::Lite
cpanm SOAP::Transport::HTTP
cpanm XMLRPC::Transport::HTTP::Plack
cpanm DBI
sudo yum install postgresql9-devel
cpanm DBD::Pg
cpanm Task::Plack

MT 構成:

CGIPath    http://mysite:8045/mt

StaticWebPath    http://mysite:8045/mt-static

PIDFilePath /home/ec2-user/mysite/perl/var/starman.pid

DebugMode 1

ObjectDriver DBI::postgres
Database db
DBUser dbuser
DBPassword dbpass
DBHost dbhost.mysite
4

4 に答える 4

2

ムーバブルタイプのリードエンジニアの高山です。あなたの手順を再現しようとしましたが、これを再現できませんでした。(これは、最初のインストール画面が表示されたことを意味します)

それで、あなたはmysqlで試すことができますか?また、「tools/upgrade」スクリプトを試すことはできますか? なんらかのエラーが発生したときにエラーメッセージが表示されると思います。

例) cd MT_HOME; perl -Ilib -Iextlib tools/upgrade --username --password --nickname --email --preferred_language --site_name --site_url --site_path --site_theme --site_timezone

そして、「index.htmlが見つかりませんでした」という回答がありました。

理由: MT は、MT_HOME を mt_static のように静的ファイル ディレクトリとしてマウントすることはありません。

于 2013-01-07T05:46:25.977 に答える
1

Movable Type を Starman の下で実行しようとしている場合は、Movable Type に付属のアップグレード スクリプトを、選択した同等のコマンド ラインを使用して実行することを強くお勧めします。Starman と Plack が許可する方法で mt-upgrade.cgi が永続化される正当な理由はありません。

于 2013-01-06T23:28:52.570 に答える
0

ところで、404オンhttp://mysite:8045/mt/index.htmlはかなり正常に見えます。サイトインデックスをMTと同じレベルにすることは想定されていません(可能ですが、これは推奨される設定ではなく、MTと生成されたサイトが明確に分離されていることを前提としたストックMTインストールでは機能しません)。

于 2012-12-04T09:36:43.203 に答える
0

mt-config.cgi のパスを URL ではなく相対パスに変更してみてください。そのようです:

CGIPath /mt/
StaticWebPath /mt-static/

興味深いことに、現在は動作しますが、PG がサポートされておらず、MT の将来のバージョンで動作しなくなる可能性があることを認識していますか?

PS また、ドキュメントに記載されている PIDFilePath ディレクティブも忘れないでください。

于 2012-12-03T23:33:51.323 に答える