วันศุกร์ที่ 17 พฤษภาคม พ.ศ. 2556

สร้างไดนามิกเว็บจาก Drupal และฐานข้อมูล PostgreSQL

        หลังจากติดตั้ง Apache2, Php5, MySQL-Sever, PostgreSQL, PhpMyadmin,
PhpPgadmin แล้ว ระบบก็สามารถให้บริการพื้นที่ และฐานข้อมูลสำหรับการทำเว็บเพจ โดยมี
Apache บริการภาษา HTML, Perl, Php สำหรับการทำเว็บ MySQL และ PosgreSQL
สำหรับบริการข้อมูลสำหรับการทำเว็บ และภาษา Php และ Perl สำหรับติดต่อระหว่างฐานข้อมูล
กับเว็บเซิร์ฟเวอร์ (Apache)
        ในที่นี้ผู้เขียนเลือกใช้ฐานข้อมูล PostgreSQL สำหรับเก็บข้อมูลในการทำเว็บ ติดต่อฐาน
ข้อมูลกับเว็บเซิร์ฟเวอร์ด้วยภาษา Php และใช้ Drupal จาก www.drupal.org สำหรับการ
สร้างไดนามิกเว็บที่สามารถเขียน แก้ไข อัปโหลดผ่านเว็บบราวเซอร์ Drupal สามารถเลือกใช้
ฐานข้อมูลได้ทั้ง PostgreSQL และ MySQL
        การติดตั้งมีขั้นตอนดังนี้
        1.  ปรับแก้ฐานข้อมูล PostgreSQL โดยกำหนดรหัสผ่านของ postgres ซึ่งเป็น user
หลักของฐานข้อมูล PostgreSQL เพิ่ม user ของ PostgreSQL เพื่อให้สร้างฐานข้อมูลได้

submarine@debian7:~$ su   --> เปลี่ยนผู้ใช้เป็น superuser (root)
Password: --> ใส่รหัสผ่านของ root (รหัสจะไม่แสดงขณะที่พิมพ์)
root@debian7:/home/submarine# passwd postgres --> คำสั่งเพื่อกำหนดรหัสผ่าน
Enter new UNIX password: --> เติมรหัสผ่านที่ต้องการ
Retype new UNIX password: --> ยืนยันรหัสผ่านที่ต้องการ
passwd: password updated successfully
root@debian7:/home/submarine# exit --> ออกจาก superuser
exit
submarine@debian7:~$ su - postgres --> เปลี่ยน user เป็น postgres
Password: --> เติมรหัสผ่านของ postgres
postgres@debian7:~$ psql
psql (9.1.9)
Type "help" for help.

postgres=# CREATE USER submarine password 'xxxxxxxxxxxx' superuser;
--> คำสั่ง PostgreSQL สำหรับสร้าง user ชื่อ submarine รหัสผ่าน xxxxxxxxxxxx (รหัสผ่าน
เลือกใส่ได้ตามต้องการ) แล้วกด Enter
CREATE ROLE
postgres=# \q --> คำสั่งออกจาก PostgreSQL
postgres@debian7:~$ exit --> ออกจาก user postgres

        2.  เพื่อความสะดวกในการสร้างฐานข้อมูลสำหรับการทำเว็บ ผู้เขียนเลือกใช้ฐานข้อมูล
PostgreSQL โดยผ่านแพคเกจ PhpPgadmin ที่ติดตั้งไปแล้ว PhpPgadmin เป็น
แพคเกจที่พัฒนามาจากภาษา Php ใช้สำหรับการจัดการฐานข้อมูล PostgreSQL ผ่าน
เว็บบราวเซอร์ สามารถเรียกใช้ได้ที่ url : http://localhost/phppgadmin, http://127.0.0.0/
phppgadmin หรือ http://....IP.... ของ server สำหรับเครื่องในเครือข่าย  ดังภาพ


        ภาพแสดงเว็บเพจการจัดการฐานข้อมูล PostgreSQL เลือก PostgreSQL



        ใส่ชื่อ user และ password ที่ต้องการลอกอิน


       เลือก Create Database เพื่อสร้างฐานข้อมูล


        ผู้เขียนสร้างฐานข้อมูล ชื่อ web เลือก Encoding เป็น UTF8 เพื่อให้รองรับการใช้งาน
