การตรวจสอบสถานะการให้บริการ Web Server ด้วย WGET และสร้าง Shell Script เพื่อตรวจสอบอัตโนมัติ

ขอนำเสนอวิธีการตรวจสอบสถานะการให้บริการด้วยคำสั่ง wget และการสร้าง Shell Script เพื่อให้ทำงานได้อย่างอัตโนมัติ การตรวจสอบสถานะการให้บริการด้วย WGET วิธีติดตั้ง wget สำหรับ ubuntu 14.04 สามารถติดตั้งโดยใช้คำสั่ง (โดยปกติจะลงมาให้อยู่แล้ว) # sudo apt-get install -y wget วิธีติดตั้ง wget สำหรับ windows สามารถ Download ได้ที่ http://downloads.sourceforge.net/project/gnuwin32/wget/1.11.4-1/wget-1.11.4-1-setup.exe สามารถเปิด command prompt รันได้ที่ path นี้ (ยกตัวอย่างจาก windows 64 bit) C:\Users\xxx>cd C:\Program Files (x86)\GnuWin32\bin C:\Program Files (x86)\GnuWin32\bin>wget SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc wget: missing URL Usage: wget [OPTION]… [URL]… Try `wget –help’ for more options. ตัวอย่างคำสั่งที่ใช้สำหรับโหลด html URL ที่ต้องการตรวจสอบ wget -nv –timeout 2 –connect-timeout=10 -t 1 http://webserver1.testlab -O /tmp/webserver1-tmp -nv : ใช้สำหรับปิดการแสดงผล แต่ยังแสดงผล error และข้อมูลเบื้องต้น –timeout [sec] : ใช้สำหรับกำหนดค่า timeout ในการเชื่อมต่อไปยัง web server –connect-timeout [sec] : ใช้กำหนดเวลาในกรณีที่การเชื่อมต่อไม่สิ้นสุดในเวลาที่กำหนด -t [sec] : จำนวนครั้งในการ retry connection -O : บันทึกผลลัพธ์ไปยังไฟล์ ในกรณีที่ต้องการโหลด html URL ประเภท https ให้ทำการข้ามการตรวจสอบ certificate ด้วยตัวอย่างคำสั่งดังนี้ wget -nv –timeout 2 –connect-timeout=10 -t 1 –no-check-certificate https://webserver1.testlab -O /tmp/webserver1-https-tmp หลังจากได้ไฟล์ผลลัพธ์ของหน้า html website เป้าหมายแล้ว สามารถใช้โปรแกรม grep เพื่อตรวจสอบว่าปรากฎข้อความที่แสดงว่าหน้า web ทำงานปกติหรือไม่ เช่น grep WEBSERVER /tmp/webserver1-tmp หลังจากนั้นเราสามารถประยุกต์เพื่อเขียน Shell Script ง่าย ๆ ที่สามารถตรวจสอบ Web Server เพื่อดูว่า Web ปกติหรือไม่ในขั้นตอนถัดไป วิธีการเขียน Shell Script เพื่อตรวจสอบการใช้งานแบบอัตโนมัติ Shell Script สำหรับตรวจสอบ Web Server – ทำการสร้างไฟล์ /home/[user]/checkweb.sh nano /home/testlab/checkweb.sh – สร้าง script ข้อความดังนี้ *ตัวอย่างรูปแบบ sh shell #!/bin/sh url1=’webserver1.testlab’ url2=’webserver2.testlab’ searchtxt=’WEBSERVER’ #URL PATH path=’/’ while(true); do cp /dev/null /tmp/server-status for i in $(seq 1 2) do eval wget -q –timeout 2 –connect-timeout=10 -t 1 http://\${url${i}}$path

Read More »

ความเข้าใจในการสร้าง virtualhost ของ apache2 web server บน ubuntu 14.04 server ฉบับ workshop

