แท่นวางเมาส์หลุดร่วงหลายตัว

แท่นวางเมาส์
แท่นวางเมาส์

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

สำรวจกับนักศึกษา พบว่า
1. โต๊ะคอมพิวเตอร์หลายตัวที่มีแท่นวางเมาส์นั้น แท่นวางเมาส์หลุดออกมา
เมื่อตรวจในรายละเอียด พบว่า ไม่สามารถประกอบกลับเข้าไปให้เหมือนเดิม
ถ้าพยายามจะประกอบ ก็ยังทำได้อยู่ แต่หัวหมุดจะยื่นออกมาบนถาดวางแป้นพิมพ์
ปัญหาที่เกิดขึ้น คือ พลาสติกที่ใช้รองรับหัวน็อตเสื่อมสภาพ รับน้ำหนักแท่นวางเมาส์ไม่ไหว
ทำให้พลาสติกรับน้ำหนักหลุดมาเฉพาะส่วนที่รับน้ำหนักเป็นรูปวงกลม
เมื่อประกอบกลับเข้าไป พบว่าไม่มีพลาสติกรองรับหัวน๊อต ซึ่งเป็นส่วนสำคัญ
ที่ใช้ยึดแท่นวางเมาส์กับถาดวางแป้นพิมพ์เข้าด้วยกัน
2. ใน 50 เครื่อง มีแท่นวางเมาส์หลุดออกมามากกว่า 5 ตัว
และพบว่านักศึกษาไม่นิยมใช้ถาดวางเมาส์ แต่วางไว้บนโต๊ะคอมพิวเตอร์
และหลายครั้งที่พบว่าการหลุดร่วงของแทนวางเมาส์ไม่ได้หลุดจากการใช้งาน
แต่หลุดลงมาเฉย ๆ ทั้งที่มีนักศึกษานั่งอยู่ และไม่มีนั่งอยู่
สาเหตุน่าจะมาจากพลาสติกรองรับหัวน๊อตบางเกินไป และหมดอายุ จนรับน้ำหนักต่อไปไม่ไหว
3. ปัจจุบัน แท่นวางเมาส์ไม่ถูกใช้งาน
ปัญหาน่าจะเป็นเรื่องของการออกแบบโต๊ะ เพราะแท่นวางเมาส์ยื่นเข้าตัว และอยู่ห่างจากจอภาพมาก
พบว่า นักศึกษานิยมใช้เมาส์วางบนโต๊ะคอมพิวเตอร์มากกว่า เพราะสะดวกในการใช้งาน
ทำให้ไม่พบนักศึกษาดึงเมาส์ลงมาวางบนแท่นวางเมาส์ ขณะใช้งานกับเครื่องคอมพิวเตอร์
ที่ผ่านมาจึงไม่พบการร้องเรียนว่าแท่นวางเมาส์ชำรุด
4. สรุปว่าจะไม่พยายามประกอบเข้าไป
ถ้าประกอบเข้าไปหัวน๊อตจะไปชนกับแป้นพิมพ์ แล้วทำให้ใช้งานแป้นพิมพ์เป็นปัญหา
และการประกอบเข้าไปก็จะไม่ได้ประโยชน์ใดเพิ่ม
เพราะไม่พบการใช้งานแท่นวางเมาส์ จากการให้ข้อมูลของนักศึกษาผู้ใช้งาน
ปล.ผมสนใจเรื่องปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์
http://www.thaiall.com/hci/
ว่าคบหากันดีอยู่รึเปล่า หรือมีปัญหาแบบพ่อเลี้ยงกับลูกเลี้ยง ที่ฆ่าชิงทรัพย์
http://www.komchadluek.net/detail/20151101/216169.html


ภาพประกอบจาก
https://www.facebook.com/media/set/?set=a.10153701189182272.1073741900.350024507271

ฟังมาว่าโปรเจคเตอร์ระเบิด ต้องไปดู ว่าอะไรที่ระเบิด เพราะอะไร

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

