วันศุกร์ที่ 20 มีนาคม พ.ศ. 2558

ติดตั้ง wordpress บนเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

ยินดีต้อนรับสู่เวบบล็อกดีๆ ของคนรักโอเพนซอร์สกันอีกครั้งหนึ่ง เป็นประจำที่ผู้เขียนมีเรื่องราวดีๆ ก็จะได้นำเสนอหรือจดบันทึกกันลืมกันอยู่เสมอๆ ครั้งนี้ก็เช่นเดียวกัน ผู้เขียนมัวแต่ผลัดไว้ก่อนไม่ได้มีเวลาเข้ามาบอกเล่าสักที พอต้องกลับมาทำใหม่อีกครั้งคราวนี้ยุ่งละสิ เคยทำสำเร็จครั้งก่อนทำยังไง

ผู้เขียนเคยติดตั้ง wordpress บนเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS ไปเมื่อปลายๆปีที่แล้วก็ผ่านไป 3 เดือน เอกสารประกอบก็จำไม่ได้ พอต้องรีบกลายเป็นว่ามึนงงกันอยู่สองสามวัน เพิ่งปะติดปะต่อเรื่องราวที่เคยทำสำเร็จไปก็วันนี้เอง จึงช้าไม่ได้ที่จะได้อัพเดทกัน

เพื่อไม่ให้เป็นการเสียเวลา ผู้เขียนจะได้พาเข้าไปแนะนำวิธีติดตั้ง wordpress บนเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

ขั้นตอนที่ 1 ติดตั้งซอฟต์แวร์ wordpress สำหรับการติดตั้งบนระบบโอเอส Ubuntu นั้นง่ายมากเพียงพิมพ์คำสั่งต่อไปนี้


#apt-get install wordpress


ขั้นตอนที่ 2 สร้างซอฟต์ลิงค์ไปยังเวบไดเรคทอรี่ สำหรับเวบไซต์ของผู้เขียนได้เปลี่ยนจากตำแหน่งเดิมมาเป็น /var/www

#ln -s /usr/share/wordpress /var/www/html/wordpress

ขั้นตอนที่ 3 เป็นการแตกไฟล์สำหรับใช้ติดตั้งฐานข้อมูลของระบบ wordpress เอง

#gzip -d /usr/share/doc/wordpress/examples/setup-mysql.gz
#/usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost

ขั้นตอนที่ 4 เป็นตัวอย่างการติดตั้งฐานข้อมูลของเซิร์ฟเวอร์โดเมนอื่นๆ ของเราที่ต้องการ ขั้นตอนนี้สำคัญเพราะจะมีการใช้ค่อนข้างบ่อย บางครั้งหากต้องการเปิดเวบไซต์ใหม่หรือโดเมนใหม่ที่ต้องการใช้ wordpress

/usr/share/doc/wordpress/examples/setup-mysql -n wordpress_mydomain_org wordpress.mydomain.org
ขั้นตอนที่ 5 เป็นการสั่งรีสตาร์ทเซอร์วิส apache เพื่อโหลดค่าคอนฟิกต่างๆ ที่ได้มีการเปลี่ยนแปลงไว้แล้ว
/etc/init.d/apache2 restart

เป็นอันสิ้นสุดกระบวนการติดตั้ง wordpress บนเซิร์ฟเวอร์ Ubuntu 14.04.1  LTS  โดยให้เราเปิด url ที่ได้ทำการติดตั้งฐานข้อมูลลงไปในที่นี้ตามตัวอย่างมีอยู่ 2 urls คือ http://localhost และ http://wordpress.mydomain.org นั่นเองจากนั้นทำตามขั้นตอนในส่วนของ wizard จนจบ ส่วนเนื้อหาที่ต้องการศึกษาเพิ่มเติมสามารถเรียกดูได้จาก https://help.ubuntu.com/community/WordPress

ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการระบบจีพีเอสติดตามรถยนต์ ด้วยสินค้าคุณภาพ ได้มาตรฐาน มั่นใจว่าใช้งานได้ทนทานและยาวนานกว่า นอกจากนี้ผู้เขียนยังได้เขียนบทความเกี่ยวกับรถยนต์ vip-rent-car.com นำเสนอรถยนต์ที่ผ่านการทดสอบจากนิตยสารต่างๆ หรือสำนักข่าวยานยนต์ รวมถึงเรื่องราวที่ผู้เขียนสรุปขึ้นเอง สามารถเข้าไปติดตามกันได้เป็นประจำทุกๆ เดือน














