2. x86 Intel Solaris 10 へのWebObjectsアダプタのインストール
- 2006.03.07
- WebObjects
- 1. ■CGIアダプタ(cgi-bin/WebObjects) 対 HTTPアダプタ(mod_WebObjects.so)
- 2. ■どちらにせよコンパイルして作る
- 3. ■Adaptorの部屋へ移動する
- 4. ■make.configを修正する
- 5. ■Makefileを修正する
- 6. ■gmakeする
- 7. ■出来上がったブツは、ここ
- 8. ■CGIアダプタを使う場合の下準備
- 9. ■CGIアダプタを使う場合の設定
- 10. ■設定の確認
- 11. ■apacheの再起動
- 12. ■設定の確認
- 13. ■mod_WebObjects.soを使う場合の下準備
- 14. ■httpd.confに一行追加する
- 15. ■apache.confを修正する
- 16. ■設定の確認
- 17. ■apacheの再起動
- 18. ■設定の確認
■CGIアダプタ(cgi-bin/WebObjects) 対 HTTPアダプタ(mod_WebObjects.so)
CGIアダプタ(cgi-bin/WebObjects)を通してWebObjectsアプリケーションにアクセスする方法と、Apacheのモ ジュールとしてmod_webobjects.soを使う方法を選ぶ。(ここでは、わかりやすい表現としてHTTPアダプタとは言わず、モジュールと言っ てます)
- CGIアダプタ(cgi-bin/WebObjects) > 確実に動く
- モジュール(mod_webObjects.so) > 動作が速い
■どちらにせよコンパイルして作る
コンパイルすればどちらも作れるのだが、ちょっとばかり仕込みをしておく必要がある。「コンパイラはgcc」「作るものはCGIアダプタだけ」「メイクはgmake」など。その設定をこれから行う。
■Adaptorの部屋へ移動する
コンパイル作業を行うため、アダプタ制作のための部屋へ入って作業をしなくてはいけない。各自のWebObjectsインストール場所に置き換えて読み進めていただきたい。
# cd /opt/WebObjects5.2.4/Developer/Examples/WebObjects/Source/Adaptors # ls -F APPLE_LICENSE IIS/ build/ woadaptor.dtd Adaptor/ Makefile example.xml woadaptor.xml Apache/ Makefile.ORG make.config CGI/ NSAPI/ make.config.ORG
これからさわるmake.config、Makefileは、 バックアップをとっておく。
こ の部屋にいるmake.config、こいつがコンパイル するときの元締めとなっている。Apacheディレクトリには、Apacheモジュール(mod_webobjects.so)を作るための道具がそろっ ている。CGIアダプタを作るための道具は、CGIディレクトリの中にそろっているのだ。
■make.configを修正する
何を作るか?APXSはどこにあるか?CCは何を使うか? を教えてあげる。
make.config 32行目付近
ifeq "SOLARIS" "$(OS)" ADAPTORS = CGI Apache (NSAPIを削除して、CGIアダプタとApacheモジュールだけを作ると指定) # Default path for apxs on Solaris 8. APXS = /usr/local/apache/bin/apxs (自分で用意したApacheのbinのapxsを使うぞ、と) CC = gcc (gccを/usr/sfw/bin/gccのように絶対指定するのもよし) endif
Apacheモジュールを作ることに失敗するときは、CGIアダプタのみを作ればOK。
■Makefileを修正する
makeをgmakeに変更する。
clean: touch ${COMMON_TARGETS} for adaptor in $(ADAPTORS) Adaptor ; do \ echo Cleaning $adaptor ; \ ( cd ${adaptor} ; gmake clean ) ; \ (gmakeを指定する) done OS_NOT_DEFINED: @echo OS \"${OS}\" unknown. Check the Makefile. exit 1 ${COMMON_TARGETS}: Adaptor cd Adaptor ; gmake (gmakeを指定する) CGI:: cd CGI ; gmake (gmakeを指定する) Apache:: cd Apache ; gmake (gmakeを指定する)
■gmakeする
# gmake
こんな感じでメッセージが出力される。
■出来上がったブツは、ここ
現在地が、 /opt/WebObjects5.2.4/Developer/Examples/WebObjects/Source/Adaptors/だとして、
CGI/WebObjects CGIアダプタ
Apache/mod_WebObjects.so Apacheモジュール
Apache/apache.conf Apacheモジュールの説明書
■CGIアダプタを使う場合の下準備
WebObjectsアダプタをcgi-binに配置する。
# cp CGI/WebObjects /path/to/cgi-bin/
WebObjectsアダプタの動作を設定するXMLファイルを配置する。
# cp example.xml /user/local/apache/conf/WebObjects.xml # cp woadaptor.xml /usr/local/apacheconf/WebObjectsHelp.xml
woadaptor.xmlは、設定方法を調べたいときにすぐに見られるので、WebObjects.xmlのそばに置いておくと便利。
■CGIアダプタを使う場合の設定
WebObjects.xml の場所をapacheに教えてあげる。 apacheのhttpd.confを編集する。(WebObjects.xmlがWebObjectsアプリを指定するリモコンの役割をする)
# vi /usr/local/apache/conf/httpd.conf (次の一行を一番おしりに追加) SetEnv WO_CONFIG_URL file:///usr/local/apache/conf/WebObjects.xml
■設定の確認
# /usr/local/apache/bin/httpd configtest
エラーが出なければOKなはずだが、SetEnvのパスが間違っていていもエラーが出ないので、もう一度、確認すること。
■apacheの再起動
# /usr/local/apache/bin/apachectl restart
■設定の確認
http://192.168.0.123/cgi-bin/WebObjects/ というようにアクセスしたときに
Invalid application name
と表示されればCGIアダプタは正常に動作している。
ここから下は、CGIアダプタではなく、mod_WebObjects.soを使いたいときに設定する。実運用でスピードに問題なければ、CGIアダプタの設定の方が楽。
■mod_WebObjects.soを使う場合の下準備
現在地が、 /opt/WebObjects5.2.4/Developer/Examples/WebObjects/Source/Adaptors/だとして、
WebObjects.xmlを配置する。
# cp example.xml /user/local/apache/conf/WebObjects.xml
# cp woadaptor.xml /usr/local/apache.conf/WebObjectsHelp.xml (設定方法を調べたいときにすぐに見られるので、置いておくと便利)
■httpd.confに一行追加する
/usr/local/apache/conf/httpd.conf に一行追加する。
Include /opt/WebObjects5.2.4/Developer/Examples/WebObjects/Source/Adaptors/Apache/apache.conf
WebObjectsインストール時に上記のように追加されている場合は、修正する。パスがSolaris SPARK版のアダプタを指しているので、今回ビルドしたものを指すようにするため。
■apache.confを修正する
上記で指定したapache.confを修正する。
LoadModule WebObjects_module /opt/WebObjects5.2.4/Developer/Examples/WebObjects/Source/Adaptors/Apache/mod_WebObjects.so AddModule mod_WebObjects.c (下記参照) WebObjectsDocumentRoot /usr/local/apache/htdocs WebObjectsAlias /cgi-bin/WebObjects # WebObjectsConfig http://localhost:1085 10 (コメントアウトする) # WebObjectsConfig webobjects://239.128.14.2:1085 10 (コメントアウト) # WebObjectsConfig file://<path-to-a-xml-config-file> 10 (コメントアウト) WebObjectsConfig file:///usr/local/apache/conf/WebObjects.xml 10 (追加する)
■設定の確認
# /usr/local/apache/bin/httpd configtest [Tue Mar 7 14:06:58 2006] [warn] module mod_WebObjects.c is already added, skipping
上記のようにmod_WebObjects.cは、すでに追加されているというメッセージが出たら、コメントアウトしておく。
# AddModule mod_WebObjects.c
■apacheの再起動
# /usr/local/apache/bin/apachectl restart
■設定の確認
http://192.168.0.123/cgi-bin/WebObjects/ というようにアクセスしたときに
Invalid application name
と表示されればHTTPアダプタは正常に動作している。
-
前の記事
Solaris 複数IPアドレスの追加・変更(ネットワーク関連の設定) 2006.03.02
-
次の記事
3. Windows XP にWebObjects5.2.3をインストールする 2006.03.07