ภาษาไทย


         ได้ฐานข้อมูล ชื่อ web สำหรับการสร้างเว็บไดนามิก ด้วยแพคเกจ Drupal เลิกใช้งาน
ให้ logout

        3.  ดาวน์โหลดเวอร์ชั่นล่าสุดของ Drupal จาก www.drupal.org มาเก็บที่โฟลเดอร์
/var/www
        4.  เปิดเทอร์มินัล กำหนดผู้ใช้งานเป็น superusr (root) เพื่อติดตั้ง Drupal

root@debian7:/var/www# tar -xzvf drupal-7.22.tar.gz  --> แตกไฟล์ drupal-7.22.tar.gz จะได้โฟลเดอร์ ชื่อ drupal-7.22

        คัดลอกไฟล์ และโฟลเดอร์ทั้งหมดที่อยู่ในโฟลเดอร์ /var/ww/drupal-7.22 มาเก็บที่
/var/www เพื่อความสะดวกในการเรียกใช้งาน ด้วยคำสัง

root@debian7:/var/www#cp -r * drupal-7.22 /var/www

        สร้างไฟล์ /var/www/sites/default/setting.php จากไฟล์ default.settng.php
เพื่อความสะดวกเปลี่ยนไดเรคทอรี่ไปที่ site/default  ด้วยคำสั่ง

root@debian7:/var/www# cd sites/default/

root@debian7:/var/www/sites/default# ls -l --> แสดงสารบัญไฟล์
total 52
-rw-r--r-- 1 root     root     23202 May 17 08:40 default.settings.php
drwxrwxr-x 4 www-data www-data  4096 May 17 09:04 files
root@debian7:/var/www/sites/default# 

        คัดลอกไฟล์ default.setting.php ให้เป็นชื่อไฟล์ setting.php  ด้วยคำสัง

root@debian7:/var/www/sites/default# cp default.settings.php settings.php

        ไฟล์ setting.php ที่สร้างขึ้นจะเป็นไฟล์ที่กำหนดให้เว็บเพจที่ใช้ฐานข้อมูลทั้ง MySQL
และ PostgreSQL การกำหนดไฟล์นี้ผิดจะทำให้ไม่สามารถสร้างเว็บเพจด้วยแพคเกจ Drupal ได้
        แก้ไขไฟล์ setting.php ด้วยคำสั่ง pico

root@debian7:/var/www/sites/default# pico settings.php  --> กด Enter

        แก้ไขไฟล์ setting.php โดยนำเครื่องหมาย * ที่อยู่หน้าคำสั่งที่ต้องการออก (uncomment)
ดังตัวอย่างข้างล่าง

@code  --> เอา * ออก


 *   $databases['default']['default'] = array(
 *     'driver' => 'mysql',
 *     'database' => 'databasename',
 *     'username' => 'username',
 *     'password' => 'password',
 *     'host' => 'localhost',
 *     'prefix' => '',
 *   );
--> จากบรรทัดนี้เอาเครื่องหมาย * ออก
   $databases['default']['default'] = array(
     'driver' => 'pgsql',
     'database' => 'web', --> ชื่อฐานข้อมูล PostgreSQL ที่ต้องการใช้งาน
     'username' => 'submarine', --> ชื่อ user ที่สร้างฐานข้อมูล
     'password' => 'xxxxxxxxxxxx', --> รหัสของ user ที่สร้างฐานข้อมูล (ใส่ตามที่เป็นจริง)
     'host' => 'localhost',
     'host' => 'localhost',
     'prefix' => '',
   );
   $databases['default']['default'] = array(
     'driver' => 'sqlite',
     'database' => '/path/to/databasefilename',
   );
 @endcode

       บันทึกการแก้ไขไฟล์ด้วยคำสั่ง Ctrl w (กด Ctrl ค้างไว้ แล้วกด w)
       กำหนดสิทธิในการเขียน อ่านไฟล์ setting.pgp และโฟลเดอร์ default และ sites