มีอยู่วันหนึ่ง เลขาฯ คนสวย บอกว่าหัวหน้าประชุมร่วมกับอีกหลายท่าน
แล้วอยู่ ๆ โปรเจคเตอร์ก็ระเบิดดังตูม ตกใจกัน
จากนั้น ก็ส่งอีเมลเป็นเรื่องเป็นราวมา ขอให้ไปดูให้หน่อย
ก็ต้องไปดูจะได้อะไรอะไรกันต่อไป ก็มีเรื่องเล่าดังนี้
1. ไปดูที่เกิดเหตุ เห็นโปรเจคเตอร์วางบนโต๊ะหินอ่อน มีสายไฟโยงกับปลั๊ก สายไฟค่อนข้างตึง
2. ปลั๊กพ่วงอยู่ใต้โต๊ะคอมพิวเตอร์ แถวที่วางเท้า อาจเผลอไปเตะใส่ได้
3. นำโปรเจคเตอร์กลับมาตรวจสอบว่าหลอดชำรุดหรือไม่ ก็ได้คุณเปรมช่วยแกะดู
พบว่าหลอดโปรเจคเตอร์แตกละเอียด มีเศษแก้วในหลอดเต็มไปหมด
4. ประกันหลอดไฟ ปกติคือ 1 ปี หรือ 1000 ชั่วโมงแรก
ถ้าเปิด 6 ชั่วโมงต่อวัน ก็จะได้ 166 วัน แต่อายุเกิน 3 ปีแล้ว
ถ้าเสียที่ตัวเครื่อง เช่นวงจร หรือพัดลม ก็หมดประกัน 3 ปีไปแล้วเช่นกัน
5. สรุปว่าหาตัวใหม่ไปให้คุณเลขาฯ ส่วนตัวนี้ก็แทงจำหน่ายว่าชำรุด
เพราะถ้าซื้อหลอดราคา 8000 บาทมาใส่ ก็ไม่กล้ารับประกันว่าจะใช้ได้ถึง 1 ปีหรือไม่

ปล. การระเบิดอาจเกิดขึ้นได้ในกรณีอุปกรณ์เก่ามากแล้ว อุณหภูมิสูง หรือสภาพแวดล้อมไม่ดี


ราคาโปรเจคเตอร์ และหลอด EB-X7
– เครื่องราคา 2 หมื่นขึ้นไป
– หลอดราคา 8000 กว่าบาท
http://www.priceza.com/s/%E0%B8%A3%E0%B8%B2%E0%B8%84%E0%B8%B2/Projector-Epson-Eb-X7

แนะนำวิธีการเปลี่ยน หลอดภาพ Epson Lamp โดยละเอียด
http://www.winboardtechnology.com/index.php?route=information/information&information_id=23

คำแนะนำเพื่อยืดอายุการใช้งานของ Projector Lamp ของคุณ
1. วางในที่ ๆ เหมาะสม
2. ทำความสะอาดและเปลี่ยนตัวกรองอากาศสม่ำเสมอ
3. ปิดเครื่องแล้วรอให้เย็น ก่อนเก็บ
4. ไม่ย้ายเครื่องขณะใช้งานอยู่
5. ใช้แสงที่เหมาะกับสภาพห้อง
6. ระหว่างตัวเครื่องและปลั้กไฟ สายไฟฟ้าต้องไม่ตึง ไม่งอสายเกินไป
7. ไม่วางปลั๊กไฟไว้ในจุดที่เท่าแตะถึง หรือไม่มั่นคง
http://www.epson.co.th/epson_thailand/my_epson/tips_and_tricks/eb_s7/prolong_your_projector_lamp_life.page

ทดสอบการทำงานของเครื่องบริการ กับเครื่องลูก

การเชื่อมต่อเข้ามาพร้อมกัน 10 connection
การเชื่อมต่อเข้ามาพร้อมกัน 10 connection

ที่มา ที่ไป
เตรียมสอนนักศึกษาเรื่องศักยภาพของเครื่องบริการ
ไม่ได้อยู่ที่ RAM อย่างเดียว ยังมีรายละเอียดอีกมาก
แม้เครื่องจะอยู่ใน Cloud ก็ยังสุ่มเสี่ยงต่อการเดี้ยงกลางอากาศได้เช่นกัน
เพราะเวลาเช่าเครื่องบริการใน Cloud ก็ต้องกำหนดว่าจะจ่ายให้กับอะไรอยู่ดี

การเชื่อมต่อเข้ามา 1 connection ก็ยังรับไหว
การเชื่อมต่อเข้ามา 1 connection ก็ยังรับไหว

