3

現在、スタンドアローン plackup サーバーで (run.pl を介して) Poet Web サイトを実行している場合、この Poet Web サイトをホストするように Apache2 を構成するにはどうすればよいですか?

「+apache2 +poet」で検索すると、(詩を公開するために) Apache2 を使用している詩人に関する多くの結果や、「Mason 2 は Apache/mod_perl 1 で動作する」などの記事が表示されます。それから、 http://metacpan.org/pod/PSGI ::FAQのような文書があり、「Plack では、Apache2 のようなほとんどの Web サーバーを既にサポートしています」と書かれていますが、そのようなサポートがどのように提供されているかについての詳細は一切説明されていません。

既存の Poet Web サイトを Apache で実行するために最低限必要な Apache2 構成ファイルは何ですか?

ここに私の既存のプロジェクトのレイアウトがあります:

/Users/me/Documents/Ponies/poet
    bin
        run.pl
    comps
        index.mc
    conf
    data
    db
    lib
    logs
    static
    t

これが私の開始時の httpd.conf ファイルです。

LoadModule log_config_module /opt/local/apache2/modules/mod_log_config.so

Listen 5000
ServerRoot /Users/me/Documents/Ponies/poet
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog logs/access.log combined
Errorlog logs/error.log
PidFile httpd.pid
LockFile accept.lock
User  me
Group staff

<VirtualHost *:5000>
ServerName foo.local
DocumentRoot /Users/me/Documents/Ponies/poet/
AddHandler cgi-script .cgi .pl .py
<Directory "/Users/me/Documents/Ponies/poet">
Options +ExecCGI
</Directory>
</VirtualHost>

http://foo.local/ponies/などの URL を取得してコンテンツを作成するために、Poet Web サイトのどの部分を指し示す必要があるかが示されている限り、適切なドキュメントへのリンクを歓迎します。によって生成され…/Ponies/poet/comps/index.mcます。

4

1 に答える 1

1

を使用できますmod_perlmod_perl クイック スタート ガイドを読んでから、 Plack のドキュメントを確認してください。Poet 環境で必要なキー ファイルはbin/app.psgi. そのファイルを PSGI 仕様と Plack のドキュメントと関連付けて調べると、何が起こっているのかを理解するのに役立ちます (Plack は単に PSGI の実装であることを思い出してください)。

すぐに開始するには、次の httpd.conf ファイルを使用します。LoadModule 行と VirtualHost の内容の置換に注意してください。

LoadModule log_config_module /opt/local/apache2/modules/mod_log_config.so
LoadModule perl_module       /opt/local/apache2/modules/mod_perl.so

Listen 5000
ServerRoot /Users/me/Documents/Ponies/poet
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog logs/access.log combined
Errorlog logs/error.log
PidFile httpd.pid
LockFile accept.lock
User  me
Group staff

<VirtualHost *:5000>
ServerName foo.local
DocumentRoot /Users/me/Documents/Ponies/poet/
<Location />
    SetHandler perl-script
    PerlResponseHandler Plack::Handler::Apache2
    PerlSetVar psgi_app /Users/me/Documents/Ponies/poet/bin/app.psgi
</Location>
</VirtualHost>

もちろん、これはデフォルトの Poet インストールと同じポート 5000 の「実際の」Web サーバーに接続するための最小限の構成でありplackup、複数のアプリケーションでホストを共有するセキュリティなどのささいなことは考慮されていません。 、または Web マスター、システム管理者、またはネットワーク セキュリティ マネージャーが考慮に入れる必要があるその他の詳細をいくつでも指定できます。

于 2012-10-30T03:01:50.390 に答える