วันพฤหัสบดีที่ 19 มีนาคม พ.ศ. 2558

wordpress ไม่ยอมอัพเดท Plug-in หรือ Theme ให้แบบนี้ต้องแมนนวลสิครับ

ยินดีต้อนรับสู่เวบบล็อกคนรักโอเพนซอร์ส รวบรวมประสบการณ์จริงจากการใช้งานนำเสนอเป็นข้อมูลอันเป็นประโยชน์ต่อการนำไปศึกษา พัฒนาต่อยอด งานของผู้เขียนนอกจากเปิดเวบใหม่ http://gpsvehicle.weloveshopping.com เพื่อจำหน่ายสินค้าอุปกรณ์จีพีเอสติดตามรถยนต์ ด้วยสินค้ามาตรฐาน ราคาถูก เป็นทางเลือกของการลงทุนที่คุ้มค่า มาวันนี้ก็เช่นเดียวกัน ผู้เขียนกำลังเตรียมขึ้นเวบไซต์ใหม่ด้วยเอนจิ้นของ wordpress ก็ยังติดขัดอยู่เรื่อยๆ ในเรื่องราวต่างๆ

ผู้เขียนเองเพิ่งประสบความสำเร็จกับการ อัพเดท Wordpress อัตโนมัติด้วย vsftp บนเซิร์ฟเวอร์ 14.04.1 LTS ปัญหาหนักใจอีกอันหนึ่งที่พบเจอก็คือ ปลั๊กอินไม่สามารถอัพเดทได้ขึ้นข้อความผิดพลาดดังตัวอย่างผู้เขียนทำการอัพเดท Theme ใหม่ ปรากฎข้อผิดพลาดดังตัวอย่าง
The update process is starting. This process may take a while on some hosts, so please be patient.
Enabling Maintenance mode…

Updating Theme Twenty Twelve (1/1)

Downloading update from https://downloads.wordpress.org/theme/twentytwelve.1.6.zip…
Unpacking the update…
An error occurred while updating Twenty Twelve: Could not create directory.
Disabling Maintenance mode…
All updates have been completed.

เอายังไงดี งานนี้ wordpress ไม่ยอมอัพเดท Plug-in หรือ Theme ให้แบบนี้ต้องแมนนวลสิครับ เมื่อกระทำแบบอัตโนมัติไม่ได้ มันก็ต้องลงมือด้วยตัวเองกันละ จากตัวอย่างจะพบลิงค์ที่ดาวน์โหลด Theme งานนี้ก็เข้าไปดาวน์โหลดเองก็ได้

ขั้นตอนที่ 1 ให้เปลี่ยนไดเรคทอรี่ไปยังที่เก็บ Theme หากต้องการอัพเดท Plug-in ก็เปลี่ยนไดเรคทอรี่ไปยังปลั๊กอินแทน

#cd /var/www/wordpress/wp-content/themes

ขั้นตอนที่ 2 ดาวน์โหลด Theme  ที่เราไม่สามารถอัพเดทได้
#wget https://downloads.wordpress.org/theme/twentytwelve.1.6.zip

ขั้นตอนที่ 3 ให้ทำงานสำรองข้อมูล Theme เก่าไว้ก่อนหรือย้ายไปยังโฟลเดอร์อื่น จากนั้นทำการแตกไฟล์ Theme ใหม่ออกมาเป็นอันสิ้นสุดขั้นตอน
#unzip twentytwelve.1.6.zip

จะเห็นได้ว่าวิธีการอัพเดท Theme ใหม่แบบแมนนวลสามารถทำได้โดยไม่ยุ่งยาก แถมประหยัดเวลา ตัดปัญหากวนใจ หรือการเตือนจากเวบไซต์มี Theme หรือ Plug-in ใหม่มาแล้วนะ เมื่อไหร่จะได้ทำการอัพเดทสักที 






วันพุธที่ 18 มีนาคม พ.ศ. 2558

อัพเดท wordpress อัตโนมัติด้วย vsftp บน Ubuntu 14.04.1 LTS

