Make your own free website on Tripod.com

การใช้งาน Apache ร่วมกับระบบปฏิบัติไมโครซอฟต์วินโดวส์

(Using Apache With Microsoft Windows)


สำหรับผู้ใช้ Windows 95/98 หรือ NT มีโปรแกรมที่เราสามารถนำมาใช้เพื่อทำเป็น web server ได้ ยกอย่างเช่น

เอกสารนี้จะอธิบายวิธีการติดตั้งและใช้งาน Apache เวอร์ชั่น 1.3.9 เท่านั้น เพื่อทำหน้าที่เป็น web server

Apache นั้นถือว่าเป็นโปรแกรมที่ใช้ Web server ที่ได้รับความนิยมแพร่หลายเป็นอย่างมาก และสามารถดาว์นโหลดมาใช้ได้ฟรี เป็นโปรแกรมจำพวก OpenSource โดยเฉพาะกับระบบปฏิบัติ ในตระกูลยูนิกซ์ และใกล้เคียง อาทิ เช่น Linux FreeBSD SunOS/Solaris และอื่นๆอีกมากมาย

สำหรับการติดตั้ง Apache เพื่อให้สามารถทำงานได้บนระบบปฏิบัติการ Windows 95/98/NT ได้นั้น
สามารถอ่านได้จากเอกสารหรือคู่มือจากเว็บไซต์ของ Apache (http://www.apache.org) ได้โดยตรง
http://www.apache.org/docs/windows.html

สิ่งแรกที่จะต้องทำคือ ดาวน์โหลดโปรแกรมสำหรับ Apache มาก่อนในกรณีนี้ เป็นเวอร์ชั่น 1.3.9
ไฟล์ที่เราจะใช้มีชื่อว่า apache_1_3_9_win32.exe

http://www.apache.org/dist/apache_1_3_9_win32.exe

เมื่อทำการดาวน์โหลดมาเรียบร้อยแล้ว ก็ทำการติดตั้งเหมือนโปรแกรมใช้งานบนวินโดวส์ทั่วไปๆ
ไม่มีขั้นตอนใดที่ยุ่งยาก สิ่งที่สำคัญคือการกำหนด directory ที่จะทำการติดตั้งโปรแกรม

ในเอกสารนี้จะใช้ไดเรคทรอรี่ D:\Web\Apache เป็นตัวอย่าง สำหรับการติดตั้ง คุณอาจจะเลือกไดเรคทรอรี่ หรือไดร์ฟอื่นตามความพอใจ เพียงแต่ให้คำนึงถึงว่า ตัวอย่างและขั้นตอนการติดตั้งในเอกสารนี้ ใช้ได้ไดเรคทรอรี่ดังกล่าว ดังนั้น ถ้าเลือกใช้ไดเรคทรอรี่อื่นก็จะต้องปรับและแก้ไขให้เหมาะสมด้วย

เนื่องจากว่า Apache ได้รับการออกแบบให้สามารถทำงานได้บน Windows 95/98 และ Windows NT  อย่างไรก็ตาม สำหรับในกรณีของ Window95 ควรจะต้องมี Winsock2 Update ถ้ายังไม่มีหรือเวลาลง Apache แล้วมีการถามหา Winsock2 ดังกล่าว คุณก็สามารถไปดาวน์โหลดได้จาก http://www.microsoft.com/windows95/downloads/  และไฟล์มีชื่อว่า W95ws2setup.exe หลังจากดาวน์โหลดไฟล์มาแล้ว เวลาติดตั้ง ก็แค่กดดับเบิลคลิ้กที่ชื่อไฟล์ใน Explorer จากนั้นก็ให้ reboot ระบบใหม่ เพื่อให้การติดตั้งมีผลใช้งาน แล้วก็ค่อยทำการติดตั้งโปรแกรม Apache

การเรียก Apache ให้ทำงานสำหรับ Windows 95 จะต้องเรียกจาก console window คือออกคำสั่งแบบ command line เหมือนเวลาอยู่ใน DOS (ซึ่งจะแตกต่าง จากกรณีของ Windows NT ที่เราสามารถเรียก Apache โดยติดตั้งให้เป็น Service ได้)

เมื่อติดตั้งแล้วทดลองเรียกใช้ดูก่อนโดยทำได้ดังนี้

เรียก MS-DOS พร้อมขึ้นมาจะปรากฏเป็นหน้าต่าง ในกรณีที่เราติดตั้ง Apache ไว้ในไดร์ฟ D: ภายใต้ไดเรคทรอรี่ D:\Web\Apache เราก็ใช้คำสั่งต่อไปนี้
 
d:
cd d:\web\apache
apache

ก็จะปรากฎข้อความในลักษณะนี้
 
Apache/1.3.9 Win32 running...

แล้วก็ปล่อยให้โปรแกรมทำงานไปในฐานะเป็น web server อย่างพึ่งจบการทำงานของ Apache โดยการกด Control+C หรือปิดหน้าต่างของ MS-Dos Prompt เพราะเราต้องการจะทดสอบดูว่า เราสามารถติดต่อได้หรือเปล่า

เปิด Browser ขึ้นมา เช่นในกรณีนี้ ใช้ Netscape จากนั้นก็ให้พิมพ์ http://localhost/ หรือ http://127.0.0.1/ ลงในช่อง URL (Location) แล้วก็กด Enter ถ้าเราสามารถติดต่อกับตัว Apache ที่เราพึ่งจะติดตั้งไป ก็จะปรากฎหน้าเอกสาร (ไฟล์เอกสารนี้อยู่ที่ D:\Web\Apache\htdocs\index.html) ที่ขึ้นต้นด้วยว่า

It Worked! The Apache Web Server is  Installed on this Web Site!

และตามด้วยข้อความอื่นๆ ถ้าได้ดังนี้ก็เป็นอันว่า เราสามารถติดตั้งโปรแกรมและติดต่อกับ Apache Server ได้แล้ว

บางคนอาจจะสงสัยว่า localhost หรือหมายเลขไอพี 127.0.0.1 หมายถึงอะไร ก็จะขออธิบายตรงนี้เลยว่า โดยปรกติแล้ว เราสามารถจะติดตั้งโปรแกรมต่างๆที่ทำหน้าที่เป็น Server อย่างในกรณีนี้ Apache เป็น Web server แต่เนื่องจากว่า บางคนอาจจะไม่ได้ต่อเข้าอินเตอร์เน็ต หรือมี IP address สำหรับเครื่องคอมพิวเตอร์ของตน แต่จุดประสงค์หลักของเราในตอนนี้คือ ต้องการจะศึกษาการเขียนและใช้งาน Web โดยสามารถติดต่อกับ Web Server ได้จริงโดยไม่จำเป็นต้องต่อเข้าอินเตอร์เน็ต และเพื่อจุดประสงค์นี้ เราสามารถใช้ localhost ได้ ซึ่งเป็นการบ่งบอกว่า เราต้องการจะติดต่อกับเครื่องของเรา โดยไม่จำเป็นต่อติดต่อกับโลกภายนอก แค่นี้เราก็สามารถเขียนและทดลองใช้ Web Server รวมกับเครื่องมืออื่นๆ เช่น perl หรือ php ได้
หรือบางคนอาจจะทดลองออกแบบ Web site ของตนเอาไว้ เมื่อทำงานได้จริงและถูกต้องแล้วจึงค่อย upload ไปไว้ที่ server ที่ทำหน้าที่เป็น web hosting เช่น ย้ายไฟล์โดยใช้ FTP เป็นต้น

และสิ่งที่จะลืมเสียมิได้คือ เวลาใช้ localhost ต้องดูด้วยว่า เราไม่ได้ใช้ web proxy ที่อยู่ในเครือข่าย
ในกรณีที่เราสามารถติดต่อกับเครื่องข่ายได้ เพราะว่า เครื่องที่ทำหน้าที่เป็น web proxy นั้นจะไม่รู้จัก
http://localhost หรือเข้าใจว่า หมายถึงตัวมันเอง (และไม่ใช่เครื่องของเราที่ใช้อยู่) ดังนั้นดูให้แน่ใจก่อนว่า เราเลือก Direct connection to the Internet (สำหรับ Netscape ดูที่ Edit-> Preferences -> Advanced -> Proxies) และไม่ได้กำหนดให้ใช้ proxy

หลังจากที่สามารถทำให้ Apache ทำงานได้แล้ว ถ้าเราไม่ต้องการให้โปรแกรม่ทำงานอีกต่อไป ก็จะต้องเปิดหน้าต่าง MS-DOS prompt ขึ้นมาอีกหน้าต่างหนึ่งเพื่อใช้ป้อนคำสั่ง
 
d:
cd d:\web\apache
apache -k shutdown

คำสั่ง apache -k shutdown ก็เป็นการบอกให้ apache ที่ทำหน้าที่เป็น web server อยู่จบการทำงานของตัวเอง

ทำไมจึงต้องเปิดหน้าต่างสำหรับ MS-DOS prompt ขึ้นมาใหม่ ? ก็เพราะว่า หน้าต่างเดิม โปรแกรม Apache กำลังทำงานอยู่และเราไม่สามารถจะป้อนคำสั่งใดๆได้อีก ยกเว้นแต่ว่า เราจะกด Control+C เพื่อหยุดการทำงาน แต่วิธีนี้ไม่แนะนำให้ทำ เพราะว่า โปรแกรม Apache จะจบการทำงานโดยไม่เรียบร้อย

ถ้าไม่ใช่วิธีนี้ ก็อาจจะใช้โปรแกรมที่มีชื่อว่า Apache Manager for Windows ก็ได้ โปรแกรมนี้เวลาทำงาน จะปรากฎใน system tray และคอยดูแลโปรแกรม Apache ที่กำลังทำงานอยู่ หรือใช้สำหรับ start, stop หรือ restart โปรแกรม Apache ได้สะดวก

ขั้นต่อไปคือการกำหนด configuration ที่เหมาะสมให้แก่เครื่องของเรา เพราะ configuration ซึ่งในที่นี้หมายถึง การกำหนดค่าต่างๆหรือพารามิเตอร์ เช่น การกำหนดชื่อไดเรคทรอรี่ ชื่อเอกสาร หรืออะไรเหล่านี้ ซึ่งโดยปรกติแล้วจะเก็บอยู่ในไฟล์ที่ลงท้ายด้วย .conf จะต้องเป็นไปตามที่เราต้องการ

การกำหนด configuration เพื่อทดลองใช้บนเครื่องของเราเอง และไม่ได้ทำเป็น web server สำหรับให้บุคคลภายนอกเข้ามาใช้งาน เช่น เราไม่ได้ติดต่อกับเครือข่ายหรืออินเตอร์เน็ต นั้นค่อนข้างง่ายและไม่ยุ่งยากคือไม่ต้องเปลี่ยนแปลงแก้ไขอะไรก็ได้ คือใช้ อันที่เขาทำเป็น default configuration มาแล้ว ซึ่งแตกต่างจากกรณีหลัง เพราะว่าถ้าจะใช้งานหรือจะเปิดบริการเป็น web server จริงๆ ก็จะต้องมีหลายๆเรื่องที่คุณควรจะระมัดระวัง เช่น เรื่องของความปลอดภัย หรือประสิทธิภาพของการใช้บริการเป็นต้น

สำหรับใครที่ต้องการจะแก้ไข configuration file ก็ทำได้ที่ D:\Web\Apache\conf\httpd.conf โดยใช้ Text Editor เช่น NotePad เปิดไฟล์ขึ้นมาแก้ไข Apache เวอร์ชั่น 1.3.9 นี้จะใช้แค่ httpd.conf ดังนั้นไฟล์ srm.conf และ access.conf ก็ไม่จำเป็นต้องใช้อีกต่อไป ซึ่งแตกต่างจากเวอร์ชั่นก่อนๆ

อย่างที่กล่าวไปข้างต้น สำหรับการใช้งานขั้นพื้นฐาน คุณก็ไม่จำเป็นต้องไปแก้ไขอะไรในไฟล์ httpd.conf
นั้น ก็สามารถใช้งาน Apache ได้ทันที

สมมุติว่า เราได้ทำการเปลี่ยนแปลงแก้ไขในไฟล์ที่เก็บ configuration ต่างๆสำหรับ Apache (ซึ่งก็คือ httpd.conf) และเราต้องการให้ Apache ได้ทำตามที่เราแก้ไขไป เราก็ใช้คำสั่ง
 
apache -k restart

คำสั่งนี้จะส่งผลให้ apache ทำการ restart ตัวเอง และอ่าน configuration ต่างๆที่เก็บอยู่ในไฟล์ใหม่อีกครั้ง

ถ้าคุณมีเวลาว่างหรืออยากจะรู้อะไรเพิ่มเติม ก็สามารถแวะไปที่โฮมเพจของ Apache
 
http://www.apache.org/  โฮมเพจของ Apache
http://www.apache.org/httpd.html  ข้อมูลเกี่ยวกับตัว Apache server เช่น เอกสารการติดตั้งและใช้งาน การดาวน์โหลด และข้อมูลอื่นๆเป็นต้น
http://www.apache.org/dist/  ไดเรคทรอรี่ที่คุณสามารถดาวน์โหลดไฟล์ของ Apache ได้


การใช้งาน PHP ร่วมกับ Apache Web Server


PHP Version 3.0 หรือ PHP3 (ปัจจุบันก็มีเวอร์ชั่น 4.0 ออกมาแล้ว แต่ขณะที่เขียนนี้ยังเป็น Beta Version อยู่) เป็น scripting language ที่มีลักษณะคล้ายกับ C และ Java ผสมกับ Perl ถ้าใครคุ้นเคยกับ การใช้ภาษาทั้งสองอยู่แล้ว การใช้งานหรือทำความเข้าใจในตัวภาษา ก็มิใช่เรื่องยากเลย PHP เป็นภาษาที่ในกลุ่มที่เรียกว่า scripting language ก็จริงแต่จุดประสงค์ของการใช้งาน ค่อนข้างจะเจาะจง คือ ใช้ในการทอดแทรกคำสั่งไว้ในเอกสาร HTML เพื่อใช้งานในรูปแบบของ Dynamic HTML คือมีบางส่วนของเนื้อหาภายในที่สามารถเปลี่ยนแปลงได้ และไม่คงตัว (ซึ่งเป็นที่มาของคำว่า Dynamic HTML นั่นเอง) และมีประโยชน์มากในการพัฒนางานด้านเว็ป (web development)

PHP3 นั้นพัฒนามาจาก PHP/FI 2.0 โดยมีการเพิ่มเติมคุณลักษณะอื่นๆเข้าไป และในปัจจุบัน PHP ก็ได้พัฒนาเวอร์ชั่น 4.0 ออกมาแล้ว คุณสมบัติที่เด่นข้อหนึ่งของ PHP ก็คือสามารถติดต่อกับ Database ได้ ตัวอย่างเช่น Microsoft SQL Server, Microsoft Access databases โดยผ่าน ODBC
หรือ (MySQL+MyODBC drivers) และตัวอื่นๆ นักพัฒนาเว็บสามารถดึงข้อมูลจากดาต้าเบสมาใช้งาน และนำเสนอให้อยู่ในรูปแบบของ HTML ได้โดยอัตโนมัติ ซึ่งข้อมูลชุดเดียวกัน อาจจะนำเสนอได้หลายๆรูปแบบภายในเอกสาร HTML

สำหรับการติดตั้ง PHP3 สำหรับผู้ใช้ Windows 95/98 ก็ทำตามขั้นตอนดังนี้

1) แตกไฟล์ในไดเรคทรอรี่ D:\Web\php3

