ในบทความก่อนผู้เขียนได้กล่าวถึงการคอนฟิก Apache web server ให้ผู้ใช้งานทั่วไปที่ไม่ใช่
root ใช้งานการเขียนเว็บและและสร้างเว็บไซต์ด้วยภาษา HTML ได้ ดังที่ทราบกันดีว่าภาษา
HTML มีข้อจำกัดในการใช้งาน คือ เป็นการสื่อสารทางเดียวระหว่าง server กลับ client ไม่สามารถ
ประมวลผล คำนวณเปรียบเทียบข้อมูลได้
ในบทความนี้ผู้เขียนจะกล่าวถึงการคอนฟิก Apache web server เพื่อให้ผู้ใช้งานทั่วไปที่ไม่ใช่
root ใช้งานภาษา Perl, Php ละภาษา Python เพื่อใช้ในการติดต่อสื่อสารระหว่าง web server และ
Database server และเพื่อการประมวลผล การจำเว็บเพจที่เป็นการสื่อสารสองทาง (Dynamic web)
วันอังคารที่ 20 มกราคม พ.ศ. 2558
วันอาทิตย์ที่ 18 มกราคม พ.ศ. 2558
Config Apache Web server เพื่อให้ผู้ใช้งานเครือข่ายใช้งานภาษา HTML
หลังที่เราติดตั้ง Web server บน Debian 7.8 GNU/Linux แล้ว จะมีเพียงผู้บริหารระบบ (root)
คนเดียวเท่านั้นที่สามารถเขียนเว็บลงบน server ได้ ส่วนผู้ใช้งานระบบทั่วไป (users) ยังไม่สามารถ
ใช้งานในการเขียนเว็บเพจลงบน server ได้ ทั้งนี้เพื่อความปลอดภัยของระบบนั่นเอง
ดังที่กล่าวมาข้างต้นในบทความก่อน ๆ ว่าจุดมุ่งหมายในการติดตั้งระบบปฏิบัติการ Debian
7.8 GNU/Linux ของผู้เขียน คือ การใช้ทรัพยากรร่วมกัน ใช้งานฮาร์ดแวร์ให้เกิดประโยชน์สูงสุด
ใช้ซอฟท์แวร์ร่วมกัน เพียงติดตั้งกันครั้งเดียวก็สามารถจัดสรรค์ให้ผู้ใช้งานระบบได้ใช้กันอย่าง
ทั่งถึง การติดตั้ง Apache web server ที่เป็นค่าเริ่มต้น root จะสามารถใช้งานเพื่อเขียนเว็บเพจไว้
ที่ไดเรคทอรี /var/www หลังการติดตั้งจะมีไฟล์ภาษา HTML เพียงไฟล์เดียว คือ index.html เรียก
ใช้งานผ่านบราวเซอร์ได้ที่ url http://localhost หรือ http://127.0.0.1 หรือ http://ip adress ที่ท่านกำหนด
ดังตัวอย่างในภาพ
ทดลองใช้งานภาษา HTML ของผู้ใช้งานทั่วไปโดยสร้างไดเรกทอรี ชื่อ public_html เพื่อเก็บ
ไฟล์ภาษา HTML หรือภาษาอื่น เช่น Php และภาษา Python เป็นต้น ตัวอย่างต่อไปนี้ผู้เขียนจะใช้ผู้
ใช้งานทั่วไป ชื่อ submarine ทดลองใช้งานภาษา HTML ดังนี้
submarine@Debian78:~$ mkdir public_html
เปิดใช้งานไดเรคทอรีที่สร้างขึ้นเพื่อเก็บไฟล์ที่เว็บเพจ
submarine@Debian78:~$ cd public_html/
submarine@Debian78:~/public_html$
สร้างไฟล์ตัวอย่างภาษา HTML ชื่อ index.html
submarine@Debian78:~/public_html$ pico index.html
<html><body><h1>It works!</h1>
<p>ทดสอบการใช้งานภาษา HTML ของผู้ใช้งานทั่วไปที่ไม่ใช่ root</p>
<p>เวอร์ชั่นหลัง ๆ ของ Apache จะต้องคอนฟิกเพิ่มเติมตามที่กล่าวมาแล้ว ค่าเริ่มต้นจะต่างจากเวอร์ชั่นแรก ๆ ครับ</p>
</body></html>
การเขียนเว็บเพจภาษา HTML เดี๋ยวนี้ทำได้ง่ายขึ้นมากมีโปรแกรมสำเร็จรูปช่วยเขียน แต่
จากประสบการณ์ของผู้เขียนในช่วงแรก ๆ ที่สอนนักเรียน ผู้เขียนจะเน้นให้นักเรียนเขียน
ด้วย Command line interface เช่น จากเครื่องระบบปฏิบัติการวินโดวส์หลังจากเพิ่มชื่อผู้ใช้งาน
ระบบแล้ว จะอธิบายว่าเราเชื่อมต่อระบบเครือข่ายคอมพิวเตอร์ให้สามารถสื่อสารข้อมูลกันได้
มี Server เป็นระบบปฏิบัติการลินุกซ์อยู่หน้าชั้นเรียน ทุกคนสามารถใช้งานคอมพิวเตอร์ที่เป็น
Server ได้พร้อมกัน ครูต้องเพิ่มชื่อ และกำหนดรหัสผ่านก่อนจึงจะใช้งานได้ ให้นักเรียนตั้งชื่อ
ผู้ใช้งานและรหัสผ่านเป็นภาษาอังกฤษส่งครู และจำไว้เพราะต้องใช้งานทุกครั้งที่ใช้ Server
ครูก็ถือโอกาสสอนว่าการตั้งชื่อ username และ password ที่มีลักษณะอย่างไร
เมื่อมี username กับ password แล้วครูก็อธิบายวิธีติดต่อกับ Server โดยใช้โปรแกรมติดต่อ
เครือข่ายระยะไกล เช่น โปีแกรม putty เป็นต้น ครูควรสอนให้นักเรียนเข้าใจภาษา HTML
ให้เข้าพอระดับหนึ่งก่อนให้ใช้โปรแกรมสำเร็จรูปเขียนเว็บเพจ
กลับเข้ามาเรื่องกำลังเสนอ เมื่อเขียนไฟล์ index.html แล้วเราสามารถเรียนใช้งานเว็บเพจ
ที่เขียนขึ้นด้วยบราวเซอร์ที่ url http://ip address/~username
ตัวอย่าง เช่น Server ที่ผู้เขียนใช้งานมีไอพีแอดเดรส 192.168.1.104 , username ชื่อ
submarine ก็ใช้ url http://192.168.1.104/~submarine จะได้ผลดังตัวอย่าง
คนเดียวเท่านั้นที่สามารถเขียนเว็บลงบน server ได้ ส่วนผู้ใช้งานระบบทั่วไป (users) ยังไม่สามารถ
ใช้งานในการเขียนเว็บเพจลงบน server ได้ ทั้งนี้เพื่อความปลอดภัยของระบบนั่นเอง
ดังที่กล่าวมาข้างต้นในบทความก่อน ๆ ว่าจุดมุ่งหมายในการติดตั้งระบบปฏิบัติการ Debian
7.8 GNU/Linux ของผู้เขียน คือ การใช้ทรัพยากรร่วมกัน ใช้งานฮาร์ดแวร์ให้เกิดประโยชน์สูงสุด
ใช้ซอฟท์แวร์ร่วมกัน เพียงติดตั้งกันครั้งเดียวก็สามารถจัดสรรค์ให้ผู้ใช้งานระบบได้ใช้กันอย่าง
ทั่งถึง การติดตั้ง Apache web server ที่เป็นค่าเริ่มต้น root จะสามารถใช้งานเพื่อเขียนเว็บเพจไว้
ที่ไดเรคทอรี /var/www หลังการติดตั้งจะมีไฟล์ภาษา HTML เพียงไฟล์เดียว คือ index.html เรียก
ใช้งานผ่านบราวเซอร์ได้ที่ url http://localhost หรือ http://127.0.0.1 หรือ http://ip adress ที่ท่านกำหนด
ดังตัวอย่างในภาพ
การกำหนดให้ผู้ใช้งานทั่วไปให้ใช้งาน Apache 2 Web Server
การกำหนดให้ผู้ใช้งาน Apache 2 สามารถใช้งานภาษา HTML ได้ ทำได้โดยเปิดใช้คอนฟิกไฟล์
2 ไฟล์โดย root ดังนี้
submarine@Debian78:~$ su
Password:
root@Debian78:/home/submarine#
เปลี่ยนไปใช้ไดเรกทอรีที่ต้องการเชื่อมโยงคำสั่ง
root@Debian78:/home/submarine# cd /etc/apache2/mods-enabled
root@Debian78:/etc/apache2/mods-enabled#
สั่งเปิดใช้งานคอนฟิกไฟล์ 2 ไฟล์ ดังนี้
root@Debian78:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf userdir.conf
root@Debian78:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.load userdir.load
สั่งรัน Apache ใหม่อีกรอบเพื่อโหลดคำสั่งที่เพิ่มขึ้น
root@Debian78:/etc/apache2/mods-enabled# /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2 ... waiting .
root@Debian78:/etc/apache2/mods-enabled#
ไฟล์ภาษา HTML หรือภาษาอื่น เช่น Php และภาษา Python เป็นต้น ตัวอย่างต่อไปนี้ผู้เขียนจะใช้ผู้
ใช้งานทั่วไป ชื่อ submarine ทดลองใช้งานภาษา HTML ดังนี้
submarine@Debian78:~$ mkdir public_html
เปิดใช้งานไดเรคทอรีที่สร้างขึ้นเพื่อเก็บไฟล์ที่เว็บเพจ
submarine@Debian78:~$ cd public_html/
submarine@Debian78:~/public_html$
สร้างไฟล์ตัวอย่างภาษา HTML ชื่อ index.html
submarine@Debian78:~/public_html$ pico index.html
<html><body><h1>It works!</h1>
<p>ทดสอบการใช้งานภาษา HTML ของผู้ใช้งานทั่วไปที่ไม่ใช่ root</p>
<p>เวอร์ชั่นหลัง ๆ ของ Apache จะต้องคอนฟิกเพิ่มเติมตามที่กล่าวมาแล้ว ค่าเริ่มต้นจะต่างจากเวอร์ชั่นแรก ๆ ครับ</p>
</body></html>
การเขียนเว็บเพจภาษา HTML เดี๋ยวนี้ทำได้ง่ายขึ้นมากมีโปรแกรมสำเร็จรูปช่วยเขียน แต่
จากประสบการณ์ของผู้เขียนในช่วงแรก ๆ ที่สอนนักเรียน ผู้เขียนจะเน้นให้นักเรียนเขียน
ด้วย Command line interface เช่น จากเครื่องระบบปฏิบัติการวินโดวส์หลังจากเพิ่มชื่อผู้ใช้งาน
ระบบแล้ว จะอธิบายว่าเราเชื่อมต่อระบบเครือข่ายคอมพิวเตอร์ให้สามารถสื่อสารข้อมูลกันได้
มี Server เป็นระบบปฏิบัติการลินุกซ์อยู่หน้าชั้นเรียน ทุกคนสามารถใช้งานคอมพิวเตอร์ที่เป็น
Server ได้พร้อมกัน ครูต้องเพิ่มชื่อ และกำหนดรหัสผ่านก่อนจึงจะใช้งานได้ ให้นักเรียนตั้งชื่อ
ผู้ใช้งานและรหัสผ่านเป็นภาษาอังกฤษส่งครู และจำไว้เพราะต้องใช้งานทุกครั้งที่ใช้ Server
ครูก็ถือโอกาสสอนว่าการตั้งชื่อ username และ password ที่มีลักษณะอย่างไร
เมื่อมี username กับ password แล้วครูก็อธิบายวิธีติดต่อกับ Server โดยใช้โปรแกรมติดต่อ
เครือข่ายระยะไกล เช่น โปีแกรม putty เป็นต้น ครูควรสอนให้นักเรียนเข้าใจภาษา HTML
ให้เข้าพอระดับหนึ่งก่อนให้ใช้โปรแกรมสำเร็จรูปเขียนเว็บเพจ
กลับเข้ามาเรื่องกำลังเสนอ เมื่อเขียนไฟล์ index.html แล้วเราสามารถเรียนใช้งานเว็บเพจ
ที่เขียนขึ้นด้วยบราวเซอร์ที่ url http://ip address/~username
ตัวอย่าง เช่น Server ที่ผู้เขียนใช้งานมีไอพีแอดเดรส 192.168.1.104 , username ชื่อ
submarine ก็ใช้ url http://192.168.1.104/~submarine จะได้ผลดังตัวอย่าง
งานเข้าแล้วครับ ภาษาไทยไม่แสดงผล ดังนั้นผู้บริหารงานระบบ (Administrator) ที่ดีต้อง
กำหนดให้ Apache Web Server ให้สามารถภาษาไทยได้ ทำได้ดังนี้
แก้ไขไฟล์ /etc/apache2/conf.d/charset ให้แสดงผลเป็นภาษาไทย utf-d โดยเพิ่มข้อความ
AddDefaultCharset UTF-8 ลงในไฟล์ ดังตัวอย่าง
# Read the documentation before enabling AddDefaultCharset.
# In general, it is only a good idea if you know that all your files
# have this encoding. It will override any encoding given in the files
# in meta http-equiv or xml encoding tags.
AddDefaultCharset UTF-8
เหมือนเช่นเคยการแก้ไขคอนฟิกไฟล์ในระบบต้องแก้ไขโดย root เมื่อแก้ไขเสร็จสั่งให้
Apache web server ทำงานใหม่อีกครั้งเพื่อโหลดคำสั่งที่เขียนเพิ่มลงไป
root@Debian78:/home/submarine#
root@Debian78:/home/submarine# /etc/init.d/apache2 force-reload
[ ok ] Reloading web server config: apache2.
root@Debian78:/home/submarine#
กำหนดให้ Apache Web Server ให้สามารถภาษาไทยได้ ทำได้ดังนี้
แก้ไขไฟล์ /etc/apache2/conf.d/charset ให้แสดงผลเป็นภาษาไทย utf-d โดยเพิ่มข้อความ
AddDefaultCharset UTF-8 ลงในไฟล์ ดังตัวอย่าง
# Read the documentation before enabling AddDefaultCharset.
# In general, it is only a good idea if you know that all your files
# have this encoding. It will override any encoding given in the files
# in meta http-equiv or xml encoding tags.
AddDefaultCharset UTF-8
เหมือนเช่นเคยการแก้ไขคอนฟิกไฟล์ในระบบต้องแก้ไขโดย root เมื่อแก้ไขเสร็จสั่งให้
Apache web server ทำงานใหม่อีกครั้งเพื่อโหลดคำสั่งที่เขียนเพิ่มลงไป
root@Debian78:/home/submarine#
root@Debian78:/home/submarine# /etc/init.d/apache2 force-reload
[ ok ] Reloading web server config: apache2.
root@Debian78:/home/submarine#
เมื่อเรียกใช้งานผ่านบราวเซอร์ Web server ก็จะสามารถใช้งานภาษาไทยได้ตามต้องการ
นอกจากรองรับภาษา HTML แล้ว Apache web server ยังรองรับการใช้งานภาษาอื่น ๆ ที่เป็น
ภาษาสคริปต์ได้ เช่น ภาษา Perl, Php, Python ซึ่งผู้เขียนได้ได้กล่าวถึงมาแล้วในบทความก่อน ๆ
ภาษาสคริปต์ได้ เช่น ภาษา Perl, Php, Python ซึ่งผู้เขียนได้ได้กล่าวถึงมาแล้วในบทความก่อน ๆ
สมัครสมาชิก:
บทความ (Atom)