ยินดีต้อนรับสู่เวบบล็อกดีๆ ของคนรักโอเพ่นซอร์ส รวบรวมประสบการณ์จริงของผู้เขียนที่ได้ผ่านการทดลองจริง ได้ผลจริง มาฝากกันเป็นประจำ การติดตั้งและใช้งาน wordpress นั้นเคยได้ยินชื่อมานาน แต่ยังไม่เคยได้ลองจริง ผู้เขียนทดลองติดตั้งสำเร็จมาร่วมเดือนแต่ยังหาวิธีการอัพเดท wordpress อัตโนมัติไม่ได้ พอคลิกไปอัพเดท ระบบจะพาไปสู่หน้าการป้อนรหัสสำหรับ ftp ซึ่งปกติเซอร์วิสนี้จะไม่ค่อยเปิดใช้กันเนื่องจากปัญหาด้านความปลอดภัยของระบบ

เซิร์ฟเวอร์ที่ผู้เขียนใช้งานอยู่เป็นระบบปฏิบัติการลินุกซ์ โอเอสเป็น Ubuntu 14.04.1 LTS นั่นเองการติดตั้งแพ็คเกจสามารถดำเนินการโดยขั้นตอนต่อไปนี้

ขั้นตอนที่ 1  ติดตั้งโปรแกรม vsftpd ก่อน

#apt-get install vsftp

ขั้นตอนที่ 2 กำหนดค่าคอนฟิกของไฟล์ vsftpd.conf ตามตัวอย่างที่ผู้เขียนเพิ่มเติมให้


listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
connect_from_port_20=NO
listen_port=2112

ขั้นตอนที่ 3 สั่งหยุดเซอร์วิสและเปิดเซอร์วิสใหม่ 

 #stop vsftpd
 #start vsftpd

ขั้นตอนที่ 4 แก้ไขไฟล์ wp-config.php โดยเพิ่มข้อความด้านล่างต่อไปนี้เข้าไปยังไฟล์คอนฟิก

if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}

ขั้นตอนที่ 5 เพิ่มบัญชีรายชื่อผู้ใช้ ftps สำหรับใช้ในการล็อกอินเข้าสู่ระบบ
#adduser ftps --home /var/www/wordpress

ขั้นตอนที่ 6 เพิ่มยูสเซอร์ ftps เข้าไปในกลุ่มของ www-data โดยให้เข้าไปแก้ไขไฟล์ /etc/group เพิ่มข้อความ ftps ในบรรทัดตามตัวอย่าง
www-data:x:33:ftps


ขั้นตอนที่ 7 กำหนดสิทธิ์ให้กับยูส
 #chgrp -R www-data /var/www/wordpress
 #chmod -R g+w /var/www/wordpress

เป็นอันสิ้นสุดกระบวนการติดตั้งอัพเดท wordpress อัตโนมัติด้วย vsftpd บนระบบปฏิบัติการ Ubuntu 14.04.1 LTS  ผู้เขียนยังจะมีเรื่องราวการอัพเดท wordpress อีกเป็นระยะๆ จนกว่าจะสามารถขึ้นไชต์ใหม่ได้สำเร็จ แน่นอนที่สุดหากมีข้อมูลใดดีๆ จะต้องรวบรวมมานำเสนอกันอย่างแน่นอน ต้องขอขอบพระคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการ gps ติดตามรถ ด้วยสินค้าคุณภาพ ผ่านการรับรองมาตรฐานชั้นนำมาจากทั่วโลก

วันศุกร์ที่ 13 กุมภาพันธ์ พ.ศ. 2558

เพิ่มประสิทธิภาพการทำงานของ guest Windows 7 บน KVM ด้วยการติดตั้งไดร์เวอร์ Virtio

ยินดีต้อนรับสู่เวบไซต์ s-techthai.com รวบรวมประสพการณ์จริงของผู้เขียน เพื่อจัดเก็บเป็นองค์ความรู้เพื่อเป็นแนวทางในการนำมาใช้งานอีกครั้งหนึ่งหรือเกิดความคิดในการนำไปต่อยอด เป็นประโยชน์กับหลายๆ คนที่ยังมองไม่เข้าใจ ผู้เขียนเคยรัน guest Windows7 ultimate 64 bit  บน KVM สำหรับเซิร์ฟเวอร์ที่ใช้ระบบปฏิบัติ Ubuntu Server 14.04.1