ถ่ายทอดความเข้าใจในการสร้าง virtualhost ของ apache2 web server บน ubuntu 14.04 server ฉบับ workshop พร้อมตัวอย่างติดตั้ง phpmyadmin และ joomla site เป็น virtualhost -:เกรินนำ:- การเปลี่ยนจาก ubuntu 12.04 server ไปเป็น ubuntu 14.04 server เมื่อเร็วๆนี้ ส่งผลให้มีการเปลี่ยนแปลงวิธีการ config virtualhost บน Apache2 web server เพราะว่า Apache2 web server (2.4.x ขึ้นไป) เช่น 2.4.7 ที่มาพร้อม ubuntu 14.04 server จะมีการจัดการเรื่อง Document root ที่แตกต่างจากเวอร์ชั่นที่ต่ำกว่า เช่น Document root จะอยู่ที่ /var/www/html แทนที่จะเป็น /var/www เหมือนเดิม ดังนั้นเมื่อทำ virtualhost จึงต้องมีการเลือกวางไดเรกทอรีของเว็บเพจที่จะติดตั้ง ตามความคิดเห็นของผมคิดว่าสามารถเลือกวางได้เป็น 2 แบบ แบบที่ 1 วางไว้ที่ /var/www/html/ หรือ แบบที่ 2 วางไว้ที่ /var/www/ มาดูกันครับว่าจะต้องทำอย่างไรบ้าง เริ่มต้นที่หลังจากติดตั้ง ubuntu 14.04 server เสร็จ พร้อมทั้งได้ติดตั้ง packages LAMP หากไม่แน่ใจก็ตรวจสอบ/ติดตั้งเพิ่มด้วยคำสั่ง sudo tasksel ในบทความนี้มีการอ้างถึง editor ที่ใช้แก้ไขไฟล์ชื่อ vi (ผู้เขียนถนัดและชอบ) หากไม่คุ้นเคยวิธีใช้ก็ให้เปลี่ยนเป็น editor ชื่อ nano ซึ่งจะเป็น full screen editor หากต้องการทดสอบทำตามไปด้วย ให้ดาวน์โหลด LSA-router.ova จาก http://ftp.psu.ac.th/pub/psulab/LSA-II/ แล้วนำไป import เข้าโปรแกรม Oracle VM VirtualBox จากนั้น Start VM LSA-router (IP ที่ใช้คือ 10.0.100.1 เป็นทั้ง NAT router, DNS server และ DHCP server) แล้วก็สร้าง New VM ขึ้นมา 1 ตัว โดยตั้งค่า Network เป็นแบบ Internal network และมีค่า name คือ intnet พร้อมทั้งติดตั้ง Ubuntu 14.04 server ให้เสร็จ โดยตั้งค่า IP 10.0.100.9 1.แบบใช้ NameVirtualHost -:การตรวจสอบความพร้อมของ apache2 web server:- เข้าไปที่ไดเรกทอรี mama@ubuntu:$ cd /var/www/html/ เริ่มต้น apache2 web server จะมีไฟล์ index.html มาให้ mama@ubuntu:/var/www/html$ ls index.html ทดสอบด้วยคำสั่ง w3m ได้ mama@ubuntu:/var/www/html$ w3m http://127.0.0.1 เห็นหน้าเว็บเพจ default แสดงข้อความ Apache2 Ubuntu Default Page It work! กด Ctrl+c เลิกดู ลองสร้างไฟล์ test.php mama@ubuntu:/var/www/html$ sudo vi test.php เพิ่มบรรทัด 1 บรรทัด <?php phpinfo() ?> ผลลัพธ์จะมีไฟล์เพิ่มขึ้น

Read More »

การสร้าง virtualhost บน Apache2 web server (2.4.x ขึ้นไป)