การทดสอบเครื่องที่ทำงาน
ทดลองใช้เครื่องหนึ่งร้องขอบริการจากอีกเครื่องหนึ่ง
ในที่นี้ desktop2 คือ เครื่องบริการเว็บและอีเมล
ส่วนเครื่อง notebook คือ เครื่องลูกที่ส่ง request ไปยังเครื่องบริการ
ด้วยการเปิดเว็บเพจเดียวกันพร้อม ๆ กัน 10 iframe ใน 1 หน้าต่าง
แต่ละ iframe เรียกไปยัง url แบบส่งค่า get ที่แตกต่าง
และ url คือ php ที่เรียกใช้ smtp ก็จะ load เครื่องบริการเกือบ 50 Kbps
โปรแกรมที่ monitor ใช้ tcpview for windows ซึ่ง download ได้ฟรี
จาก https://technet.microsoft.com/en-us/library/bb897437.aspx
และใช้ task manager ดู performance ของ ethernet ว่าขึ้นลงอย่างไร
เมื่อเครื่อง notebook ส่งคำขอใช้บริการไปยัง desktop2
เครื่องบริการทดสอบเปิดบริการด้วย xampp เฉพาะส่วนของ apache
ถ้าเปิด mercury ก็คงจะทำให้เกิดภาระกับเครื่อง desktop2 ขึ้นอีกเยอะ

ในขณะที่เครื่องลูกยังไม่ได้เชื่อมต่อเข้ามาผ่าน port 80
ในขณะที่เครื่องลูกยังไม่ได้เชื่อมต่อเข้ามาผ่าน port 80

สรุปผลการทดสอบเครื่องที่ทำงาน
เครื่อง desktop2 เป็นเพียงเครื่อง PC ที่มีทรัพยากรต่ำ
และ Bandwidth ต่ำ รองรับการ download ได้ไม่มาก
และไม่ได้ออกแบบให้ทำงานกับ Cache server : Static file แต่อย่างใด
ถ้ามี request เข้ามาสัก 20 – 30 คน พร้อม ๆ กัน
เครื่องนี้ก็คงจะรองรับการเชื่อมต่อไม่ไหวเป็นแน่ เพราะคอขวดเยอะครับ

การ rename database ใน mysql

rename mysql database
rename mysql database

มีเพื่อนถามถึงการ rename database ใน mysql
ลองเข้าไปดูพบว่ามีคำสั่ง rename database อยู่จริง
พบว่าถูกเพิ่มเข้าไปในรุ่น 5.1.7 แต่ถูกลบออกในรุ่น 5.1.23
หากเรียกใช้ไม่ได้ ก็แสดงว่าคำสั่งใช้ไม่ได้ในรุ่นที่ท่านใช้อยู่
ถ้าต้องการ rename database มีคำแนะนำ 2 วิธี
1. ใช้ phpmyadmin คลิ๊กที่ database นั้น แล้วเลือก operations
มองหา Rename database to: แล้วกรอกชื่อใหม่ แล้วกดปุ่ม Go
2. ใช้ mysql command line
หากมี database ชื่อ test1 และต้องการเปลี่ยนเป็น test2
สามารถทำได้ดังนี้

>show databases;
>create database test2;
>use test1;
>show tables;
>rename table test1.a to test2.a;
>drop database test1;

ก็เป็นอันเรียบร้อย
https://dev.mysql.com/doc/refman/5.1/en/rename-database.html

ปรับ nginx และ application บน amazon cloud กับ google cloud