โดยการสร้าง guest อิมเมจได้สำเร็จแต่พบปัญหาก็คือ ฮาร์ดดิสก์ที่ใช้มองเห็นเป็นแบบ IDE ส่วนการ์ดแลนเองก็เป็นแบบรุ่น RTL8139 ความเร็ว 100 Mbps ซึ่งพอจับคู่กับระบบปฏิบัติการ Windows 7 Ultimate 64 bit ด้วยแล้วการทำงานค่อนข้างช้ามาก การติดตั้งไดร์เวอร์ Virtio จะเป็นการช่วยเพิ่มประสิทธิภาพการทำงานของฮาร์ดแวร์ได้ดีขึ้น นอกจากนี้ยังสามารถใช้งานฮาร์ดแวร์โดยตรงผ่าน scsi pass through ได้ด้วย

ก่อนอื่นไปรู้จัก "full virtualization" หมายถึงจุดเด่นในการรัน OS เสมือนได้หลายแบบ แต่อย่างไรก็ตามมันจะช้า เพราะ hypervisor ต้องจำลองฮาร์ดแวร์จริงทำให้เกิดความยุ่งยากและไม่มีประสิทธิภาพ ส่วน "virtio" คือ virtualization standard เป็นการทำให้การ์ดเน็ตเวิร์คและดิสก์ไดร์เวอร์ทำงานในสภาวะเวอร์ชวลและทำงานร่วมกับ hypervisorได้ ซึ่งจะทำให้ guest ได้รับประสิทธิภาพเน็ตเวิร์คและการทำงานของดิสก์สูงขี้น ทั้งยังเป็นการเพิ่มสมรรถนะของ paravirtualization ด้วย

เมื่อผู้เขียนได้ข้อมูลการเพิ่มประสิทธิภาพโดยการติดตั้งไดร์ฟเวอร์ virtio ได้นั้นก็รีบทำการค้นคว้าหาข้อมูลการติดตั้งไดร์ฟเวอร์ virtio ลองใช้คีย์เวิร์ดภาษาไทยในการค้นหาก็ยังไม่มีใครแนะนำ เจอภาษาอังกฤษมาจากต้นฉบับก็อธิบายค่อนข้างสั้นและกระชับทำให้การเริ่มต้นทำได้ยากมาก  http://www.linux-kvm.org/page/Boot_from_virtio_block_device  แต่ก็พอจับประเด็นเป็นไกด์ไลน์ได้ว่า หากต้องการลงไดร์ฟเวอร์ virtio บนระบบปฏิบัติการ Windows XP ที่รัน guest อยู่แล้วให้ดำเนินการตามขั้นตอนต่อไปนี้
  • บนเครื่อง guest ให้ดาวน์โหลดวินโดร์ไดร์เวอร์ http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
  • ให้หยุดการทำงานของ guest และให้สร้างอิมเมจเพิ่มเข้าไปเป็นดิสก์ที่ 2 ของ guest
  • เริ่มการทำงาน guest ใหม่ เครื่องจะตรวจสอบไดร์เวอร์และทำการติดตั้งไดร์เวอร์ virtio
  • รีสตาร์ทเครื่อง guest ใหม่ ให้ลบดิสก์ที่ 2 ออก และทำการเปลี่ยนแปลงชนิดของดิสก์ก่อนแรกไปเป็น virtio 
จะเห็นว่าคำแนะนำตามเวบไซต์ virtio ค่อนข้างกระชับและแน่นอนที่สุดหากต้องทำจริง ทำได้หรือไม่และต้องทำยังไง เพื่อไม่ให้เป็นการเสียเวลาเราไปเริ่ม "เพิ่มประสิทธิภาพการทำงานของ guest  Windows 7 บน KVM ด้วยการติดตั้งไดร์เวอร์ Virtio" กันเลยดีกว่า ผู้เขียนจะได้แนะนำขั้นตอนต่างๆ เป็นแบบ GUI และทำไปทีละขั้นตอน เพื่อจะได้สามารถปฎิบัติงานได้จริง สำหรับโปรแกรมที่ใช้ก็คือ virtual machine manager นั่นเอง

