2013年1月25日金曜日

An Installation of an Apache 2.4.3 on an OSX(10.8.2)

ロボットと、画像解析 service server ( Mac mini ) 間で、HTTP通信をする為に、Apache 2.4.3をインストールしました。また、起動時の自動実行を設定しました。
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! "  が、ブラウザーに表示されて、めでたし、めでたし
お決まりの、最初の画面
(9) CGIを試しても動かない。当たり前。下記の様に該当部分だけ変更する。
      下の指定方法は、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; }
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 件のコメント:

コメントを投稿