พักนี้ช่วยเพื่อนดู cloud ของ google กับ amazon
เพราะย้ายบริการระหว่าง cloud ทั้ง 2 ตัว ให้ทำงานกับ wordpress
แล้วพบปัญหาบางอย่างจาก google cloud เกี่ยวกับ
การรองรับ static file หลายร้อย gigabyte กับฐานข้อมูล 20 กว่า gigabyte
และ plug-in ของ wp โหด ๆ อีก 2 – 3 ตัว มีการรายงานพบปัญหา 502 ตลอด
http://aws.amazon.com และ http://cloud.google.com
เหตุที่บันทึกเรื่องราวไว้ เผื่อว่าเพื่อนกลับมาถามอีก จะได้ดำเนินการอีกครั้ง
มีประเด็นแบ่งปัน ดังนี้
1. มีปัญหาเรื่องการ redirect ไปหน้าอื่นของ wordpress ไม่ได้เลย
ต้องเข้าไปแก้ nginx.conf ในบรรทัดที่กำหนดว่า
try_files $uri $uri/ /index.html;
เป็น try_files $uri $uri/ /index.php?$args;
2. ส่วนการเข้า shell ในแต่ละ cloud ก็ต่างกันไป
สำหรับ google cloud ผมจะเข้า control panel แล้วคลิ๊ก ssh
ก็จะเข้า secure shell ได้เลย
แต่กับ amazon cloud เพื่อนจะส่งแฟ้ม .ppk ซึ่งเป็น private key file for authentication
แล้วแจ้ง user name กับ ip ให้ใช้โปรแกรม putty เข้า port 22 ไปจัดการระบบ
เข้าไปก็ใช้ sudo su เป็น root ได้เลย เรื่องนี้เป็นการเริ่มต้นใน cloud แต่ละตัวของผม
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
http://www.select2web.com/webservice/amazon-elastic-computer-clound-ec2-part-6-putty-login.html
3. จากนั้นก็ config ให้ ftp เข้าไปแล้วส่งแฟ้มผ่าน user ชื่อ bitnami ได้เลย
ซึ่ง google cloud มีเรื่องต้องกำหนดเกี่ยวกับ permission หลายจุด
แต่ที่เหมือนกันกับ amazon cloud คือ การทำ link มายัง home ของ user
ผมจะเข้าห้อง /home/bitnami
แล้วใช้คำสั่งว่า /home/bitnami# ln -s /opt/bitnami/nginx/html
พอเพื่อน ftp เข้ามาก็เห็นห้อง html แล้วโยนไฟล์เข้าไปใน html directory ได้เลย
4. เพื่อนอยากใช้ memcached ไม่ใช่ memcache บน wordpress
ก็ย้าย host มาหลายตัว จาก dreamhost.com เป็น google cloud และมาเป็น amazon cloud
ก็ได้ help ของ bitnami ช่วยไว้ เพราะ package ที่เลือกไว้ก็ใช้ bitnami
https://wiki.bitnami.com/Components/PHP?highlight=install+memcached#How_to_install_Memcached_module_using_libmemcached_library.3f
5. การ config ให้ใช้งาน php บน nginx ของแต่ละ server ก็ไม่เหมือนกัน
ของ amazon cloud ผลใช้ config ด้านล่างนี้

location ~ \.php$ {
root           html;
fastcgi_read_timeout 300;
fastcgi_pass   unix:/opt/bitnami/php/var/run/www.sock;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $request_filename;
include        fastcgi_params;
}

6. รหัสผ่านของ root บน MySQL server แต่ละตัวก็จะไม่เหมือนกัน
ก็พบคำแนะนำว่าใช้รหัสผ่านคือ bitnami สำหรับกรณีแรก กรณีอื่นก็ตามรายละเอียดข้างล่าง
https://wiki.bitnami.com/Components/MySQL#How_to_connect_to_the_MySQL_database.3f
The default password for MySQL root user in Virtual Appliances and AMIs is “bitnami”
The default password for MySQL root user in BitNami Cloud Hosting is the same that you set in the administration panel.
The default password for MySQL root user in a BitNami Magento stack is “bitnami1”

7. ใช้ amazon cloud ระบบกำหนดให้เปิดบริการ apache เป็น default
แต่ถ้าจะเปิด nginx เป็น port 80 ด้วยก็ได้ แต่ต้อง config กันหน่อย
เข้าไป config แบบ manual ดูจาก https://wiki.bitnami.com/Components/Nginx
แล้วเข้าไปแก้แฟ้ม config เปลี่ยน port กันทีละแฟ้ม
/opt/bitnami/apache2/conf/httpd.conf จาก 80 เป็น 8088
/opt/bitnami/nginx/conf/nginx.conf จาก 8088 เป็น 80
/opt/bitnami/nginx/conf/nginx.conf จาก 1234 เป็น 80