ขั้นตอนที่ 1 ให้ดาวน์โหลด virtio วินโดร์ไดร์เวอร์ตามลิงค์ที่ผู้เขียนแปะให้ ผู้เขียนโหลดไว้บนเครื่องเซิร์ฟเวอร์ KVM http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/virtio-win-0.1-100.iso

ขั้นตอนที่ 2 ให้หยุดการทำงานของ guest จากนั้นให้แมป cd-rom ไดร์ฟไปยังไฟล์ virtio อิมเมจ จุดประสงค์สำคัญสำหรับขั้นตอนนี้ก็คือเป็นการนำไฟล์ไดร์ฟเวอร์ virtio ให้ไปปรากฎบน guest ตอนเริ่มการทำงานใหม่ที่ไดร์ฟซีดีรอมนั่นเอง
gps tracker

ขั้นตอนที่ 3 หลังจากนั้นให้ทำการสร้างดิสก์ที่ 2 ขนาด 1GB เป็นชนิด virtio ตามรูปตัวอย่าง โดยดิสก์ที่ 2 ที่สร้างได้จะเป็นตัวทำให้ guest ติดตั้ง virtio ไดร์ฟเวอร์
gps tracking
ขั้นตอนที่ 4 ดิสก์ที่ 2ให้เลือก Disk bus แบบ Virtio ช่อง Serial number ว่างไว้ ส่วนช่อง Storage format เลือกเป็นชนิด raw เมื่อดิสก์ที่ 2 ถูกสร้างสมบูรณ์แล้วจะมองเห็นเป็นดิสก์ 2 ก้อนตามรูป คือ ดิสก์ที่ 1 แบบ IDE ส่วนดิสก์ที่ 2 เป็นแบบ VIRTIO
gps tracker
ขั้นตอนที่ 5 จากนั้นให้ทำงานเริ่มต้นการทำงานของ guest ใหม่ ล็อกอินเข้าไปยังเครื่อง guest และเลือกไปที่ Device Manager เราจะสังเกตเห็นฮาร์ดแวร์ใหม่ PCI Device เพิ่มขึ้นมาแล้ว แต่ยังทำงานได้ไม่ถูกต้องหรือยังขาดไดร์เวอร์นั่นเอง
gps tracking

 ขั้นตอนที่ 6 คลิกขวาและเลือก Update Driver Software
gps tracker
ขั้นตอนที่ 7 เลือกไปที่ Browse my computer for driver software Locate and install driver software manually
gps tracker
ขั้นตอนที่ 8 เลือกไปที่ ไดร์ฟซีดีรอม WIN7/AMD64 กดเลือก OK
gps tracking


ขั้นตอนที่ 9 เข้าสู่การติดตั้งไดร์ฟเวอร์ virtio ระบบจะถามว่าคณต้องการติดตั้งดีไวซ์ซอฟต์แวร์ไหม ให้คลิกไปที่ Install เริ่มสบายใจได้แล้ว เราผ่านขั้นตอนต่างๆ ที่สำคัญๆ มาหมดแล้ว เหลืออีกไม่กี่อึดใจ การติดตั้งซอฟต์แวร์ก็จะสมบูรณ์
gps tracking

ขั้นตอนที่ 10  ระหว่างนี้รอสักครู่เมื่อติดตั้งซอฟต์แวร์ VirtIO Balloon Driver สมบูรณ์ ให้กด Close
gps tracker

ขั้นตอนที่ 11 กลับมาสู่หน้าหลัก Device Manager เป็นอันจบกระบวนการติดตั้งไดร์ฟเวอร์ Virtio จากนั้นให้ทำการชัตดาวน์เครื่อง


ขั้นตอนที่ 12 ให้กลับไปลบดิสก์ที่ 2 ออก และเปลี่ยนแปลงการตั้งค่าดิสก์ที่ 1 แบบ IDE ไปเป็นแบบ VIRTIO จากนั้นก็เปิดเครื่อง guest ใหม่เป็นอันจบขั้นตอน

จะเห็นได้ว่าการติดตั้งไดร์เวอร์ ดิสก์แบบ Virtio บน guest วินโดร์สามารถทำได้โดยไม่ยาก สำหรับการติดตั้งไดร์เวอร์การ์ดเน็ตเวิร์คเองก็มีวิธีการแบบเดียวกัน แค่นี้เราก็จะเห็นสมรรถนะของเวอร์ชวล paravirtualization ที่สามารถทำงานได้เต็มประสิทธิภาพ ใครที่ยังไม่เคยลองผู้เขียนแนะนำว่าต้องเปลี่ยนจาก IDE ไปเป็น VIRTIO เท่านั้น

