Gerelateerde onderwerpen:
Apache | Apex | Database | Oracle | PHP | PL SQL | Web Applicaties
|
Webserver inrichten met Oracle XE, MOD_OWA, PHP en Apache
In dit document zetten we stap voor stap uiteen hoe men een webserver inricht met Oracle XE, PHP en de open-source module MOD_OWA. Als eerste even een korte beschrijving van de vier hoofdrolspelers.
|
ORACLE XE
( http://www.oracle.com/technology/products/database/xe/index.html )
Oracle Database 10g Express Edition (Oracle Database XE) is een kleine laagdrempelige database gebaseerd op de Oracle Database 10g Release 2 code die gratis te ontwikkelen, te implementeren en te distribueren is. Oracle XE is snel te downloaden en eenvoudig te beheren. Oracle Database XE is een geweldige starter database voor:
- Ontwikkelaars die werken met PHP, Java, .NET, XML en Open Source applicaties;
- DBA-ers die behoefte hebben aan een vrije, beginners database voor opleiding en inzet bij kleine toepassingen;
- Independent Software Vendors (ISV's) en hardware leveranciers die een database willen die gratis te gebruiken en te verspreiden is.
Met Oracle Database XE, kunt u nu ontwikkelen en implementeren van toepassingen met een krachtige, bewezen, de industrie-leidende infrastructuur, en eventueel later upgraden naar grotere database versies, zonder dure en complexe migraties. Oracle Database XE kan worden geïnstalleerd op een host machine van willekeurige grootte en met een onbeperkt aantal CPU's (of cores). Echter, de XE software met database kan maar een keer op een machine geïmplementeerd worden en zal maximaal 4GB aan gebruikersgegevens kunnen opslaan. Tevens zal XE maximaal 1 GB geheugen gebruiken en slechts een CPU (of core) gebruiken op de host computer.
|
APACHE
( http://httpd.apache.org/ )
Hoewel de XE database een interne webserver heeft, is deze helemaal geïntegreerd in de database en dat willen we hier niet hebben. Dus die interne webserver laten we gewoon draaien (op een andere poort dan 80! Standaard is het poort 8080) voor eventuele toepassingen in APEX (meer weten over APEX opleidingen). Apache behoeft hopelijk weinig introductie. We gaan hier gebruik maken van de versie 2.2 die gratis is te downloaden en te gebruiken.
|
PHP
( http://www.php.net/ )
Is een scripttaal, die bedoeld is om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Destijds was de taal duidelijk geïnspireerd door Larry Walls Perl. Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam van de software was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: "PHP: Hypertext Preprocessor". Deze naam geeft aan waar de taal meestal voor gebruikt wordt: informatie verwerken tot hypertext (meestal HTML en XHTML).
(meer weten over PHP opleidingen)
|
MOD_OWA (Apache PL/SQL Gateway Module)
( http://www.sharemation.com/~dmcmahon/modowa.htm )
Is een open-source uitvoering van de bekende PL/SQL gateway - ook wel bekend onder de naam modplsql - welke beschikbaar is in Oracle Application Server (OAS) en Oracle Web Server (OWS, de zgn. Companion CD). Deze gateway verzorgt de aanroep en afhandeling van PL/SQL procedures richting een webserver en client met browser.
|
Installatie en test
We gaan nu eindelijk aan de slag. In dit verhaal gaan we uit van een installatie op een server met een op Windows gebaseerd OS maar de installatie op een Linux variant zal qua principe niet heel veel afwijken.
Voer de volgende stappen uit:
-
Download de Oracle XE software ( http://download.oracle.com/otn/nt/oracle10g/xe/10201/OracleXE.exe) In dit geval gebruiken we de single-byte Western European versie.
-
Dan installeren we de Oracle XE database. Deze kan standaard uitgerold worden maar in dit verhaal wordt de software geïnstalleerd op d:\oracleXE waarin we dus na installatie twee mapjes (app en oradata) hebben gekregen.
-
We downloaden de Apache software en installeren die in de directory d:\oracleXE\Apache (custom optie)
-
Start de Database Home Page en log in als system met het wachtwoord wat bij de installatie is opgegeven
-
Ga naar Home>Administration>Manage HTTP Access en bekijk of je de port 8080 (Apex) ook buiten de local server wilt kunnen benaderen.
-
Maak een useraccount in de database aan (in dit voorbeeld gebruiken we de schemanaam WEB met als wachtwoord GEHEIMWEB)
-
Maak de volgende procedure onder schema WEB aan:
create or replace procedure hallo as
v_ip_tab owa_util.ip_address;
v_ip varchar2(50);
v_ref varchar2(2000);
begin
htp.print('<html><head></head><body>');
htp.print('<h1>Hallo, welkom bij deze test!</h1>');
v_ip := owa_util.get_cgi_env('REMOTE_ADDR');
htp.print('IP adres van uw browser : ' || v_ip);
htp.hr;
owa_util.print_cgi_env;
htp.print('</body></html>');
exception
when others then
htp.print('<html><head></head><body>' || 'ERROR:' ||
dbms_utility.format_error_stack ||
dbms_utility.format_error_backtrace || '</body></html>');
end;
|
-
We downloaden en installeren de PHP software. Kies als directory d:\oracleXE\PHP en vertel de setup dat we gebruik maken van de Apache 2.2 module. De configuratie bestanden van Apache worden door de setup bijgewerkt, dus de locatie van deze bestanden (D:\oracleXE\Apache\conf\) dient opgegeven te worden. De rest laten we default.
-
Als laatste downloaden we MOD_OWA en wel het windows_all.zip bestand. Hieruit hebben we enkel een .dll bestand nodig. Zorg dat je die uit de juiste subdirectory in de zip haalt (modowa\apache22). Dit mod_owa.dll bestand dien je in D:\oracleXE\Apache\modules te plaatsen.
-
Nu wordt het tijd om de MOD_OWA te configureren. Hiervoor gaan we naar D:\oracleXE\Apache\conf en openen het bestand httpd.conf
-
Plaats onderaan dit bestand de volgende regels:
LoadModule owa_module modules/mod_owa.dll
<Location /pls/db>
AllowOverride AuthConfig FileInfo Options Limit
Options FollowSymLinks
SetHandler owa_handler
OwaUserid web/geheimweb
OwaNLS WE8ISO8859P1
OwaDiag COMMAND ARGS POOL SQL MEMORY HEADER RESPONSE TIMING ERROR
OwaLog "D:\oracleXE\Apache\logs\mod_owa.log"
OwaPool 20
OwaStart "doc_pkg.homepage"
OwaDocProc "doc_pkg.readfile"
OwaDocPath docs
OwaUploadMax 10M
OwaCharset "iso-8859-1"
order deny,allow
allow from all
</Location>
|
-
Rechtsonder in het systeemvak is een icoon van de Apache server. Deze moet middels een herstart opnieuw opgestart worden zodat deze nieuwe instellingen actief worden.
-
Test nu met een browser. De url is http://127.0.0.1/pls/db/hallo. U ziet nu de tekst "Hallo, welkom bij deze test!" en daaronder een ip-adres en allerlei CGI variabelen.
-
Dezelfde test kunt u nu vanaf een andere pc doen. Vul dan in plaats van 127.0.0.1 het ip-adres van de server in waarop u alles hebt geïnstalleerd.
U ziet het, in zeer korte tijd heeft u een volledig functionele webserver in de lucht. Indien u ook nog gebruik maakt van een gratis Linux distibutie, dan is het totaal gratis!
|
Bronnen:
|