ขอเล่าเรื่องการสร้าง virtualhost บน Apache2 web server (2.4.x ขึ้นไป) อย่างง่ายๆ แต่ก็เป็นผลมาจากการเปลี่ยนจาก ubuntu 12.04 server ไปเป็น ubuntu 14.04 server เมื่อเร็วๆนี้ Apache 2.4.x เช่น 2.4.7 ที่มาพร้อม ubuntu 14.04 server จะมีการจัดการเรื่อง Document root ที่แตกต่างจากเวอร์ชั่นที่ต่ำกว่า เช่น Document root จะอยู่ที่ /var/www/html แทนที่จะเป็น /var/www เหมือนเดิม ดังนั้นเมื่อทำ virtualhost จึงต้องมีการวางไดเรกทอรีไว้ที่ /var/www และทำ virtualhost เช่น www.example.com และชี้ documentroot ที่ /var/www/www.example.com มาดูกันครับว่าจะต้องทำอย่างไรบ้าง เริ่มต้นที่หลังจากติดตั้ง ubuntu 14.04 เสร็จแล้ว พร้อมทั้งได้ติดตั้ง packages LAMP หากไม่แน่ใจก็ตรวจสอบด้วยคำสั่ง sudo tasksel ในบทความมีการอ้างถึง editor ที่ใช้แก้ไขไฟล์ชื่อ vi หากไม่คุ้นเคยวิธีใช้ก็ให้เปลี่ยนเป็นคำว่า nano จะเป็น full screen editor ใช้ง่ายกว่า ตรวจสอบว่าเรามีโดเมนเนมแล้ว (check domain name) mama@ubuntu:$ host www.example.com www.example.com is an alias for iserver.example.com. iserver.example.com has address 10.0.100.9 เข้าไปที่ไดเรกทอรี mama@ubuntu:$ cd /var/www/ สร้างไดเรกทอรีชื่อ www.example.com mama@ubuntu:/var/www$ sudo mkdir www.example.com สร้างไฟล์ตัวอย่างของเว็บไซต์ mama@ubuntu:/var/www$ sudo vi www.example.com/index.php มีข้อความเพียง 1 บรรทัด <?php echo “WWW Hello, world!”; ?> ใช้คำสั่งแสดงรายการ จะเห็น mama@ubuntu:/var/www$ ls www.example.com/ index.php ใช้คำสั่งแสดงข้อมูลในไฟล์ จะเห็น mama@ubuntu:/var/www$ cat www.example.com/index.php <?php echo “WWW Hello, world!”; ?> เข้าไปไดเรกทอรีสำหรับจัดการ config site mama@ubuntu:/var/www/html$ cd /etc/apache2/sites-available ใช้คำสั่งแสดงรายการ จะเห็น mama@ubuntu:/etc/apache2/sites-available$ ls 000-default.conf  default-ssl.conf สร้างไฟล์สำหรับ config virtual host ชื่อมี .conf ต่อท้ายด้วย mama@ubuntu:/etc/apache2/sites-available$ sudo cp 000-default.conf www.example.com.conf แก้ไขไฟล์ www.example.com.conf mama@ubuntu:/etc/apache2/sites-available$ sudo vi www.example.com.conf แก้ไขเฉพาะบรรทัดข้างล่างนี้ NameVirtualHost www.example.com:80 <VirtualHost www.example.com:80> ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/www.example.com สั่งให้ apache2 รับ site ใหม่ mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite www.example.com สั่ง reload apache2 mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload ทดสอบ www.example.com ด้วยคำสั่ง w3m mama@ubuntu:/etc/apache2/sites-available$ w3m http://www.example.com จะเห็นหน้าเว็บเพจ WWW Hello, world! กด

Read More »

Error 0x8007232b or 0x8007007B occurs when you try to activate Windows

ตรวจสอบว่าแจ้ง IP address แล้วหรือไม่ หากยังไม่ด้แจ้งมาสามารถแจ้งได้ที่ http://www.cc.psu.ac.th/complains ตั้งค่า DNS Suffix แล้วหรือไม่ ให้ตั้งค่า DNS Suffix ว่า psu.ac.th หากมีหลายโดเมนก็ให้ psu.ac.th เป็นอันแรก ตั้ง Time zone เป็น GMT+7 แล้วหรือไม่ รอให้มัน activate เองซึ่งปกติจะ activate เองอัตโนมัติทันทีเมื่อข้อ 1-3 ผ่านหมดแล้ว กรณีที่รอหลายวันแล้ว (เกิน 7 วัน) มันก็ยังไม่ activate ให้ตรวจสอบตามข้อถัดไป เปิด cmd ด้วยสิทธิ์ของผู้ใช้ในกลุ่ม administrators ping kms1.psu.ac.th ต้องได้ผลลัพธ์ว่า Pinging kms1.psu.ac.th [192.168.102.167] with 32 bytes of data: Reply from 192.168.102.167: bytes=32 time=1ms TTL=127 Reply from 192.168.102.167: bytes=32 time=3ms TTL=127 Reply from 192.168.102.167: bytes=32 time=1ms TTL=127 Reply from 192.168.102.167: bytes=32 time=1ms TTL=127 Ping statistics for 192.168.102.167:     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 3ms, Average = 1ms nslookup -type=all _vlmcs._tcp ต้องได้ผลลัพธ์ว่า _vlmcs._tcp.psu.ac.th   SRV service location: priority       = 0 weight         = 0 port           = 1688 svr hostname   = kms1.psu.ac.th _tcp.psu.ac.th  nameserver = dc5.psu.ac.th _tcp.psu.ac.th  nameserver = dc2.psu.ac.th _tcp.psu.ac.th  nameserver = dc3.psu.ac.th _tcp.psu.ac.th  nameserver = dc7.psu.ac.th _tcp.psu.ac.th  nameserver = dc6.psu.ac.th _tcp.psu.ac.th  nameserver = dc1.psu.ac.th _tcp.psu.ac.th  nameserver = dc4.psu.ac.th kms1.psu.ac.th  internet address = 192.168.102.167 dc1.psu.ac.th   internet address = 192.168.100.59 dc2.psu.ac.th   internet address = 192.168.101.37 dc3.psu.ac.th   internet address = 192.168.128.23 dc4.psu.ac.th   internet address = 192.168.192.28 dc5.psu.ac.th   internet address = 192.168.240.31 dc6.psu.ac.th   internet address = 192.168.224.11 dc7.psu.ac.th   internet address = 192.168.100.97 สั่งคำสั่งต่อไปนี้ cscript