ผู้เขียนต้องขอขอบพระคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการระบบซอฟต์แวร์ติดตามรถยนต์ ด้วยอุปกรณ์มาตรฐาน ราคาประหยัด นอกจากนี้ผู้เขียนยังเคยเขียนบทความที่ทำเองได้ เป็นการประยุกต์ใช้เวลาว่างให้เป็นประโยชน์ สามารถติดตามบทความได้ตามลิงค์ครับ  เมื่อโน็ตบุ๊คเครื่องเก่ง จอแตก SAMSUNG NP350V4X


วันจันทร์ที่ 2 กุมภาพันธ์ พ.ศ. 2558

เพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server KVM

หลังจากไม่ได้อัพเดทมานานวันนี้ผู้เขียนกลับมาบอกเล่าเรื่องราวประสพการณ์จริงอีกครั้งนึง การนำเสนอเรื่องราวเหล่านี้ช่วยบันทึกความจำหรือจดบันทึกงานที่เคยทำไปแล้ว และประสบความสำเร็จ เพื่อในครั้งต่อๆไปหากเราต้องการใช้งานอีก ก็สามารถเข้ามาอ่านหรือจดเก็บเรื่องราวเพิ่มเติมในส่วนที่เข้าใจผิดพลาดในครั้งแรก เนื้อหาที่ผู้เขียนนำเสนอจึงไม่ได้เน้นทฤษฎีแวดล้อมประกอบมากนัก

KVM ย่อมาจาก Kernel Virtual Machine เป็นการสร้างเครื่องเสมือนเครื่องจริง เพื่อให้สามารถใช้งานฮาร์ดแวร์ได้อย่างเต็มประสิทธิภาพ และมีความสะดวกในการบริหารจัดการทรัพยากร เช่น ซึพียู ฮาร์ดดิสก์ และเมมโมรี เป็นต้น

ปัญหาที่ผู้เขียนจำเป็นต้องเพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server ที่รัน KVM ก็คือผู้เขียนรันอิมเมจ Windows 7 ขนาดความจุ 80GB เพิ่มเป็น 128GB เพื่อจัดเก็บข้อมูลหรือรองรับการทำงานที่ต้องใช้พื้นที่เพิ่มมากขึ้น เพื่อไม่ให้เป็นการเสียเวลาเราไปเริ่มกันเลยดีกว่า

ขั้นตอนที่ 1 ติดตั้งโปรแกรม virt-resize เพื่อใช้จัดการเวอร์ชวลอิมเมจ

apt-get install libguestfs-tools

 ขั้นตอนที่ 2 ให้ทำการ shutdown เวอร์ชวลอิมเมจที่ต้องการเพิ่มขนาดดิสก์ซะก่อน
virsh shutdown win7-ultimate-test

ขั้นตอนที่ 3 ตรวจสอบดูว่าเวอร์ชวลอิมเมจที่ใช้ มีการจัดการฮาร์ดดิสก์ไว้แบบไหน มีพาร์ติชั้นไหนบ้าง

virt-filesystems --long --parts --blkdevs -h -a vm_window7_ultimate_test

gps tracking

ขั้นตอนที่ 4 จากการตรวจสอบพบว่ามีฮาร์ดดิสก์ พาร์ติชั่น sda2 มีขนาด 80G เราต้องการขยายเพิ่มขึ้นไปเป็น 128G ขั้นตอนนี้ให้สร้างเวอร์ชวลอิมเมจใหม่ขนาด 128G
truncate -s 128G /mnt/3tb/home/outdisk/outdisk

gps tracking

ขั้นตอนที่ 5 เป็นขั้นตอนที่สำคัญคือการขยายเวอร์ชวลอิมเมจ  
virt-resize --expand /dev/sda2 /mnt/3tb/home/vm/vm_window7_ultimate_test  /mnt/3tb/home/outdisk/outdisk

gps tracking

