ปกติผมก็ทำงานแค่บน PHP MySQL นานๆครั้งถึงจะได้มีโอกาสใช้ฐานข้อมูลตัวอื่นบ้าง และฐานข้อมูลที่หน่วยงานพวกองค์กรเขาใช้กันส่วนใหญ่ก็จะเป็น MS-SQL หรือไม่ก็ Oracle และวันนี้เราก็จะทดลองทำการติดตั้ง “Oracle Database Express Edition 10g” ซึ่งสามารถดาวโหลดได้ฟรี แต่ก็ต้องสมัครสมาชิกกับเว็บไซต์ของเขาก่อนนะ และเราจะทำการติดตั้ง PHP OCI8 Extension เพื่อเอาไว้ใช้เขียนโปรแกรมด้วย php ติดต่อกับ Oracle โดยเราจะทำการติดตั้งบน CentOS พร้อมแล้ว ลุย…
อย่างแรกสุดทำการดาวโหลด “Oracle Database Express Edition 10g” มาก่อนโดยเข้าไปดาวโหลดได้ฟรีที่ http://www.oracle.com/technetwork/products/express-edition/downloads/index.html
จากนั้นทำการดาวโหลด Oracle Instant Client โดยเข้าไปดาวโหลดที่ http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
โดยเราจะดาวโหลดไฟล์ .rpm มาทั้งหมด 4 ไฟล์ ดังนี้
1 2 3 4 | oracle-xe-univ-10.2.0.1-1.0.i386.rpm oracle-instantclient-basic-10.2.0.5-1.i386.rpm oracle-instantclient-devel-10.2.0.5-1.i386.rpm oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm |
ตรวจสอบไฟล์ /etc/hosts ว่าได้ทำการแมพ loopback ip เข้ากับชื่อเครื่องแล้ว ในทีนี้ชื่อเครื่องเราคือ server1.example.com ถ้ายังไม่ได้แมพก็เพิ่มเข้าไปในบรรทัดที่มีหมายเลขไอพี 127.0.0.1 ตามรูปครับ ถ้าไม่ใส่ตรงนี้เราจะไม่สามารถเรียกใช้ตัวจัดการดาตาเบสผ่านทางหน้าเว็บได้
1 | # nano /etc/hosts |
ติดตั้ง httpd, php, php-devel, php-pear, gcc , bc
1 | # yum install httpd php php-devel php-pear gcc bc |
อัพโหลดไฟล์ .rpm ทั้งหมดไปไว้ที่ /tmp และทำการติดตั้ง Oracle XE 10g
1 2 | # cd /tmp # rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm |
ทำการคอนฟิกและกำหนดรหัสผ่านในขั้นตอนนี้ โดยเรียกใช้คำสั่ง /etc/init.d/oracle-xe configure
1 | # /etc/init.d/oracle-xe configure |
เสร็จแล้วให้เปิดหน้าจัดการดาตาเบสผ่านเว็บบราวเซอร์ขึ้นมา โดยเปิดไปที่ http://192.168.8.104:8080/apex/ โดยยูเซอร์เนมคือ SYS และรหัสผ่านคือรหัสเดียวกับที่ตั้งในขั้นตอนที่แล้ว เมื่อเข้าไปแล้วจะได้หน้าตาประมาณนี้ สำหรับผมแล้วก็สะดวกกว่าการใช้ sqlplus พอสมควร
ติดตั้ง oracle instantclient และ oci8 เพื่อให้ php ติดต่อกับ Oracle ได้
1 2 3 4 5 6 | # rpm -ivh oracle-instantclient-basic-10.2.0.5-1.i386.rpm # rpm -ivh oracle-instantclient-devel-10.2.0.5-1.i386.rpm # rpm -ivh oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm # pecl install oci8 # echo extension=oci8.so > /etc/php.d/oci8.ini |
ทำการ restart httpd
1 | # service httpd restart |
สร้างไฟล์ info.php ในโพลเดอร์ /var/www/html/
1 | # nano /var/www/html/info.php |
ภายในไฟล์ /var/www/html/info.php พิมพ์โค้ดต่อไปนี้
1 2 3 4 5 | <?php phpinfo(); ?> |
ลองเปิดผ่านบราวเซอร์ http://192.168.8.104/info.php จะเห็นว่ามี OCI8 ขึ้นมาให้ใช้งานแล้ว
การสั่ง stop, start และ restart service ของ oracle ใช้คำสั่งต่อไปนี้ครับ
1 2 3 | service oracle-xe stop service oracle-xe start service oracle-xe restart |