ให้สามารถเขียน และบันทึกข้อมูลได้ ด้วยคำสั่ง chmod ดังตัวอย่าง

root@debian7:/var/www/sites/default# chmod 777 settings.php
root@debian7:/var/www/sites/default# cd ..
root@debian7:/var/www/sites# chmod 777 default/
root@debian7:/var/www/sites# cd ..
root@debian7:/var/www# chmod 777 sites/
root@debian7:/var/www#

        เนื่องจากที่โฟลเดอร์ /var/www ยังมีไฟล์ index.html ที่ได้จากการติดตั้งอยู่ เมื่อเรานำ
แพคเกจ Drupal มาสร้างเว็บเพจใหม่ ไฟล์ index.html ดังกล่าวก็ไม่ได้ใช้งานแล้ว  อาจจะลบ
ออก หรือเปลี่ยนชื่อใหม่ ในที่นี้ผู้เขียนจะเปลี่ยนชื่อใหม่

root@debian7:/var/www#mv index.html previousindex.html --> เปลี่ยนชื่อ
ไฟล์ index.html เป็น previousindex.html


        5.  ติดตั้ง Drupal ผ่านเบ็บบราวเซอร์  เรียกเว็บที่ url http://localhost/install.php
หรือ http://....IP....../install.php  จะได้ดังภาพ


        กดบันทึก และต่อไป


        เลือกภาษาอังกฤษสำหรับการติดตั้ง


        เลือกฐานข้อมูลสำหรับการติดตั้งเป็น PostgreSQL ชื่อฐานข้อมูล ชื่อ usrer และรหัสผ่าน
ของผู้สร้างฐานข้อมูลที่สร้างไว้แล้ว กดบันทึก และทำงานต่อไป


        ระบบจะติดตั้งฐานข้อมูลที่เขียนไว้มนแพคเกจ Drupal ลงบนฐานข้อมูล PostgreSQL
ชื่อ web ที่สร้างขึ้น  ถ้าไม่มีข้อผิดพลาดฐานข้อมูลก็จะถูกเติมด้วยข้อมูลโดยสมบูรณ์


        เติมรายละเอียดของเว็บเพจที่จะสร้าง เช่น ชื่อ ผู้ดูแลระบบ อีเมล์ รหัสผ่านของผู้ดูแลระบบ 
ประเทศ และโซนเวลา เป็นต้น  กดบันทึกข้อมูลและทำงานต่อ
        การติดตั้งสมบูรณ์ กด Visit your new site เพื่อเริ่มเขียนเนื้อหา




        เนื้อหาของเว็บ Drupal มี 2 ประเภท คือ Article สำหรับการเขียนเนื้อหาที่เป็น blog
สามารถให้แสดงความคิดเห็น โต้ตอบกับผู้ชมเว็บเพจได้  และ Basic page เป็นเว็บทางเดียว
(static web) ไม่สามารถให้แสดงความคิดเห็นผ่านเว็บได้  ผู้บริหารระบบสามารถเลือกใช้ได้
ตามความเหมาะสม
        ตัวอย่างข้างล่างผู้เขียนเลือกประเภท Article และอัปโหลดภาพประกอบ  อย่าลืม logout
ทุกครั้งหลังจัดการแก้ไขข้อมูล
        ปัจจุบันมีหนังสือเกี่ยวกับการใช้งาน Drupal วางขายอย่างแพร่หลาย ท่านสามารถหามา
เมื่อการใช้งานให้มีประสิทธิภาพยิ่ง หรือศึกษาจากเมนูในเว็บก็สามารถทำได้




วันพุธที่ 15 พฤษภาคม พ.ศ. 2556

แก้ไข และเพิ่มโฮสต์สำหรับอัพเดทและติดตั้งซอฟท์แวร์

        Debian GNU/Linux เป็นระบบปฏิบัติการที่สามารถติดตั้งซอฟแวร์ที่ถูกทดลองใช้งาน
