![]() | Tips |
|---|---|
Apache2.2 er nå den anbefalte webserverinstallasjonen. Se egen dokumentasjon: Apache2.2 fra Store |
Installering av Apache fra Store skal være en relativt enkel affære såfremt man ikke trenger å gjøre for mange sprell. Her følger den korte versjonen:
Sørg for at maskinen bruker Store. Se egen dokumentasjon: http://www.usit.uio.no/it/unix/store/
Legg inn profilen usit-webserver i
filen /etc/usit/sw-localcopy ved å
legge inn en en linje med følgende:
@usit-webserver
Kjør storeapp for å hente ned programvaren (eller vent til dagen etter)
Initiér Apache med følgende kommando:
maskin.uio.no# /local/etc/init.d/httpd init
Dette skal opprette nødvendige filer og kataloger.
Editér /etc/httpd.conf mtp
ServerAdmin og ServerName
Hvis serveren skal bruke UiO profiler, så må de
eventuelle profilene legges inn i filen
/site/opt/usit-visuell-profil/uioprofil.conf.
For mer info, se eget punkt.
Start Apache med følgende kommando:
maskin.uio.no# /local/etc/init.d/httpd start
Se gammel dokumentasjon her: http://www.usit.uio.no/it/web/tjenester/httpdist.html.
Når man migrerer en maskin fra rdist til Store er det noen få ting man må passe på mtp Apache, da det er en del forskjeller fra rdist-versjonen og Store-versjonen. Det meste er knyttet til at katalogstrukturen er noe endret, og noe er knyttet til det faktum at Apache er mer modularisert i Store. I rdist var det samlet i kun en pakke (pluss en for visuell profil), mens i Store er det flere (selv om det er forenklet ved at de man trenger er samlet i en meta-pakke - usit-webserver).
Ting å passe på - punktvis:
Først må du lese om hvordan sette Apache fra Store. Dette er Alfa og Omega. Bit spesielt merke i katalogstruktur og hvilke konfigurasjonsfiler som brukes.
/etc/httpd.conf er der du evt har
gjort visse tilpassninger til konfigurasjonen av
rdist-serveren. Denne må muligens tilpasses litt, alt
ettersom hvor mange spesialtilpassninger som var gjort på
rdist-versjonen. Raskeste, og trolig beste, løsning er å
omdøpe filen (til fx
/etc/httpd.conf.rdist) og så gjenskape
modifikasjonene igjen etter at Apache fra Store er
initialisert.
mod_perl-konfigurasjonen var i rdist skrevet inn i den
distribuerte httpd.conf-filen, mens i Store kan man fint
ha en Apache uten mod_perl. Derfor legges det en linje inn i
/etc/httpd.conf for å inkludere den
nødvendige konfigurasjonen når man initialiserer Apache fra
Store bare hvis også har mod_perl installert. Det man må
passe på er å oppdatere eventuelle konfiglinjer man må ha
for å aktivere UHTML (visuell profil). Sjekk spesielt
eventuelle VirtualHost-blokker.
Har man lagt inn globale direktiver for å enable UHTML
for .html-filer i sin /etc/httpd.conf
kan dette kommenteres ut eller slettes. Den inkluderte filen
skal håndtere det. Les selve filen
(/local/opt/usit-visuell-profil/apacheconf/uhtml.inc)
for tips hvis det er snakk om å enable det innenfor
VirtualHost-blokker.
Default pather til datakataloger (htdocs), CGI-kataloger (cgi-bin) samt katalog for loggfiler og lockfiler (logs) er endret. Se tabell for detaljer:
| rdist | Store | Beskrivelse |
|---|---|---|
/local/www | /local/opt/apache-ssl | Rotkatalog til Apache-serveren |
/local/www/htdocs | /site/opt/apache-ssl/htdocs | Datakatalog |
/local/www/cgi-bin | /site/opt/apache-ssl/cgi-bin | Katalog for CGI-skript |
/local/www/logs | /site/opt/apache-ssl/logs | Katalog for loggfiler, lockfiler mm |
/local/www/logs/httpd.pid | /var/run/httpd.pid | PID-fil; inneholder prosess-ID'en til Apache |
Kort fortalt:
maskin.uio.no# /local/etc/init.d/httpd {init|stop|startssl|start|restart|graceful|
status|fullstatus|configtest|help|check}
der de forskjellige kommandoene betyr følgende:
initstartstartsslstoprestartgracefulstatusfullstatusconfigtesthelpcheckFor at Apache skal starte automatisk ved boot må filen
/etc/usit/http.server finnes. Den kan lages
slik:
maskin.uio.no# touch /etc/usit/http.server
Den distede programvaren ligger hovedsaklig under
/local/opt/<pakkenavn>. Et par
unntak er pakkene mm,
mod_perl og mod_php,
som er installert under katalogen til
apache-ssl, og ikke i sin egen
katalog.
Det som er spesifikt for hver server, for eksempel data og
loggfiler, blir lagt under
/site/opt/<pakkenavn>.
Se egen pakkeoversikt for detaljene.
Konfigurasjonsfilen til Apache (httpd.conf) er
distribuert, og dermed kan ikke modifiseres på den enkelte
maskin. For at webserven så skal kunne tilpasses av den lokale
administrator inkluderes 4 filer inn i httpd.conf
(/local/opt/apache-ssl/conf/httpd.conf):
/etc/httpd.conf/etc/httpd.conf.pre/etc/httpd.conf.loadmodules/etc/httpd.conf.addmodulesI tillegg til konfigurasjonsfilen til UHTML (se eget
punkt) opprettes disse fire filene når httpd-skriptet
(/local/etc/init.d/httpd) kalles med
init, og er modifierbare lokalt. Filene
opprettes når webserveren initieres.
| Filnavn | Beskrivelse |
|---|---|
/etc/httpd.conf |
Filen inkluderes helt i slutten på den distribuerte httpd.conf-filen, og brukes for ting som skal spesifiseres etter direktivene i den distede httpd.conf Under initieringen av webserveren legges det inn følgende ting:
Hvis man bruker samlingspakken
|
/etc/httpd.conf.pre |
|
/etc/httpd.conf.loadmodules og /etc/httpd.conf.addmodules |
|
For at websidene skal kunne bruke UiO profilen (se egen
dokumentasjon:
http://www.usit.uio.no/it/web/uhtml/) må webserveren
ha Store-pakken usit-visuell-profil. Da
denne er inkludert i profilen
usit-webserver trenger man ikke tenke på
det med mindre man henter Apache-pakkene enkeltvis (se isåfall
eget punkt).
Hentingen av UiO profilene er todelt, der en del er
distribuert via pakken
usit-visuell-profil, og inneholder noen
få bilder, CSS-filer og Perlmoduler.
Den andre delen hentes ned fra rica.uio.no med en cronjobb som settes opp på den lokale webserveren under initieringen av webserveren. Serveradmin bestemmer selv hvilke profiler som hentes ned ved å legge de til i følgende konfigurasjonsfil:
/site/opt/usit-visuell-profil/uioprofil.conf
Denne filene skal inneholde en liste med profiler (et profilnavn per linje) som serveradmin ønsker å hente ned. Cronjobben kjøres en gang om dagen, men skulle man trenge en ny profil med en gang kan man kjøre importskriptet manuelt på følgende måte:
maskin.uio.no# /local/opt/usit-visuell-profil/bin/hent_uioprofil
For å se hvilke profiler som er tilgjengelig, se http://wo.uio.no/as/WebObjects/metaredigering.woa/wo/ShowOrgUnit.wo
Datakatalogen (htdocs) har følgende path:
/site/opt/apache-ssl/htdocs
Når man initierer webserveren så må katalogen
/site/ være tilgjengelig, ellers feiler
initieringen. Denne katalogen kan med fordel være en symlink
til en annen partisjon der man legger alle dataene til
webserveren. Eksempelvis er oppretter man partisjonen
/usit/maskinnavn/site og så lager en
symlink /site ->
/usit/maskinnavn/site.
Loggkatalogen (logs) har følgende path:
/site/opt/apache-ssl/logs
Her finner man loggfilene for alle henvendelsene til serveren og feilmeldingene som kommer. I tillegg kommer det en loggfil for alle meldinger fra SSL hvis serveren er startet for å bruke HTTPS:
access_log (henvendelser)error_log (feilmeldinger)ssl_engine_log (SSL feilmeldinger)ssl_request_log (SSL henvendelser)![]() | Obs |
|---|---|
Pass på at hvis du enabler SSL så sørg for at kun root har skrivetilgang til logs-katalogen. |
Skriptet
/local/opt/apache-ssl/bin/httpd-logrotate
er skrevet for å gjøre månedlig loggrotering basert på
katalogstrukeren til Apache fra Store (se over). Skriptet
bør kalles av en cronjobb som går ett minutt over midnatt den
første i hver måned (se skript-koden for tips).
Rotering foregår ved at loggfilene (fx access_log) flyttes
til en underkatalog av loggkatalogen (default:
/site/opt/apache-ssl/logs/old), Apache
restartes for å begynne å logge til ny fil, og så pakkes den
gamle filen ned. Den nedpakkede filen får et datostempel for
hvilken måneds logg den inneholder, typisk
access_log.2004-12.gz for desember
2004.
Skriptet tar også høyde for å kunne rotere logger for virtuelle grensesnitt med egne loggfiler man måtte ha konfigurert opp, såfremt de bruker følgende katalogstruktur:
/site/opt/apache-ssl/virtual/<virtualhost>/logs
der <virtualhost> kan være fx navnet på grensesnittet (fx www.foo.uio.no). Skriptet roterer isåfall loggene på samme måte som over: flytter filene til old-katalogen (relativ til .../<virtualhost>/logs/), restarter Apache og pakker ned de gamle loggfilene.
Cronjobben for månedlig rotering legges inn ved å kjøre init på nytt:
maskin.uio.no# /local/etc/init.d/httpd init
Per 2006-10-12 er Apache i Store bygget opp rundt følgende:
Dette skal være en oversikt over hvilke pakker som trengs for å sette opp en Apacheserver ved å bruke det som er tilgjengelig i Store.
Pakkene legges inn i /etc/usit/sw-localcopy (en pakke per linje).
For å "bare" få webserveren (med minimal støtte):
apache-sslperl5opensslexpatmmTillegg: få støtte for mod_perl:
(Forutsetter: apache-ssl)
mod_perlTillegg: få støtte for PHP (v4.x):
(Forutsetter: apache-ssl)
mod_phpmysql-libpostgresql-libcurl(oracle-client8)Tillegg: få støtte for UiO profil (UHTML):
(Forutsetter: apache-ssl + mod_perl)
usit-visuell-profilrsynccoreutilsHTML-Parser.pmEkstrafunksjonalitet som en trolig ikke trenger, men som
noen servere har behov for. Må hentes ned som egne pakker ved
å eksplisitt legges inn i
/etc/usit/sw-localcopy.
Legg følgende pakke i
/etc/usit/sw-localcopy for å kunne
snakke med en Resin applikasjonstjener fra Apache:
mod_caucho
Resindokumentasjon finnes her: http://www.caucho.com/
Hva med dist av Apache 2? Vel, det er enn så lenge ikke mange tingene man må ha Apache 2 til som man ikke får i Apache 1.3. I tillegg er de største 3.parts modulene man trenger (mod_perl, PHP m.fl.) ikke kommet i stabile leveringer til Apache 2. Dette er bakgrunnen for at vi fremdeles bruker Apache versjon 1.3.x som primærserver.
Det er likevel laget en Store-pakke av Apache 2 for de som sårt trenger den, eller evt bare ønsker å leke litt. Pakken er å anse som beta-programvare, og vi har ikke lagt mye tid ned i testing og kvalitetssikring. 3.partsmodulene vil også kunne bidra til å gi en ustabil server, så det anbefales på det sterkeste å ikke bruke denne på en produksjonsserver.
![]() | Obs |
|---|---|
Ikke bruk installer både Apache 1.3 og Apache 2 fra Store på samme maskin med mindre du ønsker deg selv vondt. Oppleggene er laget for å bruke mange de samme filene, og kan derfor være inkompatible. |
Så. For de som likevel ignorerer advarselen overfor: det er mulig å ha både Apache 1.3- og Apache 2-pakkene installert samtidig. Det er ikke mulig å kjøre begge samtidig uten spesialtilpasninger (bl.a. begge vil prøve å lytte på port 80, så en av de må evt startes med en modifisert httpd.conf, noe som igjen fordrer at man fx modifiserer start-stop skriptet e.l.). mod_perl- og mod_perl2-pakkene er inkompatible da begge bruker en del av de samme Perl-bibliotekene, men i forskjellige versjoner, så de kan ikke være linket opp samtidig. Vet du hva du gjør så gjerne for meg, men du er herved advart en gang til.
Nedenfor kommer en del nyttige detaljer for de som ønsker å bruke Apache 2 fra Store:
Per 2006-08-09 er Apache2 i Store bygget opp rundt følgende:
Katalogstrukturen til Apache 2 er nesten identisk med katalogstrukturen til Apache 1.3-disten. Hovedforskjellene er følgende:
| Apache 2 | Apache 1.3 | Beskrivelse |
|---|---|---|
/local/opt/apache2 | /local/opt/apache-ssl | Rotkatalog til Apache-serveren |
/site/opt/apache2 | /site/opt/apache-ssl | Rotkatalog for lokale data (htdocs, logs etc) |
Driftskriptene (fx
/local/etc/init.d/httpd) skal ta ta høyde
for de forskjellige Apacheversjonene, og derfor kunne brukes
for Apache 2 også.
De samme konfigurasjonsfilene for lokale tilpasninger brukes, og på samme måten:
/etc/httpd.conf/etc/httpd.conf.pre/etc/httpd.conf.loadmodules...med ett unntak:
/etc/httpd.conf.addmodules, som ikke
brukes av Apache 2.
Skal du ha både Apache 1.3 og Apache 2 installert samtidig må du passe på hvilke moduler du laster i de overnevnte filene, da fx mod_perl ikke fungerer for Apache 2, og mod_perl2 ikke fungerer for Apache 1.3.
De relevante pakkene man må hente ned (legges i
/etc/usit/sw-localcopy) er de
følgende:
apache2 (samt følgende
avhengigheter:)db4expatgdbmlibiconvopenldapopensslsasl2Det er ikke laget noen samlende meta-pakke for Apache 2-disten (ala usit-webserver for Apache 1.3-disten), så alle pakkene må hentes ned enkeltvis.
Pakkene du vil hente ned for å mod_perl til Apache 2 er følgende:
mod_perl2, samt følgende avhengigheter:perl5Det er ikke laget noen samlende meta-pakke for Apache 2-disten (ala usit-webserver for Apache 1.3-disten), så også her må alle pakkene hentes ned enkeltvis.
mod_perl-pakkene for Apache 1.3 (mod_perl) og Apache 2 (mod_perl2) er inkompatible, og kan ikke være installert og linket opp samtidig.
UHTML støtter ikke mod_perl2, så enn så lenge får du ikke UiO-profilen til Apache 2-disten.
Andre ting som har noe med Apache i Store å gjøre.
USITs opplegg for generering av webstatistikk på lokale webtjenere baserer seg på Webalizer og startes fra en cronjobb etter at loggfilene til Apache er rotert. Det er gjort klart for to forskjellige oppsett; et enkelt for de som kun har et domene de ønsker å generere statistikk for og et litt mer avansert for de som har flere VirtualHosts og ønsker statistikk for flere at disse og/eller ønsker å generere statistikk for flere forskjellige sett med URI'er.
Uansett om du ønsker den enkle eller avanserte løsningen, må dette utføres:
/etc/usit/sw-localcopy). Kjør
storeapp for å installere hvis den ikke
fantes fra før. Nå skal du blant annet ha fått
Webalizer-binæren i /local/bin/webalizer.
Hvis du ønsker den enkle løsningen, må du utføre disse stegene:
/local/etc/webalizer.conf.sample til
/etc/webalizer.conf og tilpass den
til ditt behov (konfigurasjonsfila er selvdokumenterende og
vil ikke bli kommentert her). Tips: for å slippe unødig
output fra Webalizer til ønsket driftsliste, sett 'Quiet
yes' eventuelt 'ReallyQuiet yes'.
/local/bin/wa-wrapper-simple
for eksempel den andre hver måned (klokka 20.30):
# genererer webstatistikk den andre hver maaned kl. 20.30 30 20 2 * * /local/bin/wa-wrapper-simple 2>&1 | mail -s "webalizer output" driftsliste@domain.uio.noErstatt 'driftsliste@domain.uio.no' med din driftsliste hvor du ønsker å få output/errors fra Webalizer. Dette scriptet forutsetter at du har de gamle loggfilene til apache i katalogen
/site/opt/apache-ssl/logs/old/, og
statistikken blir lagret i
/site/opt/apache-ssl/htdocs/stats/usage/ (bytt
ut apache-ssl med apache2 hvis du bruker Apache2).
Hvis webserveren har flere enn en virtualhost som det er ønskelig å generere webstatistikk for, må disse stegene utføres:
/local/etc/webalizer.conf.sample til
/etc/webalizer.conf og tilpass den
til ditt behov (konfigurasjonsfila er selvdokumenterende og
vil ikke bli kommentert her). Mest sansynlig er det ønskelig
å sette 'Incremental=yes' ettersom man ikke er garantert at
alle loggdataene for en måned ligger i samme loggfil (vær
obs på at data i loggfiler som er eldre enn det som allerede
er prosessert ikke vil bli tatt med). Tips: for å slippe
unødig output fra Webalizer til root, sett 'Quiet yes'
eller/og 'ReallyQuiet yes'.
/local/etc/wa-wrapper.conf.sample til
/etc/wa-wrapper.conf og tilpass den
til ditt behov. Det skal være en linje per statistikksett
som opprettes, og det er viktig å passe på at id'ene som
benyttes er unike gjennom hele fila. Denne
konfigurasjonsfila, som er ment å være selvdokumenterende,
skal inneholde informasjon om hostname, evt. plassering av
webalizer.conf (man kan oppgi flere),
plassering av gamle loggfiler (skal være katalogen der de
roterte loggfilene ligger), plassering av statistikkdata,
begrensninger i URL'er som skal behandles og hvorvidt det er
snakk om det SSL-grensesnitt (https://) eller ikke. Hvis det
er noen uklarheter i forbindelse med syntax/innhold, ta
kontakt med www-drift@usit.
/local/bin/wa-wrapper
for eksempel den andre hver måned (klokka 20.30):
# genererer webstatistikk den andre hver maaned kl. 20.30 30 20 2 * * /local/bin/wa-wrapper -m 2>&1 | mail -s "webalizer output" driftsliste@domain.uio.noErstatt 'driftsliste@domain.uio.no' med din driftsliste hvor du ønsker å få output/errors fra Webalizer. Per default antar wa-wrapper at loggene roteres ukentlig, og vil ikke finne loggfilene sine. Hvis loggene roteres månedlig (som er standard-oppsettet for loggroteringen som følger med Apache i store), må wa-wrapper gis opsjonen -m (som eksempelet over).
maskin.uio.no# /local/bin/wa-wrapper -h
usage: wa-wrapper [options]
options:
-h, --help show this help message and exit
-d, --dry-run do not run webalizer/trackhist
-l, --listids list all ID's in configfile
-m, --monthly the webserver-logs are rotated monthly (you may not mix
this option with --week, --month or --year)
-w, --weekly the webserver-logs are rotated weekly (default) (you
may not mix this option with --week, --month or --year)
-v, --verbose verbose output
--id=ID run webalizer for ID (run on all if not present)
--week=WEEK run webalizer on logfiles from WEEK
--month=MONTH run webalizer on logfiles from MONTH
--year=YEAR run webalizer on logfiles from YEAR
--conffile=CONFFILE use this CONFFILE
--logfile=LOGFILE run webalizer on LOGFILE
--include-url=PARTOFURL
include entries with PARTOFURL
--exclude-url=PARTOFURL
exclude entries with PARTOFURL
--outdir=OUTDIR this is the directory where webalizer store it's data
--th-bin=THBIN use trackhist binary THBIN
--wa-bin=WABIN use webalizer binary WABIN
--wa-cfg=WACFG run webalizer with this WACFG file
--wa-opt=WAOPT run webalizer with the WAOPT option (quote with "" if
the optionstring includes spaces)
Ved spørsmål, kontakt www-drift@usit.
Mer overflødig informasjon om denne tjenesten er tilgjengelig via produktkatalogen for webtjenester: http://www.usit.uio.no/it/web/produktkatalog/.
SSI er ikke aktivert som standard da dette gjør
prosesseringen av HTML-filene tyngre, og derav serveren
tregere (hvor mye tregere er naturligvis relativt til
hardware og trafikkmengde). Men vil man bruke SSI for å
inkludere filer (eks.: <!--#include
virtual="include.html"-->) o.l. inn i
HTML-filene sine er følgende metoder man kan bruke:
Bruk UiO profil. UHTML-håndteringen sørger for at det fungerer.
Legg til følgende i
/etc/httpd.conf:
#----- For SSI -----
AddType text/html .shtml
AddHandler server-parsed .shtml
<Directory "/site/opt/apache-ssl/htdocs">
Options +Includes
</Directory>
#----- For SSI -----
Bytt eventuelt ut .shtml med
.html hvis det er ønskelig at det
fungerer for alle html-filer.
Se Apache-dokumentasjonen for mer info: http://httpd.apache.org/docs/mod/mod_include.html
php.ini er konfigurasjonsfilen til
PHP-modulen, og til nå har man bare kunnet overstyre noen av
parameterne gjennom /etc/httpd.conf og med
.htaccess-filer. Dette er nå oppdatert (pr. 2004-08-31) slik at
php.ini kopieres under /etc/, og er dermed
tilgjengelig for lokale modifikasjoner.
Reinitiér Apache med følgende kommando for å få kopiert
riktig fil til /etc/:
maskin.uio.no# /local/etc/init.d/httpd init
![]() | Obs |
|---|---|
Default |
Da oracles klientinstallasjon i Store er relativt stor (~150MB for Oracle8 og ~850MB for Oracle9) ønsker vi ikke å pålegge alle som skal ha PHP-støtte å hente de ned. Derfor er Oracle-støtten kompilert inn som en ekstensjon (extension) i PHP. Dette medfører at Oracle-funksjonene ikke kommer inn av seg selv, man må utføre følgende steg:
/etc/php.ini for en av
to strategier:
Legg til oracle-client8
(oracle-client9 hvis du har 64bit's
Linux) i filen /etc/usit/sw-localcopy og
kjør storeapp.
For å laste Oracle-ekstensjonen dynamisk i hvert
skript må man oppdatere følgende direktiver i
/etc/php.ini (en utkommentert verdi er
det som var satt fra før i default-versjonen av php.ini):
; For aa kunne bruke dl()-funksjonen maa man skru av safe_mode: ;safe_mode = On safe_mode = Off ; Sette katalogen der de lastbare ekstensjonene finnes: ;extension_dir = extension_dir = /local/opt/apache-ssl/php/lib/php/extensions/no-debug-non-zts-20020429 ; Skru paa dl()-funksjonen: ;enable_dl = Off enable_dl = On
For å laste Oracle-ekstensjonen i skriptet sitt trenger man altså noe kode som ser slik ut:
<?php
// Husk aa sette ORACLE_HOME hvis den ikke allerede er satt:
// Oracle-client8 (32bit's Linux samt Solaris):
//PutEnv("ORACLE_HOME=/local/opt/oraclient/product/8.1.7");
// Oracle-client9 (64bit's Linux):
//PutEnv("ORACLE_HOME=/local/opt/oraclient9/product/9.2.0");
// Laste ekstensjonen om den ikke er lastet:
if (!extension_loaded('oci8')) {
dl('oci8.so');
echo "Loaded OCI8 extension. Whohoo! <br>";
}
...
?>
En eventuell grunn til at man skulle ønske denne løsnigen er hvis man ikke ønsker å ha Oracle-funksjonene tilgjengelig for alle skript/brukere. Denne løsningen er ikke anbefalt da man må slå av safe_mode.
For å laste Oracle-ekstensjonen ved start av servern og
tilgjengeliggjøre Oracle-funksjonene for alle skript må man
oppdatere følgende direktiver i
/etc/php.ini (en utkommentert verdi er
det som var satt fra før i default-versjonen av php.ini):
; Aapne for aa sette bl.a. ORACLE_HOME under safe_mode: ;safe_mode_allowed_env_vars = PHP_ safe_mode_allowed_env_vars = PHP_,ORACLE_ ; Sette katalogen der de lastbare ekstensjonene finnes: ;extension_dir = extension_dir = /local/opt/apache-ssl/php/lib/php/extensions/no-debug-non-zts-20020429 ; Laste Oracle-ekstensjonen: extension=oci8.so
Denne løsningen er anbefalt i stedet for den dynamiske løsningen da man ikke trenger å slå av safe_mode.
Man vil strengt tatt kun trenge å sette områdevariabelen
ORACLE_HOME for at Oracle-ekstensjonen skal finne bibliotekene
den trenger. Dette kan gjøres enten før start av Apache, ved å
legge det til i fx .bashrc e.l. for
brukeren man kjører Apache som):
ORACLE_HOME=/local/opt/oraclient/product/8.1.7 export ORACLE_HOME
for 32bit's Linux og Solaris og
ORACLE_HOME=/local/opt/oraclient9/product/9.2.0 export ORACLE_HOME
for 64bit's Linux eller ved å sette det i PHP-skriptet sitt:
<?php
// 32bit's Linux og Solaris:
PutEnv("ORACLE_HOME=/local/opt/oraclient/product/8.1.7");
// 64bit's Linux:
//PutEnv("ORACLE_HOME=/local/opt/oraclient9/product/9.2.0");
...
?>