Read More »

อยากได้ linux mint ไปใช้ ต้องทำอย่างไร

หากท่านต้องการแผ่นดีวีดี linux mint เพื่อนำไปทดลองใช้งาน หรือ ติดตั้งลงฮาร์ดดิสก์ สำหรับท่านที่อยู่ต่างประเทศ แนะนำให้ไป download จากเว็บไซต์ http://www.linuxmint.com/ แต่สำหรับพวกเราที่อยู่ใน ม.อ. หรือ ในประเทศไทย สามารถเลือก download ได้ที่ https://licensing.psu.ac.th/ เลือก Search Results for: linux mint เวอร์ชั่นปัจจุบันที่เขียน blog ในวันนี้ เป็นเวอร์ขั่นที่ออกเมื่อ 31 พ.ค. 2557 linux mint 17 อยู่ที่ https://licensing.psu.ac.th/linux-mint-17-qiana-released/ การเลือกแผ่นดีวีดีที่ต้องการ หากต้องการการแสดงผลที่หวือหวา วูบวาบ ก็เลือก cinnamon หากต้องการให้ compat กับเกมส์ Windows ที่จะนำมาลงผ่านโปรแกรม Wine ของ linux ก็เลือก mate หากเครื่องคอมฯมี RAM มากกว่า 4 GB ก็ใช้รุ่น 64 bit ไฟล์ iso ที่จะ Download มีชื่อแบบนี้ linuxmint-17-cinnamon-dvd-32bit.iso linuxmint-17-cinnamon-dvd-64bit.iso linuxmint-17-mate-dvd-32bit.iso linuxmint-17-mate-dvd-64bit.iso การเขียนแผ่นดีวีดี linux mint จากไฟล์ iso เมื่อ download ไฟล์ iso ของ linux mint มาได้แล้ว สำหรับ linux ก็ให้ใช้โปรแกรมสำหรับเขียนแผ่นดีวีดี ชื่อ Brasero จาก Menu > Sound & Video > Brasero > เลือก burn สำหรับ Windows 7, 8, 8.1 คลิกขวาและเลือกคำสั่ง burn นอกจากนี้ ผมยังได้ทำแผ่นพิเศษขึ้นเพื่อแนะนำซอฟต์แวร์โอเพนซอร์สที่น่าใช้และติดตั้งเพิ่มได้จาก linux mint ไม่ได้ไป download จากที่เว็บไหนเลย หากสนใจวิธีทำก็อ่าน เบื้องหลังการทำแผ่น ครับ) หากต้องการ download ไฟล์ iso ของ linux mint ฉบับติดตั้งโปรแกรมเพิ่มแล้ว ที่นี่ครับ http://ftp.psu.ac.th/pub/linuxmint/linuxmint-17-psu-cc-32bit.iso md5sum: ตรวจสอบจากไฟล์ http://ftp.psu.ac.th/pub/linuxmint/linuxmint-17-psu-cc-32bit.iso.md5 และมีของแถมเป็นแผ่นพับ (Bochure) คำแนะนำการใช้แผ่นดีวีดี linux mint http://opensource.cc.psu.ac.th/wiki-opensource/images/b/bb/Bochure-linuxmint-2-for-printing-only.pdf สุดท้าย ผมมีเอกสารแนะนำการใช้งาน linux mint อยู่บ้างที่นี่ครับ http://opensource.cc.psu.ac.th/Linuxmint  

Read More »