Generic Apache v. 2.0 kasutamine Oracle iAS ees
Sisukord
- 1 Sissejuhatus
- 2 Generic Apache v. 2.0 kompileerimine ja paigaldamine
- 3 iAS moodulite kasutamine
- 4 Apache veebiserveri seadistamine
- 5 Veebiserveri käivitamine
- 6 64 bit keskkonnas 32 bit üldotstarbelise Apache veebiserveri ettevalmistamine
- 7 64 bit keskkonnas 32 bit üldotstarbelise Apache veebiserveri kasutamine
Sissejuhatus
Eesmärgiks on seadistada käima http://httpd.apache.org/ Apache veebiserver (edaspidi üldotstarbeline, ingl. k. generic), st mitte Oracle enda '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. Neid mooduleid jagatakse Oracle Application Serveri Companion CD koosseisus.
Kusjuures konkreetesel juhtumil edastab üldotstarbeline Apache rakendusserverile kasutaja identiteedi kasutades Apache veebiserveri RequestHeader direktiivi.
Kuna Oracle jagab 32 bit binaarseid mooduleid, siis kõige otsekohesem on kasutada 32 bit operatsioonisüsteemi. Kui aga mingil põhjusel on kasutada 64 bit operatsioonisüsteem, siis võiks saada toimetada nii nagu käesoleva pala viimastes punktides on kirjeldatud.
Generic Apache v. 2.0 kompileerimine ja paigaldamine
Kuna tõenäoliselt 2009 aastal enam ei pakendata 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 pakkida 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 nt sellise virtuaalhosti sektsiooni
<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
Või kasutada nt sellist skripti
# cat /root/system/apache-start.sh #!/bin/bash export ORACLE_HOME=/tmp/oracle_home export LD_LIBRARY_PATH=/usr/lib-oc4j cd /usr/local/apache2 bin/apachectl startssl
Seejuures tundub normaalne, et veebiserveri errorlogisse tehakse selline sissekanne
[Sun Jan 03 18:28:35 2010] [emerg] mod_onsint can't initialize ons runtime.
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
Edasised tegevused järgnevad nagu ülalkirjeldatud juhtumil.
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
Kui apache on kompileeritud ja paigaldatud /srv/lenny-i386 kataloogis, st ta asub absoluutse arvuti mõttes kataloogis /srv/lenny-i386/usr/local/apache2, siis sobib ta ühendada nii külge absoluutse arvuti failisüsteemi
# mount --bind /srv/lenny-i386/usr/local/apache2 /usr/local/apache2
ning seejärel saab teda juba absoluutsest arvutist kasutada tavapärasel moel.