MacPortsではApache2.2しかインストールできないので、ビルドしました。
Apache HTTP サーバ バージョン 2.4 に従って行えばインストールまでは問題ありませんでした。全部で30分程度の作業です。ただし、Apatchは大きなシステムなので「肝」は「どのような運用をしたいか?」その一点。後は、それに基づく設定です。
僕の運用では、Monkey HTTP Serverで十分なのですが、Mac はmonkeyの対象外です。でも、確かめ見るのも、一興です。予想通りsourceからのbuildが巧く行かない、また解明する時間もないのでApacheを使う事にしました。
結局、ロボット間、サービス間の通信は、ほとんどをHTTP上で行う事に変更しました。元々、メッセージはXMLで定義していた。やっぱりこの方が楽なのと、通信制御と管理が、RDCSのscenario controller で十分可能な事が分かったので、変更をかけています。自分でやっているのに、結構気がつかない事が多い。設計時も、全く別ものとして考えていたので。思い込みは恐ろしい。scenario controllerは、簡単に言えば分散エージェント制御とworkflow engineを足したもの。
XML との付き合いは、もう15年目です。長いなぁ。でも、データ交換の側面だけが広がり、もう一つの本質的な側面が見過ごされている。僕は、見過ごされてきた方の技術に着目して、組織のコミュニケーションやイノベーションの研究に活用し、幸いにも沢山の企業に活用されているシステム製品の開発、また、地域活性化支援システムや教育支援システムの研究開発の仕事をしてきました。回りにも規格化で活躍している人も居たので、XMLには想い入れもあるのですが、、、ただ、見過ごされてきた技術には、システム思考と構造化技法の理解が必要なので、日本では広がらないと思います。
(1) Apacheのサイトから 2.4.3のソースをダウンロードして解凍
(2) ./configure
(3) make
(4) sudo make install
インストール先は、defaultで /usr/local/apache2 になります。
(5) sudo vi httpd.conf
ServerName 127.0.0.1:80 enable & change
(6) sudo /usr/local/apache2/bin/apachectl -k start
(7) ブラウザーに、127.0.0.1 を入力
(8) " It works! " が、ブラウザーに表示されて、めでたし、めでたし
お決まりの、最初の画面 |
下の指定方法は、2重に設定しているが、今回は元のhttpd.confを
そのまま使うので、CGI実行に該当する所を全て変更する
(10) sudo vi httpd.conf
LoadModule cgid_module modules/mod_cgid.so enable
Options Indexes FollowSymLinks ExecCGI add ’ExecCGI’
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" enable
<Directory "/usr/local/apache2/cgi-bin"> change & add
AllowOverride None
Options ExecCGI
Require all granted
Order allow,deny
Allow from all
AddHandler cgi-script .cgi .pl .sh
AddHandler text/html .html
AddHandler text/css .css
AddHandler image/gif .gif
AddHandler image/jpg .jpg
</Directory>
AddHandler cgi-script .cgi .pl .sh enable & add .pl .sh
(11) sudo /usr/local/apache2/bin/apachectl -k restart
これで、CGIは、OK
(12) Macでの自動起動設定
sudo mkdir /Library/StartupItems/apache2
sudo vi /Library/StartupItems/apache2/apache2
cat /Library/StartupItems/apache2/apache2
#!/bin/sh
. /etc/rc.common
StartService ()
{
/usr/local/apache2/bin/apachectl -k start
}
StopService ()
{
/usr/local/apache2/bin/apachectl -k stop
}
RestartService () { StartService; }
{
Description = "Apache 2.4.3 HTTP Server";
Provides = ("The Apache Software Foundation");
}
これで、CGIは、OK
(12) Macでの自動起動設定
sudo mkdir /Library/StartupItems/apache2
sudo vi /Library/StartupItems/apache2/apache2
cat /Library/StartupItems/apache2/apache2
#!/bin/sh
. /etc/rc.common
StartService ()
{
/usr/local/apache2/bin/apachectl -k start
}
StopService ()
{
/usr/local/apache2/bin/apachectl -k stop
}
RestartService () { StartService; }
sudo chmod 755 /Library/StartupItems/apache2/apache2
sudo vi /Library/StartupItems/apache2/StartupParameters.plist
cat /Library/StartupItems/apache2/StartupParameters.plist{
Description = "Apache 2.4.3 HTTP Server";
Provides = ("The Apache Software Foundation");
}
これで、次回からは自動起動です。
peace!
0 件のコメント:
コメントを投稿