แล้วสั่ง #service bitnami restart เท่านี้ nginx ก็ตื่นมาบริการผ่าน port 80 แล้ว
8. การ import ข้อมูลขนาดใหญ่หลาย GB เข้า mysql
ที่มองไว้มี 2 วิธี
วิธีที่ 1. ใช้ ftp ส่งแฟ้ม .txt เข้าไปใน server
แล้วใช้คำสั่ง mysqlimport แต่เหมาะกับ csv
http://www.thegeekstuff.com/2008/10/import-and-upload-data-to-mysql-tables-using-mysqlimport/
วิธีที่ 2. หลัง upload .sql ก็ใช้คำสั่งข้างล่างนี้
#mysql -u root -ppassword databasename < filename.sql
เป็นการประมวลผลฝั่ง server
ไม่ใช่ประมวลผลระหว่าง server กับ client
ด้วยการยิงเข้าไปทีละระเบียน เน็ตหลุดก็แย่เลย

aws dynamodb failures
aws dynamodb failures

อีกเรื่องที่น่าสนใจ
ระบบฐานข้อมูล DynamoDB ของ Amazon ล่มเมื่อเช้าวันอาทิตย์ที่ 20 ก.ย.58
ทำให้ Netflix.com เว็บบริการดูหนัง และอีกหลายเว็บไซต์มีปัญหา
โดยเฉพาะ US-East data center complex in Ashburn, Virgina.
http://fortune.com/2015/09/20/amazon-cloud-snafu/

แก้ปัญหา virtualbox ไม่ซ้ำจุดเดิมไม่ตก คาดว่า hd ไม่พอ

ubuntu บน virtualbox
ubuntu บน virtualbox

วันสองวันนี้พบปัญหากับเครื่องคอมพิวเตอร์หนึ่ง
ผมใช้ virtualbox และติดตั้ง ubuntu 14.04.3 ตามคำแนะนำของหัวหน้า
แต่ใช้งานไปสักพักจะพบว่า Oracle VM VirtualBox Manager has stopped working
สำหรับเครื่องอื่นไม่พบปัญหา พบแต่เครื่องที่ผมใช้อยู่ประจำ การแก้ไข
1. เปลี่ยนรุ่นของ virtualbox ระหว่าง 4.2 , 4.3 และ 5.0.2
2. ปิด antivirus
3. เปลี่ยน folder ที่เก็บ .vdi เพราะสร้าง vdi จากเครื่องอื่นมาใช้ในเครื่องนี้
4. พยายามทำให้ hd เหลือพื้นที่เพิ่มขึ้น จาก 4 GB เป็น 7 GB
ณ ตอนนี้ก็ยังแก้ไขไม่ได้ คาดว่ากำหนด HD แบบ dynamic ไว้ 8 GB
แต่ HD เหลือจริงไม่ถึง 8 GB ทั้งที่การใช้งานจริงกินพื้นที่ประมาณ 1.5 GB เท่านั้น
.. เล่าปัญหาสู่กันฟังครับ แต่กับเครื่องอื่นไม่พบปัญหา

+ http://www.ubuntu.com/download/desktop

+ https://www.virtualbox.org/wiki/Downloads

ช่วยเพื่อน config ให้ใช้งาน ftp ใน google cloud ได้ ครั้งที่สอง

google cloud
google cloud

มีโอกาสช่วยเพื่อน config Linux ซึ่งอยู่ใน google cloud
หรือ http://cloud.google.com ให้สามารถใช้ ftp
สำหรับ upload script เข้าไปในระบบ
ครั้งนี้เป็นครั้งที่สอง ดีกว่าครั้งแรก เพราะใช้ user bitnami ที่มีอยู่
แต่ครั้งแรกคลำทางไม่ถูก สร้าง user ใหม่ เข้าไปครอบ folder เดิมเลย
.. แต่ก็พอใช้งานได้ครับ สรุปว่าต้องใช้ bitnami ถึงจะถูกแนวที่เขากำหนดไว้