และแก้ไขข้อบกพร่องแล้ว นำมาจัดเก็บไว้ในเซิฟเวอร์ทั้ง http และ ftp  ไฟล์ที่กำหนดเซิฟเวอร์
เพื่อติดตั้ง อัพเกรดแพคเกจ ซอฟท์แวร์ คือ /etc/apt/source.list โดยชื่อเซิฟเวอร์สามารถ
กำหนดได้ทั้งเซิฟเวอร์ที่ตั้งอยู่ในประเทศไทย และต่างประเทศ
        หลังการติดตั้ง ผู้เขียนขอแนะนำให้ผู้บริหารระบบทั้งหลายเพิ่มเติม แก้ไขเซิฟเวอร์ในไฟล์
ดังกล่าว ดังนี้
        1. สำรองไฟล์เดิมไว้ โดยคัดลอกไว้ในชื่อใหม่ โดย superuser (root) ดังตัวอย่าง

root@debian7:~# cd /etc/apt/ --> คำสั่งเปลี่ยนไดเรคทอรี่
root@debian7:/etc/apt# cp sources.list sources.list.bak --> คำสั่งคัดลอกไฟล์
source.list เป็นไฟล์ source.list.bak



        2.  เพิ่มชื่อเซิฟเวอร์ และยกเลิกการติดตั้งจาก CD ดังต่ออย่าง การแก้ไขสามารถใช้ editor
ที่ท่านถนัดใช้งาน ในที่นี้ผู้เขียนขอแนะนำการใช้ pico เป็น editor


#

# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 20130504-15:20]/ wheezy main --> ยกเลิกการใช้ CD

#deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 20130504-15:20]/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'
# A network mirror was not selected during install.  The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#

deb http://ftp.debian.org/debian/ wheezy-updates main
deb-src http://ftp.debian.org/debian/ wheezy-updates main

deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy main

deb http://ftp.us.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy-updates main

deb http://deb.opera.com/opera wheezy non-free

        3. หลังการแก้ไข ให้อัพเดทข้อมูลด้วยคำสั่ง aptitude update





วันอาทิตย์ที่ 12 พฤษภาคม พ.ศ. 2556

โปรแกรมกราฟิคสำหรับระบบปฏิบัติการ Debian 7.0 GNU/Linux

        จากที่กล่าวมาในบทต้น ๆ ว่าระบบปฏิบัติการ Debian 7.0 GNU/Linux ถูกออกแบบมาสำหรับ
การพัฒนาเป็นเซิร์ฟเวอร์  ดังนั้นหลังจากติดตั้งจึงมีโปรแกรมประยุกต์ (Application software)
สำหรับการใช้งานน้อยที่สุด เพื่อให้เกิดความสิ้นเปลืองทรัพยากรระบบให้มากที่สุด เช่น ลดการใช้ฮาร์ดดิสก์
แรม เพื่อรองกับการใช้งานเป็นเซิร์ฟเวอร์ให้เกิดประโยชน์ศูงสุด
        อย่างไรก็ตามเราสามารถติดตั้งโปรแกรมสำหรับการทำกราฟิคได้เช่นเดียวกันกับระบบปฏิบัติการอื่น
โดยซอฟท์แวร์ทั้งหมดล้วนแต่เป็น Open sorce software โปรแกรมที่นิยมใช้ตกแต่งภาพมากที่สุด
บนระบบปฏิบัติการลินุกซ์หรือยูนิกซ์ คื่อ Gimp  เมื่อเชื่อมต่ออินเตอรืเน็ตแล้ว เราสามารถติดตั้งโปรแกรม
Gimp แบบออนไลน์ได้ทันที  ก่อนการติดตั้งต้องเปลี่ยนผู้ใช้งานธรรมดา เป็นผู้บริหารระบบเสียก่อน

submarine@debian7:~$ su
Password:

