(おさらい)amon2単体で起動
$ /usr/local/bin/perl ./script/helmfan2-server -host colinux.a4.jp
で起動することで、次のurlへアクセスできます
http://colinux.a4.jp:5000/smarthelm/graph/style/yearly
(おさらい?)plackup経由で起動
次のようなplackupコマンドで起動しても、先程と同じurlにアクセスできます
$ plackup -a script/helmfan2-server --host colinux.a4.jp
(本題)apache2.2 + mod_perl2環境に組み込む
httpd.confに次のように記載することでapache2.2 + mod_perl2環境に組み込むことができます。
※「PerlSetVar psgi_app 〜」で指定しているscriptは、「amon2-setup.pl --flavor=Basic 〜」によるスケルトン作成時に自動生成されるamon2サーバの起動scriptです。
amon2自体には認証機能がない為、このような構成にすることでapache側でユーザ認証を行うことができます。
<Location / > # AllowOverride All # Order allow,deny # Allow from all # AuthType BASIC # AuthUserFile /home/endo/dev/htpasswd # AuthName "COLINUX MEMBERS" # require valid-user SetHandler perl-script PerlHandler Plack::Handler::Apache2 PerlSetVar psgi_app /home/endo/dev/HelmFan2/script/helmfan2-server </Location>
(おまけ)apache2.2リバースプロキシ+amon2の構成
webサーバ?を2個も起動することになりますが、httpd.confに次のように記載することも可能です。
(apache+tomcatな構成に似ていますね)
<Location /smarthelm > ProxyPass http://127.0.0.1:5000/smarthelm ProxyPassReverse http://127.0.0.1:5000/smarthelm AuthType BASIC AuthUserFile /home/endo/dev/htpasswd AuthName "COLINUX MEMBERS" require valid-user # RewriteEngine On # RewriteCond %{LA-U:REMOTE_USER} (.+) # RewriteRule . - [E=RU:%1,NS] # RequestHeader add X-Forwarded-User %{RU}e </Location> <Directory "/home/endo/dev/HelmFan2/static"> AllowOverride All Order allow,deny Allow from all </Directory> Alias /static /home/endo/dev/HelmFan2/static
apacheリバースプロキシの構成を使用する場合、バックエンドのamon2は「-host」を指定せず、次のように起動します
$ /usr/local/bin/perl ./script/helmfan2-server