ทำสำเนาไฟล์ที่ลงท้ายด้วย .DLL (ยกเว้นไฟล์ .DLL ที่มีชื่อนำหน้าด้วย php_) ใน D:\Web\php3 ไปใส่ไว้ใน C:\WINDOWS\SYSTEM

ทำสำเนาไฟล์ php3-dist.ini ไปใส่ไว้ในไดเรคทรอรี่ของ Windows 95/98 (C:\WINDOWS)
และเปลี่ยนชื่อใหม่เป็น php3.ini ให้ทำการแก้ไขไฟล์ php3.ini ในหัวข้อต่อไปนี้
 
doc_root  ให้ชี้ไปยังไดเรคทรอรี่เอกสารของ Apache (D:\Web\Apache\htdocs)
user_dir  ให้ชี้ไปยังไดเรคทรอรี่ของ Users (D:\Web\Apache\users)
extension_dir  ให้ชี้ไปยังไดเรคทรอรี่ของ PHP3 ที่ได้ทำการติดตั้ง  (D:\Web\php3)
doc_root  = D:\Web\Apache\htdocs ;
user_dir  =  D:\Web\Apache\users ; 
extension_dir = D:\Web\php3 ;

ขั้นต่อไปคือ จะต้องแก้ไขและเพิ่มเติมใน configuration file ของ Apache (D:\Web\Apache\conf\httpd.conf)
 