root@debian7:/home/submarine# aptitude install gimp

        หลังการติดตั้งสามารถเรียกใช้งานโปรแกรม Gimp ได้จากเมนู ดังภาพ

  
      หลังการติดตั้งโปรแกรม Gimp จะถูกจัดอยู่ในโปรแกรมกลุ่มกราฟิค






        ภาพแสดงเวอร์ชั่นล่าสุดของโปรแกรม Gimp ที่ติดตั้งบนระบบปฏิบัติการ Debian 7.0 GNU/Linux



        ภาพแสดงตัวอย่างการเปิดไฟล์ภาพสำหรับการตกแต่ง องค์ประกอบ และเครื่องมือต่าง ๆ ของโปรแกรม
Gimp ที่มีความสามารถทัดเทียมกับโปรแกรม Photoshop ของบริษัท Adobe จำกัด  หากท่านใด
มีพื้นฐานในการตกแต่งภาพมาก่อนก็จะสามารถใช้งานโปรแกรม Gimp ได้โดยไม่ยากนัก

ปรับแต่งเดสค์ทอปหลังการติดตั้ง

การปรับแต่งแป้นพิมพ์
        ขณะติดตั้งแป้นพิมพ์เราเลือกภาษาอังกฤษเป็นสื่อในการติดตั้ง เนื่องจากเมื่อลอกอินเข้าสู่กราฟิคโหมด
จะทำให้ภาษาที่แสดงมีความผิดพลาดได้เนื่องจาก Debian 7.0 GNU/Linux มีภาษาที่ใช้ลอกอินได้หลาย
ภาษา เช่น ภาษาอังกฤษ สเปน ฝรั่งเศส ถ้าเราเพิ่มภาษาไทยเข้าไปอีกภาษาหนึ่งจากประสบการณ์ในการลองติดตั้ง
ของผู้เขียนพบว่า ภาษาที่แสดงหลังลอกอินมีความผิดพลาด อ่านไม่ออก และได้ทดลองติดตั้งเป็นภาษาอังกฤษแล้ว
มาเพิ่มภาษาไทยภายหลัง พบว่าสามารถใช้งานได้ปกติ

วันเสาร์ที่ 11 พฤษภาคม พ.ศ. 2556

การติดตั้งระบบปฏิบัติการ Debian 7.0 GNU/Linux

        เมื่อพร้อมแล้วก็ลงมือกันเลย

        ภาพแรกแสดงการเลือกภาษาที่ใช้ขณะติดตั้ง Debian 7.0 GNU/Linux มี
ภาษาไทยแสดงรายละเอียดในการติดตั้ง แต่ผู้เขียนลองติดตั้งโดยใช้ภาษาไทยแล้วหลัง
ติดตั้งพบว่าการแสดงผลภาษาไทยไม่ถูกต้องทำให้ไม่สามารถปรับแต่งระบบหลังการ
ติดตั้งได้
        การติดตั้ง Debian 7.0 GNU/Linux มีให้เลือกติดตั้งได้ 2 วิธีคือ การติดตั้ง
บนเท็กซ์โหมด (Text mode) และการติดตั้งโดยการใช้กราฟิคโหมด (Graphic mode)
ผู้เขียนเลือกติดตั้งโดยใช้กราฟิคโหมดเพื่อความสะดวกในการจับภาพหน้าจอขณะติดตั้ง

        ภาพที่ 1 เลือกภาษาที่ใช้ในการติดตั้ง ในที่นี้เลือกใช้ภาษาอังกฤษ และกด
ต่อไป (Continue)



        ภาพที่ 2 เลือกชื่อประเทศเพื่อใช้ตั้งโซนเวลา และตั้งเวลาขอระบบปฏิบัติการหลังติดตั้ง
ในภาพไม่มีชื่อประเทศไทย จึงเลือก อื่น ๆ (other)



        ภาพที่ 3 เลือกทวีปเอเชีย



        ภาพที่ 4 เลือกประเทศไทย



        ภาพที่ 5 เลือกภาษาที่ใช้สำหรับการเขียนคำสั่งบนเทอร์มินัล (Terminal) ซึ่งเป็น
คำสั่งยูนิกซ์ที่จำเป็นต้องใช้ในการปรับแก้ จัดการระบบให้เหมาะกับการใช้งาน ในที่นี้เลือก
ใช้ภาษาอังกฤษไปก่อน และเราสามารถเพิ่มภาษาไทยภายหลังได้


 
        ภาพที่ 6 เลือกภาษาสำหรับการใช้แป้นพิมพ์ (Keyboard) ให้เลือกภาษาอังกฤษก่อน แล้วเพิ่ม
