วันอังคารที่ 7 พฤษภาคม พ.ศ. 2556

เริ่มต้น MOD_PLSQL แบบรวบรัด (ติดตั้ง Oracle HTTP Server)

ผมต้องการที่จะลองทดสอบ mod_plsql โดยที่ผมต้องการที่จะเขียน pl/sql แบบง่ายดังตัวอย่างข้างล่าง
SQL> CREATE or REPLACE PROCEDURE test  AS
  2  BEGIN NULL;
  3  owa_util.mime_header('text/html');
  4  htp.prn('
  5  <html>
  6  <head>
  7  <meta http-equiv="Content-Type" content="text/html">
  8  <title>TEST Oracle WebTier</title>
  9  </head>
 10  <body TEXT="#000000" BGCOLOR="#FFFFFF">
 11  <h1>Test :)</h1>
 12  </body>
 13  </html>
');
 14   15  END;
 16  /

Procedure created.
แต่ความตั้งใจของผมคือการใช้ mod_plsql ติดต่อฐานข้อมูลจากนั้นก็เรียก procedure "test". สิ่งแรกที่ต้องทำคือดาวน์โหลด Oracle HTTP Server.

ผมต้องขอข้ามขั้นตอนในส่วนนี้ จากนั้นก็เริ่มติดตั้ง (ผมขอแบบติดตั้งอย่างเดียว จากนั้นค่อย Config)
$ ls -l ofm_webtier_linux_11.1.1.7.0_32_disk1_1of1.zip
-rw-r--r-- 1 oracle oinstall 1790011557 May  6 20:23 ofm_webtier_linux_11.1.1.7.0_32_disk1_1of1.zip
$ unzip ofm_webtier_linux_11.1.1.7.0_32_disk1_1of1.zip

$ cd Disk1/
$ ./runInstaller

มันรัน "runInstaller" script. จะพบหน้า installer ดังข้างล่าง


 ผมเลือกที่จะ Install Software - Do Not Configure







หลังจากทำการติดตั้งเรียบร้อยสมใจ ผมก็ได้เวลาลอง Config ดู
$ export ORACLE_HOME=/u01/app/oracle/Middleware/Oracle_WT1
$ /u01/app/oracle/Middleware/Oracle_WT1/bin/config.sh
"config.sh" ผมจะพบหน้าที่ทำการ Configuration - ในกรณีนี้ผมต้องการ "Oracle HTTP Server" เท่านั้น








จากนั้นก็ได้เวลา configure mod_plsql
$ export ORACLE_INSTANCE=/u01/app/oracle/Middleware/Oracle_WT1/instances/instance1
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl status

Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
ohs1                             | OHS                |   24812 | Alive

$ cat /u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1/mod_plsql/dads.conf
# ============================================================================
#                     mod_plsql DAD Configuration File
# ============================================================================
# 1. Please refer to dads.README for a description of this file
# ============================================================================

# Note: This file should typically be included in your plsql.conf file with
# the "include" directive.

# Hint: You can look at some sample DADs in the dads.README file

# ============================================================================

<Location /demo>
  SetHandler pls_handler
  Order deny,allow
  Allow from all
  AllowOverride None
  PlsqlDatabaseUsername         demo
  PlsqlDatabasePassword         password
  PlsqlAuthenticationMode       Basic
  PlsqlDatabaseConnectString localhost:1521:orcl
</Location>

$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl stopall
opmnctl stopall: stopping opmn and all managed processes...
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl startall
opmnctl startall: starting opmn and all managed processes...
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl status

Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
ohs1                             | OHS                |   25272 | Alive
หลังจาก Restart OPMN... เรียก url http://chart01:7777/demo/test (<Location /demo> = ttp://chart01:7777/demo และ procedure ชื่อ test)
บน browser จะโชว์ "Test :)".

ไม่มีความคิดเห็น: