วันอาทิตย์ที่ 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  ที่ท่านกำหนด
 ดังตัวอย่างในภาพ



        การกำหนดให้ผู้ใช้งานทั่วไปให้ใช้งาน 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 ของผู้ใช้งานทั่วไปโดยสร้างไดเรกทอรี ชื่อ 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 จะได้ผลดังตัวอย่าง


        งานเข้าแล้วครับ ภาษาไทยไม่แสดงผล ดังนั้นผู้บริหารงานระบบ (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# 

        เมื่อเรียกใช้งานผ่านบราวเซอร์ Web server ก็จะสามารถใช้งานภาษาไทยได้ตามต้องการ



        นอกจากรองรับภาษา HTML แล้ว Apache web server ยังรองรับการใช้งานภาษาอื่น ๆ ที่เป็น
ภาษาสคริปต์ได้ เช่น ภาษา Perl, Php, Python ซึ่งผู้เขียนได้ได้กล่าวถึงมาแล้วในบทความก่อน ๆ




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

แสดงความคิดเห็น