ขั้นตอนเริ่มต้นก่อนเข้า ssh (Secure shell)
1. เข้า Compute, Compute Engine, VM instances
2. พบ instance ที่สร้างขึ้น ของเพื่อนผมเป็น nginxstack
3. ในบรรทัดนั้นมีคำว่า default ใต้ network ก็เข้าไป
4. เพิ่ม default-allow-ftp
มี Allowed protocols / ports เป็น tcp:21
มี Source tag/ IP range เป็น 0.0.0.0/0 เพื่ออนุญาตจากที่ใด เฉพาะ port ที่กำหนด
มี Target Tags เป็น Apply to all targets
ขั้นตอนการเข้าจัดการด้วย secure shell
#sudo su
#cd /etc
#vi vsftpd.allowed_users
เปลี่ยนจากผู้ใช้ชื่อ bitnamiftp เป็น bitnami
#vi vsftpd.conf
เพิ่ม # หน้า listen_address=127.0.0.1
#cd /etc/init.d
#./vsftpd restart
#passwd bitnami
#ln -s /opt/bitnami/nginx/html html
#cd /opt/bitnami/nginx/conf/bitnami
#vi bitnami.conf
แล้วเติม index.php ไปหลัง index
เดิม index index.html index.htm;
เป็น index index.php index.html index.htm;
#/etc/init.d/bitnami restart

เพื่อให้แน่ใจผม upload index.php มี phpinfo() เข้าไป
เพื่อให้เห็นว่า php ทำงาน จะได้ติดตั้ง app ต่าง ๆ ได้

การซ้อนภาพหลายคนในภาพเดียวกัน ด้วย paint

two in one by paint
two in one by paint

เคยเห็นภาพซ้อนคนเดียวกันในภาพใบเดียว และมีคำแนะนำมาว่าใช้ photoshop
บางทีผมก็ไม่ได้ใช้ photoshop นะครับ เพราะโปรแกรมตัวใหญ่ทำงานเล็ก ๆ โปรแกรมเล็ก ๆ ก็ทำได้
ปกติจะใช้โปรแกรม paint เพราะโหลดขึ้นมาได้เร็ว และทำงานนี้ได้ไม่ยากครับ
เพียงแค่ cut and paste ก็ทำได้แล้ว
และ paint มีใน microsoft windows

การใช้ paint บ่อย ๆ จะทำให้การจัดการภาพเบื้องต้น
ทำได้ง่าย และรวดเร็ว .. โดยไม่ต้องใช้โปรแกรมครบเครื่องอย่าง photoshop

ภาพเห็นหน้า อ.ธวัชชัย แสนชมภู
https://www.facebook.com/photo.php?fbid=10153509593883895&set=oa.1002024449863425
ภาพเห็นหลัง อ.ธวัชชัย แสนชมภู
https://www.facebook.com/photo.php?fbid=10153509594013895&set=oa.1002024449863425

บริการรับ-ส่งอีเมลของ Mercury/32 v.4.6 from localhost

mercury mail server on xampp that work with PHP
mercury mail server on xampp that work with PHP

การ config ให้เป็นบริการแบบสองทางคือ รับ กับ ส่ง
ผ่าน localhost บน winxp โดยใช้ Outlook Express