ภาษาไทยได้ภายหลัง


        ภาพที่ 7 แสดงการติดตั้งเครือข่ายคอมพิวเตอร์ ถ้าท่านเสียบสายการ์ดแลน หรืออยู่ใน
พื้นที่บริการเครือข่ายแบบไร้สาย (Wireless network service) ระบบที่กำลังติดตั้งสามารถ
เชื่อมต่อเครือข่ายได้  อย่างไรก็ตามท่านสามารถข้ามขั้นตอนนี้ไปก่อนแล้วติดตั้งภายหลังได้
        ในที่นี้ผู้เขียนจะติดตั้งเครือข่ายแบบไร้สายผ่านการ์ดแลนแบบไร้สาย (wlan0) เลือก
ทำงานต่อไป


        ภาพที่ 8 เลือกเครือข่าย หรือตัวจ่ายสัญญานแบบไร้สาย (wireless access point) ที่
ต้องการ


        ภาพที่ 9 เลือกชนิดการเข้ารหัสของเครือข่าย เลือก WPA/WPA2 passphrase


        ภาพที่ 10 เติมรหัสผ่านที่เครือข่ายแบบไร้สายกำหนดไว้ กดทำงานต่อไป


        ภาพที่ 11 กำหนดชื่อคอมพิวเตอร์ หรือชื่อโฮสต์ หรือชื่อเซิฟเวอร์
     

        ภาพที่ 12 กำหนดโดเมนเนมที่ต้องการ ชื่อโดเมนอาจจะเป็นชื่อที่ลงทะเบียนแล้ว หรือ
ชื่อสมมุติก็ได้ในกรณีที่ไม่ต้องการจดทะเบียนโดเมน ชื่อโดเมนสามารถแก้ไขภายหลังได้


        ภาพที่ 13 กำหนดรหัสผ่านของผู้บริหารระบบ (Superuser : root) ซึ่งเป็นผู้ใช้งาน
ที่มีความสำคัญสูงสุดของระบบ สามารถติดตั้ง ปรับแก้ เพิ่มชื่อผู้ใช้งานอื่น ๆ ฯลฯ เป็นต้น



        ภาพที่ 14 กำหนดเพื่อใช้งานทั่วไป (user) 1 คน จะใช้ชื่อ นามสกุลหรือไม่ก็ได้ แต่
ผู้บริหารระบบต้องจำได้ว่ากำหนดให้ใครใช้งานชื่อดังกล่าว



        ภาพที่ 15 กำหนด username สั้น ๆ ของผู้ใช้งานในภาพที่ 14


        ภาพที่ 16 กำหนดรหัสผ่าน และยืนยันรหัสผ่านของผู้ใช้งานที่เพิ่มชื่อ



        ภาพที่ 17 เลือกวิธีจัดการฮาร์ดดิสก์ ให้เลือกแบบ Manual คือจัดการแบ่งพาร์ทิชั่น
ฮาร์ดดิสก์เอง




































































Web Sever

        Web Server  เป็นแอพพลิเคชั่นการใช้งานที่สำคัญในอันดับต้น ๆ สำหรับการใช้งานลินุกซ์เป็น
เซิร์ฟเวอร์ ซึ่งเป็นไปตามหลักการใช้เครือข่ายคอมพิวเตอร์คือการใช้ทรพยากรร่วมกันทั้งฮาร์ดแวร์
ซอฟท์แวร์ และแบนด์วิธ  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



        กำหนดรหัสผ่านของ root สำหรับฐานข้อมูล MySQL


        ยืนยันรหัสผ่านของ root สำหรับฐานข้อมูล MySQL


        เลือกว่าจะใช้งานฐานข้อมูลคู่กับเว็บเซิร์ฟเวอร์ตัวใด  ในภาพผู้เขียนเลือกทั้ง Apache
