เซิร์ฟเวอร์ ซึ่งเป็นไปตามหลักการใช้เครือข่ายคอมพิวเตอร์คือการใช้ทรพยากรร่วมกันทั้งฮาร์ดแวร์
ซอฟท์แวร์ และแบนด์วิธ Web Server ในโรงเรียนสามารถใช้เป็นที่ประชาสัมพันธ์โรงเรียน จัดสรรค์
พื้นที่ให้แก่บุคลากรในโรงเรียน นักเรียนได้ใช้ประโยฃน์ในการพัฒนาการเรียนรู้การใช้งานระบบ
เครือข่ายคอมพิวเตอร์ให้เกิดประโยชน์สูงสุด
Web Server Package ที่นิยมใช้กันสูงสุด คือ Apache ซึ่งเป็น Open source
software บนระบบปฏิบัติการ Debian 7.0 สามารถติดตั้งออนไลน์ได้ฟรี ท่านสามารถศึกษา
รายละเอียดการใช้งาน Apache ได้ที่ www.apache.org
Apache เป็นแพคเกจที่รองรับภาษาสคริปต์ได้หลายภาษา เช่น Php, Perl, Python
และสามารถใช้งานร่วมกับฐานข้อมูลที่เป็น Open source software เช่น MySQL และ
PostgreSQL ซึ่งสามารถนำมาพัฒนาเว็บไซต์ให้เป็นแบบไดนามิกเว็บ คือสารถมารถแก้ไข
ออนไลน์ผ่านเว็บบราวเซอร์โดยไม่ต้องใช้โปรแกรมสำหรับการเขียนเว็บ เป็นเว็บที่สามารถโต้ตอบ
กับผู้ใช้ให้แสดงความคิดเห็นได้ นอกจากนี้ Apache ยังรองรับภาษา HTML ซึ่งเป็นภาษา
หลักในการพัฒนาเว็บไซต์
บนระบบปฏิบัติการ Debian GNU/Linux นิยมติดตั้ง Apache ร่วมกับภาษา Php
เอาไว้ใช้งานร่วมกับฐานข้อมูล MySQL หรือ PostgreSQL โดยฐานข้อมูลทั้งสองก็สามารถใช้
งานได้ง่ายขึ้นผ่าน Web Server โดยติดตั้งแพคเกจ PhpMyadmin เป็นแพคเกจที่พัฒนา
ด้วยภาษา Php สำหรับการใช้งานฐานข้อมูล MySQL และ PhpPgadmin สำหรับการใช้งาน
ฐานข้อมูล PostgreSQL
กล่าวโดยสรุปก็คือ การพัฒนาเว็บไซต์ พื้นที่สำหรับการทำเว็บไซต์นิยมใช้แพคเกจ
"LAMP" ซึ่งประกอบด้วย
L : Linux ในที่นี้เรากำลังจะกล่าวถึง Debian 7.0 GNU/Linux ใช้เป็นระบบ
ปฏิบัติการ
A : Apache ใช้เป็น Web Server
M : MySQL ใช้สำหรับจัดการฐานข้อมูล โดยส่วนตัวผู้เขียนนิยมใช้ PosgreSQL
P : PHP ภาษาสคริปต์สำหรับติดต่อฐานข้อมูล การคำนวณ และจัดการไดนามิกเว็บ
การติดตั้งแพคเกจที่กล่าวมาข้างต้นก็ทำได้ง่าย หลังจากติดตั้งระบบปฏิบัติการ Debian
GNU/Linux และเชื่อมต่อกับระบบอินเตอร์เน็ตแล้วสามารถติดตั้งแบบออนไลน์ได้ทันที
root@debian7:~# aptitude install apache2 php5 mysql-server postgresql phpmyadmin phppgadmin pgadmin3
The following NEW packages will be installed:
apache2 apache2-mpm-prefork{ab} apache2-mpm-worker{ab} apache2-utils{a} apache2.2-common{a}
dbconfig-common{a} javascript-common{a} libaio1{a} libapache2-mod-php5{a} libdbd-mysql-perl{a}
libdbi-perl{a} libhtml-template-perl{a} libjs-jquery{a} libmcrypt4{a} libnet-daemon-perl{a} libonig2{a}
libplrpc-perl{a} libpq5{a} libqdbm14{a} libwxbase2.8-0{a} libwxgtk2.8-0{a} mysql-client-5.5{a}
mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} pgadmin3 pgadmin3-data{a} pgagent{a} php5
php5-cli{a} php5-common{a} php5-gd{a} php5-mcrypt{a} php5-mysql{a} php5-pgsql{a} phpmyadmin phppgadmin
postgresql postgresql-9.1{a} postgresql-client-9.1{a} postgresql-client-common{a} postgresql-common{a}
postgresql-doc{a} postgresql-doc-9.1{a} ssl-cert{a} wwwconfig-common{a}
0 packages upgraded, 46 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.7 MB of archives. After unpacking 194 MB will be used.
The following packages have unmet dependencies:
apache2-mpm-prefork : Conflicts: apache2-mpm which is a virtual package.
apache2-mpm-worker : Conflicts: apache2-mpm which is a virtual package.
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) apache2-mpm-worker [Not Installed]
Accept this solution? [Y/n/q/?]
The following NEW packages will be installed:
apache2 apache2-mpm-prefork{a} apache2-utils{a} apache2.2-common{a} dbconfig-common{a}
javascript-common{a} libaio1{a} libapache2-mod-php5{a} libdbd-mysql-perl{a} libdbi-perl{a}
libhtml-template-perl{a} libjs-jquery{a} libmcrypt4{a} libnet-daemon-perl{a} libonig2{a} libplrpc-perl{a}
libpq5{a} libqdbm14{a} libwxbase2.8-0{a} libwxgtk2.8-0{a} mysql-client-5.5{a} mysql-server
mysql-server-5.5{a} mysql-server-core-5.5{a} pgadmin3 pgadmin3-data{a} pgagent{a} php5 php5-cli{a}
php5-common{a} php5-gd{a} php5-mcrypt{a} php5-mysql{a} php5-pgsql{a} phpmyadmin phppgadmin postgresql
postgresql-9.1{a} postgresql-client-9.1{a} postgresql-client-common{a} postgresql-common{a}
postgresql-doc{a} postgresql-doc-9.1{a} ssl-cert{a} wwwconfig-common{a}
0 packages upgraded, 45 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.7 MB of archives. After unpacking 194 MB will be used.
Do you want to continue? [Y/n/?]
หลังจากนั้นระบบจะติดตั้งแพคเกจที่ต้องการแบบออนไลน์ การติดตั้งจะเร็วหรือช้าขึ้นอยู่กับความเร็วของ
อินเตอร์เน็ต สมรรถนะของเครื่องที่ติดตั้ง ระหว่างติดตั้งผู้ติดตั้งต้องรอกำหนดรหัสผ่านของฐานข้อมูล
ทั้ง MySQL และ PhpMyadmin
หลังจากระบบติดตั้งแพคเกจ MySQL แล้ว ระบบจะให้ท่านกำหนดรหัสผ่านของผู้บริหารระบบ
(super user : root) และยืนยันรหัสผ่านเพื่อเป็นการยืนยันว่าถูกต้อง ผู้บริหารระบบจะเป็นผู้ที่เพิ่ม
หรือลบผู้ใช้ระบบฐานข้อมูล กำหนดสิทธิในการใช้ว่าผู้ใช้งานทั่วไปสามารถทำอะไรกับฐานข้อมูลได้บ้าง
ภาพแสดงการใส่รหัสผ่านของผู้บริหารระบบ (root) ใส่รหัสผ่านแล้ว กดปุ่ม Tab บนแป้นพิมพ์
เลือก OK แล้ว กด Enter
และ Lighthttpd การเลือกให้กด Tab สำหรับการเลื่อนตำแหน่ง และกดคานเว้นวรรค
(Space bar) สำหรับการเลือก กด OK เพื่อการทำงานต่อไป
ผ่านแพคเกจ PhpMyadmin หรือไม่ ให้ต้อง Yes
ติดตั้งเสร็จแล้วลองเรียกใช้งานเว็บเพจได้จากบราวเซอร์ โดยเรียกจาก url :
http://localhost หรือ http://127.0.0.1 สำหรับการเรียกใช้งานจากเครื่องที่ติดตั้ง
และเครื่องในเครือข่ายสามารถเรียกจากเลขไอพี (IP address) เช่น htt://19.168.1.1 หรือ
เลขอื่น ๆ ที่ติดตั้งไว้ แต่ทั้งสาม url สามารถเรียกใช้ได้ทั้งหมดจากเครื่องที่ติดตั้ง (Server)
บางครั้งหลังการติดตั้งเว็บเซิร์ฟเวอร์ยังไม่ทำงาน ให้ใช้ superuser (root) สั่งให้
เว็บเซิร์ฟเวอร์ทำงาน ด้วยคำสั่ง apachectl start
การตรวจสอบว่าในขณะนี้มีการให้บริการใดบ้างของเซิร์ฟเวอร์ มีวิธีการตรวจสอบหลายวิธี
เช่น การใช้คำสั่ง ps แต่ในที่นี้ผู้เขียนขอแนะนำการตรวจสอบด้วยคำสั่ง nmap ก่อนการใช้งาน
คำสั่งนี้ต้องติดตั้งแพคเกจ nmap ก่อน ใช้ superuser ติดตั้งด้วยคำสั่ง aptitude install
nmap
submarine@debian7:~$ su
Password:
root@debian7:/home/submarine# aptitude install nmap
เมื่อติดตั้งแพคเกจ nmap แล้ว สามารถตรวจสอบการทำงานของเซิร์ฟเวอร์ได้ทั้งใน
เครือข่ายเฉพาะที่ หรือบนเครือข่ายอินเตอร์เน็ต ดังภาพตัวอย่าง
เพื่อเป็นการตรวจสอบว่า ภาษา Php ที่ติดตั้งทำงานรองรับการใช้งาน Apache,
MySQL, PostgreSQL หรือไม่ เราสามารถทำได้โดยเขียนไฟล์ภาษา Php เพื่อแสดง
รายละเอียดการทำงานของภาษา Php ได้ โดยใช้ฟังก์ชั่น phpinfo() ในที่นี้ผู้เขียนจะเขียน
ไฟล์ดังกล่าว ชื่อ test.php เก็บไว้ที่ /var/www โดยใช้ pico เป็น editor
MySQL, PostgreSQL หรือไม่ เราสามารถทำได้โดยเขียนไฟล์ภาษา Php เพื่อแสดง
รายละเอียดการทำงานของภาษา Php ได้ โดยใช้ฟังก์ชั่น phpinfo() ในที่นี้ผู้เขียนจะเขียน
ไฟล์ดังกล่าว ชื่อ test.php เก็บไว้ที่ /var/www โดยใช้ pico เป็น editor
<?
phpinfo()
?>
บันทึกไฟล์ที่สร้างขึ้นด้วยคำสั่ง Ctrl w (กด Ctrl ค้างไว้ แล้วกด w) เรียกใช้งานไฟล์
test.php ผ่านทางบราวเซอร์ที่ url : http://localhost/test.php ได้ผลลัพธ์ดังภาพ
สำหรับการใช้งานฐานข้อมูลทั้ง MySQL และ PostgreSQL
ภาพข้างล่างนี้เป็นผลจากการเรียกใช้งานแพคเกจ PhpMyadmin ที่ใช้สำหรับการใช้งาน
ฐานข้อมูล MySQL โดยเรียกจาก url : http://localhost/phpmyadmin
กำหนดรหัสผ่าน และสิทธิในการใช้ฐานข้อมูลได้ อย่าลืม logout ทุกครั้งหลังใช้งาน
อีกแพคเกจหนึ่ง คือ Phppgadmin ที่พัฒนามาจากภาษา php เช่นเดียวกัน สามารถ
เรียกใช้งานผ่านบราวเซอร์ได้ที่ url : http://localhost/phppgadmin จะได้ผลดังภาพ
โดยใช้ superuser (root) และ postgres ซึ่งเป็น user ที่ถูกกำหนดมาเป็น user
แรกสำหรับการใช้งาน การใช้งาน PostgreSQL, Phppgadmin ต้องทำดังนี้
1. ใช้ superuser กำหนดรหัสผ่านของ user postgres
2. ใช้ user postgres สร้าง user ใหม่ให้เป็น superuser สำหรับจัดการการ
ใช้งานฐานข้อมูล PostgreSQL จึงจะสามาระ login เข้าใช้งานได้
รายละเอียดทั้ง 2 ข้อศึกษาได้จาก เรื่อง "สร้างไดนามิคเว็บด้วย Drupal และ
PostgreSQL"














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