เป็นอันสิ้นสุดกระบวนการเพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server KVM ข้อควรระวังก็คือเราต้องอย่าลืมสำรองเวอร์ชวลอิมเมจเดิมไว้ เพราะหากไม่สามารถเปิดเวอร์ชวลอิมเมจใหม่ได้ของเก่าก็ต้องไม่เสีย


ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการเช่ารถตู้ VIP รถเช่าผู้บริหาร มาตรฐานความปลอดภัยสูง พร้อมกันนี้หากต้องการท่องเที่ยวภายในประเทศอย่าลืมไปเยี่ยมชม ลำปาง เพชรบูรณ์ และน่าน ในหลงรักประเทศไทย ห้ามพลาดเมื่อฝันผลิบาน ลำปาง เพชรบูรณ์ และน่าน http://www.vntravelsupport.com/2014/12/blog-post.html


วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

สร้าง php สคริปสำหรับส่งข้อมูล(method post)อัตโนมัติ สำหรับระบบงานที่ไม่ต้องการใช้คนช่วย

ปัญหาที่ผู้เขียนกำลังจะแก้อยู่ในขณะนี้คือ ผู้เขียนต้องการสร้าง Form/Submit ธรรมดาสำหรับผู้พัฒนาเวบแอพพลิเคชั่น การสร้าง Form/Submit ทำได้ไม่ยากเพราะมีซอร์สโค๊ดอยู่มากมาย ปัญหาที่ผู้เขียนพบก็คือหากเรามีForm แต่ไม่มีใครมากด Submit ให้ระบบก็เลยไม่ทำงานแบบอัตโนมัติ

บางคนอาจจะนึกหน้าตา Form/Submit ไม่ออกผู้เขียนก็เลยจะได้นำมาให้ดูเป็นตัวอย่าง จากตัวอย่างเป็นการสร้างฟอร์ม เพื่อส่งข้อความสั้น(SMS) ผ่านเวบไซต์ clickatell.com เหตุผลที่ผู้เขียนเลือกใช้ผู้ให้บริการของ clickatell เพราะว่ามีการทำงานมาตรฐาน เป็นที่นิยมใช้กันมาก


จากปัญหาข้างต้นเมื่อผู้เขียนสร้างฟอร์มเสร็จสมบูรณ์ และป้อนค่าต่างๆ ลงเท็กซ์บ็อกแบบอัตโมมัติ ปรากฎว่าไม่มีใครมาช่วยกดปุ่ม Submit การแก้ปัญหาให้โปรแกรมทำงานแบบอัตโนมัติก็เลยยังทำไม่ได้

ผู้เขียนก็เลยได้พยายามค้นคว้าหาคำตอบเพิ่มเติมว่า เวบแอพพลิเคชั่นง่ายๆแบบนี้ต้องทำยังไง ครั้นจะโทรไปสอบถามนักพัฒนา PHP สคริปก็ยังไม่ค่อยกล้าถาม ต้องพยายามหาคำตอบด้วยตัวเอง ในที่สุดผู้เขียนก็พบไลบราลี่ตัวหนึ่งที่ทำงานได้เรียกว่า curl

<?php
$ch = curl_init();                    // initiate curl
$url = "http://api.clickatell.com/http/sendmsg.php"; // where you want to post data
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, "user=xxxxxx&password=xxxxxx&api_id=xxxxxx&from=xxxxxx&to=xxxxxx&text=xxxxxx"); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
$output = curl_exec ($ch); // execute

curl_close ($ch); // close curl handle
 
var_dump($output); // show output
 
?>

อธิบายการทำงานของโค๊ด

curl_init   เป็นฟังก์ชั่นเริ่มต้นการใช้งานไลบรารี่ curl
url           เป็นตำแหน่งของเวบแอพพลิเคชั่นที่ต้องการเรียกให้ทำงาน
setopt     เป็นกำหนดพารามิเตอร์ต่างๆ ก่อนเรียกให้ฟังก์ชั่น curl ทำงาน
curl_exec เป็นการประมวลผลคำสั่งพูดง่ายๆ ว่าเป็นการกดปุ่ม submit นั่นเอง
curl_close จบการทำงานของไลบรารี่ curl

สำหรับการติดตั้งโปรแกรม curl และ php5 สำหรับระบบปฏิบัติการ Ubuntu ให้ดำเนินการดังนี้