และ Lighthttpd  การเลือกให้กด Tab สำหรับการเลื่อนตำแหน่ง และกดคานเว้นวรรค
(Space bar) สำหรับการเลือก กด OK เพื่อการทำงานต่อไป


        ภาพนี้ระบบถามว่าต้องการตั้งรหัสผ่านของ root สำหรับการใช้ฐานข้อมูล MySQL
ผ่านแพคเกจ PhpMyadmin หรือไม่ ให้ต้อง Yes


        กำหนดรหัสผ่านของ root สำหรับการใช้งานแพคเกจ PhpMyadmin


        ยืนยันรหัสผ่านของ root สำหรับการใช้งานแพคเกจ PhpMyadmin



        ยืนยันรหัสผ่านของ root สำหรับการใช้งานแพคเกจ PhpMyadmin

        ติดตั้งเสร็จแล้วลองเรียกใช้งานเว็บเพจได้จากบราวเซอร์ โดยเรียกจาก url :
http://localhost หรือ http://127.0.0.1 สำหรับการเรียกใช้งานจากเครื่องที่ติดตั้ง
และเครื่องในเครือข่ายสามารถเรียกจากเลขไอพี (IP address) เช่น htt://19.168.1.1 หรือ
เลขอื่น ๆ ที่ติดตั้งไว้ แต่ทั้งสาม url สามารถเรียกใช้ได้ทั้งหมดจากเครื่องที่ติดตั้ง (Server)


        ภาพแสดงเว็บเพจที่ผ่านการติดตั้ง จากไฟล์ /var/www/index.html

        บางครั้งหลังการติดตั้งเว็บเซิร์ฟเวอร์ยังไม่ทำงาน ให้ใช้ 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

        รายละเอียดไฟล์ test.php มีดังนี้
<?
        phpinfo()
?>
        บันทึกไฟล์ที่สร้างขึ้นด้วยคำสั่ง Ctrl w (กด Ctrl ค้างไว้ แล้วกด w)  เรียกใช้งานไฟล์
test.php ผ่านทางบราวเซอร์ที่ url : http://localhost/test.php  ได้ผลลัพธ์ดังภาพ

        ภาพที่ได้แสดงว่าภาษา Php ทำงานได้ดีรองรับการใช้งานผ่าน Apache และพร้อม
สำหรับการใช้งานฐานข้อมูลทั้ง MySQL และ PostgreSQL

        ภาพข้างล่างนี้เป็นผลจากการเรียกใช้งานแพคเกจ PhpMyadmin ที่ใช้สำหรับการใช้งาน
ฐานข้อมูล MySQL โดยเรียกจาก url : http://localhost/phpmyadmin

        จากภาพที่เห็นสามารถใช้ superuser (root) login เข้าไปใช้งาน และเพิ่ม user อื่น
กำหนดรหัสผ่าน และสิทธิในการใช้ฐานข้อมูลได้  อย่าลืม logout ทุกครั้งหลังใช้งาน

        อีกแพคเกจหนึ่ง คือ Phppgadmin ที่พัฒนามาจากภาษา php เช่นเดียวกัน สามารถ
เรียกใช้งานผ่านบราวเซอร์ได้ที่ url : http://localhost/phppgadmin  จะได้ผลดังภาพ

        จากภาพเราไม่สามารถใช้งาน Phppgadmin เพื่อจัดการฐานข้อมูล PostgreSQL
โดยใช้ superuser (root) และ postgres ซึ่งเป็น user ที่ถูกกำหนดมาเป็น user
แรกสำหรับการใช้งาน  การใช้งาน PostgreSQL, Phppgadmin ต้องทำดังนี้
        1.  ใช้ superuser กำหนดรหัสผ่านของ user postgres
        2.   ใช้ user postgres สร้าง user ใหม่ให้เป็น superuser สำหรับจัดการการ
ใช้งานฐานข้อมูล PostgreSQL จึงจะสามาระ login เข้าใช้งานได้
        รายละเอียดทั้ง 2 ข้อศึกษาได้จาก เรื่อง "สร้างไดนามิคเว็บด้วย Drupal และ
PostgreSQL"