Generic Apache v. 2.0 kasutamine Oracle iAS ees

Allikas: Kuutõrvaja
Redaktsioon seisuga 21. aprill 2009, kell 20:52 kasutajalt Imre (arutelu | kaastöö) (Apache veebiserveri seadistamine)

Sissejuhatus

Eesmärgiks on seadistada käima http://httpd.apache.org/ Apache veebiserver, st mitte Oracle enda poolt Oracle HTTP server Oracle iAS rakendusserveri ees selliselt, et ta

  • termineerib SSL ühendusi
  • autendib kasutajaid Eesti ID-kaardi abil
  • peab andmevahetust Java rakendusserveriga üle nö ajp13 protokolli

Süsteemi võiks kujutada skeemil nt nii

 brauser <- http -> apache veebiserver <- ajp13 -> oracle rakendusserver <- ojdbc -> oracle andmebaas

Süsteemi ettevalmistamisel tuleb arvestada, et vajalikud Apache moodulid, mille abil Apache veebiserver saab suhelda Oracle iAS rakendusserveriga on olemas vaid 32 bit vormis Apache 2.0 ja 1.3 versioonile.

Kusjuures

  • kasutades rakendusserverile kasutaja identiteedi edastamiseks Apache veebiserveri RequestHeader direktiivi
  • kasutades Oracle Application Serveri Companion CD peal jagatud nn generic apache mooduleid

Generic Apache v. 2.0 kompileerimine ja paigaldamine

Kuna tõenäoliselt 2009 aastal enam ei pakedata Linuxi distributsioonide paketihaldusse Apache 2.2 versioonist vanemaid, tuleb kasutada teist võimalust ning versioon 2.0 kompileerida Apache veebikohas http://httpd.apache.org/ jagatavast lähtetekstist.

Esmalt tuleb kopeerida lähtetekst, 2009 aasta kevadel on stabiilne 2.0 haru versioon 2.0.63, http://www.apache.org/dist/httpd/httpd-2.0.63.tar.bz2 ning pakkige lahti

 # apt-get build-dep apache2
 # mkdir /usr/src && cd /usr/src
 # wget http://www.apache.org/dist/httpd/httpd-2.0.63.tar.bz2
 # tar jxf httpd-2.0.63.tar.bz2
 # cd httpd-2.0.63
 # ./configure --prefix=/usr/local/apache2 --enable-rewrite=shared \
   --enable-ssl=shared --enable-headers=shared
 # make
 # make install

iAS moodulite kasutamine

Esimese Oracle iAS Companion CD peal asuvad kataloogis Disk1/plugins/apache2 sellised teegid

 $ find Disk1/plugins/apache2 -type f -ls
 262373  136 -rwxr-xr-x   1 mart     mart       133765 Jan 25  2007 Disk1/plugins/apache2/libdms2.so
 262375  152 -rwxr-xr-x   1 mart     mart       148929 Jan 25  2007 Disk1/plugins/apache2/mod_oc4j.so
 262376   36 -rwxr-xr-x   1 mart     mart        34782 Jan 25  2007 Disk1/plugins/apache2/mod_onsint.so
 262374   76 -rwxr-xr-x   1 mart     mart        69942 Jan 25  2007 Disk1/plugins/apache2/libons.so

Neist kahe, libdms2.so ja libons.so asukoht tuleb näidata enne Apache käivitamist ning ülejäänud kaks tuleb laadida Apache LoadModule direktiiviga

 # mkdir /usr/lib-oc4j
 # cp libdms2.so libons.so /usr/lib-oc4j
 # export LD_LIBRARY_PATH=/usr/lib-oc4j

Lisaks peab olema kirjeldatud keskkonnamuutuja ORACLE_HOME

 # mkdir /tmp/oracle_home
 # export ORACLE_HOME=/tmp/oracle_home

Apache veebiserveri seadistamine

Teegid mod_oc4j.so ja mod_onsint.so tuleb kopeerida teiste Apache teekide juurde kataloogi /usr/local/apache2/modules

 # cp mod_oc4j.so mod_onsint.so /usr/local/apache2/modules

ning kirjeldada veebiserveri seadistusfailis /usr/local/apache2/conf/httpd.conf teiste moodulite juures, järjekord on oluline

 ...
 LoadModule onsint_module modules/mod_onsint.so
 LoadModule oc4j_module modules/mod_oc4j.so

Lisaks võiks conf/httpd.conf seadistusfailis Listen direktiivi välja kommenteerida. Veebiserveri seadistusfaili conf/ssl.conf võiks paigutada sobivasse kohta sellised osa

 <VirtualHost 10.0.7.246:80>
   ServerAdmin webmaster@loomaaed.tartu.ee
   DocumentRoot /srv/www
   ServerName loomaaed.tartu.ee
   ErrorLog logs/loomaaed.tartu.ee-error.log
   CustomLog logs/loomaaed.tartu.ee-access.log common
 
   Oc4jMount /loomaaed/* ajp13://10.0.13.70:8888
   
   SSLEngine on
   SSLCertificateFile /usr/local/apache2/conf/serdid/loomaaed.tartu.ee-cert.pem
   SSLCertificateKeyFile /usr/local/apache2/conf/serdid/loomaaed.tartu.ee-key.pem
   SSLCertificateChainFile /usr/local/apache2/conf/serdid/server-cert-ca-chain.pem
   SSLOptions +StdEnvVars
 
 </VirtualHost>

Veebiserveri käivitamine

Veebiserveri käivitamiseks tuleb öelda

 # export ORACLE_HOME=/tmp/oracle_home
 # export LD_LIBRARY_PATH=/usr/lib-oc4j
 # cd /usr/local/apache2
 # bin/apachectl startssl

ja seiskamiseks

 # bin/apachectl stop

64 bit keskkonnas 32 bit üldotstarbelise Apache veebiserveri ettevalmistamine

Kui kirjeldatud moel töötava üldotstarbelise Apache veebiserveri ettevalmistamiseks on kasutada 64 bit keskkond, siis saab 32 bit rakenduse kompileerimiseks kasutada sinna keskkonda moodustatud 32 bit chroot keskkonda

 # debootstrap --arch i386 lenny /srv/lenny-i386 http://ftp.aso.ee/debian
 # chroot /srv/lenny-i386

64 bit keskkonnas 32 bit üldotstarbelise Apache veebiserveri kasutamine

Kui kirjeldatud moel töötava üldotstarbelise Apache veebiserveri kasutamiseks on kasutada 64 bit keskkond, siis saab 32 bit rakendust käivitada kui eelnevalt paigaldata pakett

 # apt-get install ia32-libs