ScriptAlias  /php3/   "D:/Web/php3/"
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3 .phtml
Action application/x-httpd-php3 "/php3/php.exe"

เมื่อแก้ไขและบันทึกลงไฟล์แล้ว ก็ให้ใช้คำสั่ง apache -k restart เพื่อให้การแก้ไขมีผลในการทำงานของ Apache

คราวนี้ก็ลองมาทดสอบการใช้งาน PHP3 โดย สร้างไฟล์ขึ้นมาใหม่ โดยใช้ Text Editor ตอนแรกอาจจะบันทึกเป็น .txt แล้วค่อยใช้แก้ไขให้เป็น .php3 หรือ phtml สมมุติว่า บันทึกชื่อไฟล์เป็น test1.php3 ลงในไดเรคทรอรี่ D:\Web\Apache\htdocs เนื้อหาภายในของไฟล์ test1.php3 มีตัวอย่างดังนี้
 
<html>
<head><title> Test PHP3 </title></head>
<body>
<font face="MS Sans Serif" size=+3>
<? echo "สวัสดีครับ"; ?>
</font>
</body>
</html>

เมื่อทำเสร็จแล้ว ก็ลงทดสอบโดยกำหนด URL ภายใน Web Browser ที่ใช้อยู่ ไปที่ http://localhost/test1.php3 ก็จะปรากฎหน้าเอกสารที่มีข้อความว่า "สวัสดีครับ"

ถ้าตัวอย่างแรก ได้ทดลองแล้วว่ามันสามาถทำงานได้ ก็ลองตัวอย่างที่สองนี้ดูบ้าง
 
<html>
<head><title> Test PHP3 </title></head>
<body>
<? phpinfo(); ?>
</body>
</html>

PHP Modules
 
php3_calendar.dll Calendar conversion functions
php3_crypt.dll Crypt functions
php3_dbase.dll DBase functions
php3_dbm.dll GDBM emulation via Berkely DB2 library
php3_filepro.dll READ ONLY access to filepro databases
php3_gd.dll GD Library functions for gif manipulation
php3_hyperwave.dll HyperWave functions
php3_imap4r2.dll IMAP 4 functions
php3_ldap.dll LDAP functions
php3_msql1.dll mSQL 1 client
php3_msql2.dll mSQL 2 client
php3_mssql.dll MSSQL client (requires MSSQL DB-Libraries
php3_mysql.dll MySQL functions
php3_nsmail.dll Netscape mail functions
php3_oci73.dll Oracle functions
php3_snmp.dll SNMP get and walk functions (NT only!)
php3_zlib.dll ZLib functions

เนื้อหาอ้างอิงจาก http://www.php.net/manual/install-windows95-nt.php3