1. เปิดบริการ
เข้าโปรแกรม xampp control panel แล้วเปิดบริการ Mercury
จะพบว่า port 25 กับ 110 เปิดให้บริการแล้ว ตรวจด้วย netstat -na ใน DOS
2. สร้าง user ของ e-mail
เข้า admin ของ Mercury/32 v.4.6 ใน xampp control panel
แล้วเข้า Configuration, Manage Local User…
เพิ่มรหัสผู้ใช้อีเมล โดยกำหนดให้ User:test
Personal Name:test และ Mail Password:test
3. ทดสอบกับ e-mail client
เปิด Outlook Express ครั้งแรก ต้องกรอกข้อมูลต่าง ๆ
Display name: test และ E-mail address: test@localhost
Incoming mail: 127.0.0.1 และ Outgoing mail: 127.0.0.1
Account name: test และ Password:test
4. ทดสอบระบบรับ-ส่ง
สั่งเขียนอีเมลใน Outlook Express ให้กด Create Mail
ส่งถึง test@localhost และให้ subject กับ message เป็น “hello world”
เมื่อสั่ง Send/Recv ก็จะพบอีเมลใหม่เข้ามาใน inbox
5. เขียน code ภาษา php
ให้โปรแกรมที่เขียนขึ้นมาทำงานบน Apache ที่จัดการโดย XAMPP
<?php
mail(“test@localhost”,”hello world”,”1\n2\n”,”From: admin@localhost\r\n”);
?>
สร้างแฟ้ม x.php วางใน c:\xampp\htdocs แล้วเปิดเว็บ http://localhost/x.php
พบว่าระบบไม่ส่งอีเมลออกไป ต้องทำข้อที่เหลือก่อน โดยแก้ไข sendmail.ini และ php.ini
6. แก้ไข sendmail.ini
เปิด c:\xampp\sendmail\sendmail.ini ขึ้นมาแก้ไข
จาก smtp_server=mail.mydomain.com
เป็น smtp_server=localhost
7. แก้ไข php.ini
เปิด c:\xampp\php\php.ini ขึ้นมาแก้ไข
จาก ;sendmail_path = “\”c:\xampp\sendmail\sendmail.exe\” -t”
จาก sendmail_path = “c:\xampp\mailtodisk\mailtodisk.exe”
เป็น sendmail_path = “\”c:\xampp\sendmail\sendmail.exe\” -t”
เป็น ;sendmail_path = “c:\xampp\mailtodisk\mailtodisk.exe”
8. เมื่อ restart apache ก็จะส่งอีเมลได้แล้ว
สั่ง stop และ start apache ใหม่ แล้วเรียก x.php ผ่าน browser
ในการเรียกแต่ละครั้ง ก็จะส่งอีเมลจาก admin@localhost
แล้วพบอีเมลที่ส่งไปเข้า outlookexpress เรียบร้อยดี

การเข้า ssh บน google cloud เพื่อจัดการเครื่องบริการ

php-fpm
php-fpm

เมื่อ sign in เข้าไปแล้วก็จะพบกับคำว่า My console
ซึ่งจะต้องเลือกว่าเข้า Project ไหนที่เรากำลังจัดการอยู่ เมื่อเลือกแล้วก็จะมีตัวเลือก

Overview
Permissions
APIs & auth
Monitoring
Source Code
Deploy & Manage
[Compute]
Networking
Storage
Big Data

ในการเข้าจัดการเครื่องที่เลือกได้
เข้า Compute จะพบ App Engine, Compute Engine และ Container Engine
ซึ่งกรณีนี้เลือก Compute Engine ก็จะพบอีกมาก ผมเลือก VM instances ที่สร้างไว้
ก็จะเป็นการสร้าง instance ที่กำหนดว่าใช้ server แบบไหน ภาษาอะไร
งานที่ผมเข้าไปจัดการ Linux :Debian บน AMD64 + Nginx ก็จะใช้ SSH ที่อยู่หลัง instance ตัวที่สร้างขึ้น

$sudo su
#cd /opt/bitnami/nginx/conf/bitnami

พบว่า index ใน location ไม่ได้กำหนด index.php ก็ต้องเพิ่มเข้าไป
เพราะที่มีนั้น มีแต่ index.html กับ index.htm ไม่ใส่จะเป็นปัญหากับ wordpress

พบปัญหา 502 bad gateway แล้วก็พบคำแนะนำ
ใน http://serverfault.com/questions/457911/nginx-php-fpm-502-bad-gateway
จากการตรวจสอบ พบว่าไม่สอดคล้องกับสิ่งที่พบใน google cloud และไม่ใช่วิธีแก้ปัญหา
จึงไม่ได้ปรับแฟ้ม bitnami.conf ที่อยู่ใน google cloud

ตรวจสอบว่า php-fpm ทำงานอยู่ด้วย #ps -aux|grep php พบว่าทำงานอยู่
ตรวจสอบด้วย phpinfo() ก็บพว่า php-fpm ทำงานอยู่
ใน #tail /opt/bitnami/nginx/logs/access.log แต่ไม่ได้แสดงว่า php-fpm ทำงานด้วยรึเปล่า
พบว่า /opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf มีการ config การทำงานของ php-fpm เรียบร้อย
และ bitnami.conf ก็ include แฟ้ม phpfastcgi.conf มาเรียบร้อย
สรุปว่า nginx เรียกใช้ phpfastcgi หรือ php-fpm แน่นอน
เพราะเวลามีปัญหากับ php ใน error.log จะมีข้อความ
เช่น FastCGI send in stderr: “PHP Message: WordPress database error Table ‘xxx’ does’t exist for query SELECT …