apt-get install curl libcurl3 libcurl3-dev php5-curl
/etc/init.d/apache2 restart
ผู้เขียนทดลองแปะโค๊ดตัวอย่างการส่งข้อความสั้นผ่าน API ที่ผู้เขียนใช้บริการอยู่ ซึ่งมีค่าใช้จ่ายถูกกว่า Clickatell มาก เพื่อให้ใช้เป็นข้อมูลสำหรับการนำไปประยุกต์ใช้งาน สำหรับแอพพลิเคชั่น SMS PROXY ที่ผู้เขียนกำลังพัฒนาอยู่จะได้ประโยชน์ในทุกๆ แอพพลิเคชั่นที่ต้องการเรียกใช้งานระบบ SMS

<?php
$ch = curl_init();                    // initiate curl
$posturl = "http://api.sms-delivery.com/api/sendsms/plain";
$fields = "user=xxxx&password=xxxx&sender=TPIT&GSM=6686xxxxxxx&SMSText=TEST SENDING MESSAGE FROM API CURL";
curl_setopt($ch, CURLOPT_URL,$posturl);
curl_setopt($ch, CURLOPT_POST, 1);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the output in string format
$output = curl_exec ($ch); // execute

curl_close ($ch); // close curl handle

var_dump($output); // show output

?>
 


ต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการ thaigpstrack ด้วยสินค้าคุณภาพ นำเข้าจากผู้ผลิตโดยตรง มั่นใจได้ในคุณภาพของสินค้า

วันอังคารที่ 16 กันยายน พ.ศ. 2557

ติดตั้ง noip บนอินเทอร์เฟสที่ 2 เพื่อตรวจสอบ WAN ลิงค์สำรอง

ยินดีต้อนรับสู่เวบบล็อกรวบรวมประสพการณ์ดีๆของการนำลินุกส์ไปใช้งานจริงๆ เพื่อนำเสนอข้อมูลที่เป็นประโยชน์ต่อการนำไปประยุกต์ใช้งานในโอกาสต่อๆไป หรือเป็นบันทึกกันลืมว่าเคสนี้เราเคยผ่านการแก้ปัญหามาอย่างไร

สำหรับวันนี้ก็เช่นเดียวกันผู้เขียนทำเซิร์ฟเวอร์อินเทอร์เน็ตหอพักมี 2 อัพลิงค์ ลิงค์ที่ 1 เป็นทรู ส่วนลิงค์ที่ 2 เป็นทีโอที ประกฎว่าผู้เขียนไม่สามารถตรวจสอบไอพีแวนของลิงค์ที่ 2 ได้เลยว่าหมายเลขอะไร นั่นคือที่มาของการติดตั้ง noip บนอินเทอร์เฟสที่ 2 เพื่อตรวจสอบ wan ลิงค์ที่ 2 หรือลิงค์สำรองนั่นเอง

ขั้นตอนที่ 1 เริ่มต้นด้วยการดาวน์โหลดและติดตั้งแพ็คเกจกันก่อน


 wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz  

ขั้นตอนที่ 2 แตกไฟล์ คอมไพล์และติดตั้งแพคเกจ
 tar xzvf noip-duc-linux.tar.gz
 cd noip-2.1.9-1/
 make
 make install

ขั้นตอนที่ 3 เป็นการกำหนดค่าให้กับโปรแกรม noip2 ก่อนอื่นเราต้องมีชื่อผู้ใช้งานและรหัสผ่านของ noip.com ก่อนตามรูป


/usr/local/bin/noip2 -C
หลังจากเรียกคำสั่งข้างต้นโปรแกรมจะบังคับให้เราตั้งค่า ผู้เขียนเลือกเป็นอินเทอร์เฟซ ppp1


ขั้นตอนที่ 4 เป็นการรันโปรแกรม
/usr/local/bin/noip2

ลองกลับเข้าไปดูผลลัพธ์ที่เวบnoip.com ตามรูปจะต้องแสดงค่าไอพีแอดเดรสปัจจุบันของอินเทอร์เฟซ WAN 2 หรือลิงค์สำรอง จากตัวอย่างจะเห็นว่า WAN 1 คือหมายเลขไอพี 115.87.31.7 ส่วน WAN 2 คือหมายเลขไอพี 180.180.137.24

ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการ gps ติดตามรถ เอื้อเฟื้อพื้นที่บล็อกดีๆ เพื่อเป็นเวทีให้นำเสนอเรื่องราวดีๆ อยู่เสมอมา