Blog นี้ผมจะรวบรวมบทความและเนื้อหาที่ผมชอบและคิดว่าจะสามารถนำมาใช้ประโยชน์ได้ภายหลัง แหล่งข้อมูลอาจจะมาจากหลายๆแหล่ง ผมจะใส่เครดิตแหล่งที่มาไว้ ขอบคุณแหล่งที่มาทุกที่ครับ
วันอาทิตย์ที่ 4 กันยายน พ.ศ. 2554
สร้างเว็บไซต์ห้ามลืม "4P"
บทความโดย @malimali
กลยุทธ์ทางการตลาดที่เราใช้ในการเพิ่มโอกาสให้สินค้าหรือบริการเรา ขายดี เราก็รู้กันอยู่มานมนานแล้วว่ามี 4 ทาง หรือ 4P ซึ่งมันก็ปรับใช้กับเว็บได้เช่นกัน ได้แก่
1. Product ตัวสินค้าควรจะมีดีพอที่จะให้คนซื้อไปเพื่อได้ใช้ประโยชน์ หรืออย่างน้อยก็น่าสนใจพอที่จะทำให้ซื้อ ขณะที่ตัวเว็บเองก็ต้องมีประโยชน์ต่อผู้ใช้ (หรือลูกค้า) ควรมีการใช้งานที่มีประสิทธิภาพที่ดีพอ
2. Place สถานที่ที่วางขายถ้าอยู่ในทำเลดีที่ ก็มีคนเห็นสินค้าเราเยอะ โอกาสในการขายก็จะสูงตามไปด้วย ถ้าในแง่เว็บก็ตรงกัน คือ หาวิธีที่ทำให้คนรู้จักเว็บเราก่อน ถ้าไม่รู้จักเว็บเรา เว็บเราจะดีขนาดไหนก็จบกัน ซึ่งในโลกดิจิตอล และยุคโซเชียลมีเดียนั้น ไอเดียในการที่จะทำให้คนรู้จักเว็บเราก็มีมากมายหลายทาง
3. Price ถ้าเป็นเว็บที่ให้บริการเนื้อหา คนส่วนใหญ่คงไม่ได้คิดว่าต้องเสียเงินอะไรในการเข้าชมเว็บ ในแง่นี้ จริงๆแล้วอย่างน้อยผู้ใช้ก็ยังต้องเสียเวลาเข้าไปเสพ ไปใช้เนื้อหา หรือประโยชน์ในเว็บนั้นอยู่ดี ส่วนเว็บที่มีการขายของ ปัจจุบันก็ใช้กลยุทธ์ทางราคาเพื่อดึงให้ลูกค้ามีความสนใจที่จะซื้อในเว็บ อยู่แล้ว
4. Promotion โปรโมชันหรือกลยุทธ์ทางการตลาดเพื่อเพิ่มความต้องการในการซื้อ เช่น ซื้อ 1 แถม 1 หรือลด 50% ตรงนี้เราสามารถทำโปรโมชันที่จะทำให้เกิดความต้องการที่จะเข้าไปในเว็บได้ เช่น การแถมบัตรลดราคาตั๋วภาพยนตร์ เพื่อดึงคนเข้าไปเป็นสมาชิกเว็บ เป็นต้น
ไม่ว่าเราจะใช้ P ไหนมากกว่ากัน แต่ P ตัวแรก หรือ Product ก็มักจะเป็นตัวเริ่มต้นธุรกิจในหลายๆกรณี ไม่ว่าจะเป็นสินค้าเป็นชิ้นเป็นอัน เป็นบริการ หรือเป็นเว็บไซต์ หรือแม้แต่เว็บบล็อกหนึ่งบล็อก ก็ต้องใส่ใจใน P ตัวนี้ไม่ต่างกัน จุดร่วมมันอยู่ตรงที่ว่า การทำให้ Product ของเรา มีคุณสมบัติหลักๆดังต่อไปนี้
1. มีจุดประสงค์ให้ผู้ใช้ ใช้มันเพื่ออะไร
เช่น เว็บไซต์ amazon.com สร้างขึ้นเพื่อให้เป็นชุมชนการซื้อขายหนังสือออนไลน์, เว็บไซต์ Tarad.com สร้างขึ้นเพื่อให้เกิดแหล่งซื้อขายของกันทางออนไลน์ สำหรับผู้ค้ารายย่อยในประเทศไทย หรือเว็บไซต์ Typlive.com ที่สร้างขึ้นเพื่อเป็นผู้ช่วยให้ติดต่อธุรกิจที่ต้องการได้
นี่คือจุดประสงค์ที่ดูเหมือนจะง่ายๆ เรียบๆ ถ้ามีจุดประสงค์ที่ซับซ้อน ลอยๆ เว็บนั้นก็สำเร็จได้ยาก เพราะขนาดเจ้าของยังบอกได้ไม่ชัดๆลงไปว่าจุดประสงค์ของเว็บคืออะไร
2. มีความน่าใช้ตั้งแต่แรกหรือเปล่า
ถ้าพูดเรื่องความน่าใช้ ก็ต้องยกตัวอย่างผลิตภัณฑ์ Apple ได้แก่ MacBook, iPod, iPhone, iPad ซึ่งมีความน่าใช้งานตั้งแต่แรกเห็น หรืออย่างสินค้าสารพัดจากประเทศญี่ปุ่น ที่มีความน่ารัก สวยงาม น่าใช้ น่าเข้าไปกระโดดใส่ ตั้งแต่แรกเห็นเช่นกัน
ตัวอย่างคือเว็บไซต์ etsy.com ที่เปิดมาก็จะเจอของสวยงามแฮนด์เมดจากผู้ค้าหลายคนในเว็บไซต์ จัดวางอยู่บนหน้าอย่างระเบียบเรียบร้อยน่าคลิกเข้าไปดู
3. เติมเต็มความต้องการของผู้ใช้หรือไม่
ถ้าจะเปิดร้านอาหารที่ทำเลใดทำเลหนึ่ง ก็ต้องดูว่า พื้นที่นั้นมีความต้องการร้านอาหาร ต้องการซื้ออาหารนอกบ้านหรือไม่ อย่างเช่น ต่างจังหวัดในบางพื้นที่ ที่การท่องเที่ยวยังไม่บูม การทำร้านอาหาร ก็เสี่ยงต่อการที่จะไม่มีลูกค้า บางชุมชนที่มีความนิยมในสินค้าหรือเว็บไซต์อันใดอันหนึ่งแล้ว การที่จะไปทำในลักษณะเดียวกันก็ยาก อย่างเช่น บริการ Google Wave ที่ต้องปิดตัวไป เพราะไม่ได้ตอบสนองความต้องการไปเท่ากับหรือมากกว่าสิ่งที่ Facebook ให้ได้
4. มีประสิทธิภาพในการใช้ที่ดีหรือไม่
ถ้าสนองตอบความต้องการแล้ว นอกจากจะดูน่าใช้แล้ว ยังมีประสิทธิภาพในการใช้ที่ดีด้วย ก็มีสิทธิที่จะทำให้ผู้ใช้เกิดความรู้สึกดีๆขึ้นกับเว็บเรา Application Instagram เป็นอีกตัวอย่างบริการออนไลน์ที่ตอบสนองทั้งการตกแต่งรูปที่ง่ายสำหรับคน ทั่วไป ใช้ง่าย และเมื่อใช้แล้วก็รู้สึกดี เป็นสูตรสำเร็จที่ว่า ทำไม Instagram ถึงได้เป็นที่นิยมมากขนาดนี้
หรืออย่างเช่นเว็บชุมชนรูปภาพอย่าง Flickr.com ที่การอัปโหลดรูปหลายๆรูปสามารถทำได้อย่างง่ายดาย และเห็นว่า แต่ละรูปได้อัปโหลดไปถึงไหน สำเร็จหรือไม่ด้วย ซึ่งมีประโยชน์มากๆ
5. ใช้แล้ว ผู้ใช้อยากกลับมาใช้ซ้ำหรือเปล่า
เมื่อเกิดความประทับใจจากการใช้ครั้งแรกๆแล้ว ก็มักจะเกิดการอยากกลับมาใช้ต่อๆมา โอกาสที่เราจะได้ผู้ใช้ประจำก็ตรงจุดนี้ ในเว็บไซต์เราสร้างกลไกอะไรให้เขาอยากกลับมาใช้เรื่อยๆหรือเปล่า
ตัวอย่างเช่นเว็บไซต์ Dribbble.com ที่ให้เป็นแหล่งชุมชนของชาวศิลปินที่มีความคิดสร้างสรรค์สร้างผลงานออกมา เมื่อชาวติสท์ด้วยกันเกิดความประทับใจและเพลินในการชมชิ้นงาน แม้ว่าชิ้นงานจะเป็นตัวเอกของเว็บ แต่องค์ประกอบอื่นๆของเว็บก็ช่วยให้เกิดความคิดสร้างสรรค์ ให้งานที่โชว์ยิ่งเด่นมากขึ้น และให้การเยี่ยมชมมีความสนุกสนานเช่น การเลือกชมผลงานตามสี และมีปฏิสัมพันธ์กับสมาชิกคนอื่นๆด้วย
ซึ่งสิ่งเหล่านี้ มันจะเกิดขึ้น ก็คือในช่วงวางแผนและออกแบบ การออกแบบที่ดี ควรจะออกแบบให้มีครบทั้ง 5 ข้อ ครอบคลุมตั้งแต่การวางจุดประสงค์ที่เรียบง่ายชัดเจนในการมีเว็บไซต์ ไปจนถึงการที่จะแปลงจากผู้มาเยี่ยมชมเว็บไซต์มาเป็นสมาชิกประจำเป็นสำคัญ
ที่สำคัญ การออกแบบดีไซน์ไม่ใช่เป็นเพียงการทำให้เว็บมีความสวยงามเท่านั้น ภารกิจของการออกแบบนั้นมีมากกว่านั้นมากมาย และที่สำคัญกว่าคือ การจะได้รายได้จากเว็บไซต์ ไม่ว่าเราจะให้บริการออนไลน์ หรือขายสินค้าออนไลน์ ถ้าสินค้าหรือบริการเรา มีคุณภาพครบ 5 ข้อ ตามด้านบนแล้ว ก็จะมีความสามารถที่จะต่อยอดไปสู่ P อื่นๆ หรือแม้แต่ด้วย ตัวสินค้าบริการเอง ที่จะดึงดูดให้ผู้ใช้เข้ามาประจำ นอกจากนี้ยังดีต่อการขายของบนเว็บไซต์ ลูกค้าสามารถหาข้อมูลได้อย่างง่ายและรวดเร็ว เห็นข้อมูลสินค้าบริการอย่างชัดเจน เพิ่มโอกาสในการขายมากขึ้น
ในกรณีที่เว็บไซต์เป็นการทำเงินจากการให้บริการ การออกแบบให้บริการมีประสิทธิภาพที่ดี น่าใช้ ผู้ใช้ที่ติดใจกับบริการของเราก็มักจะยินดีพร้อมจ่ายเงินสนับสนุนให้บริการ ของเราอยู่ต่อไปได้ หรือในกรณีเว็บไซต์เป็นการหารายได้จากโฆษณา การที่มีผู้ชมเข้ามามากๆ โอกาสในการเห็นโฆษณาก็มากเช่นกัน
ดังนั้นจำให้ดีว่า ถ้าไม่ให้ความสำคัญกับการออกแบบให้เหมาะสมและเพียงพอ ก็อาจจะทำให้ P ตัวนี้ ทำหน้าที่ของมันได้อย่างไม่เต็มประสิทธิภาพ ซึ่งมันก็อาจจะหมายถึง เงินลงทุนที่อาจจะเสียหายไปไม่น้อยก็มาก
======================
ที่มา : www.manager.co.th
http://www.manager.co.th/CBiZReview/ViewNews.aspx?NewsID=9540000111686
วันจันทร์ที่ 14 กุมภาพันธ์ พ.ศ. 2554
คำคมจากหนังดัง.....
แต่สามารถวัดความเป็นเขาได้ จากตอนที่เขาล้มลงและลุกขึ้นใหม่อีกครั้ง
- Maid In Manhattan
คนส่วนใหญ่มักร้องขออำนาจจากพระเจ้า แท้จริงแล้วอำนาจอยู่ในตัวพวกเขาเอง
- Bruce Almighty
บางครั้งคนอื่นก็ทำให้เรา...รู้จักตัวเอง
ความทุกข์ของคนๆ เดียว เทียบไม่ได้เลย... กับความทุกข์ของประชาใต้หล้า - Hero
มันวิเศษที่เราเลิกทำตัวเป็นคนที่เราอยากเป็น แล้วหันมาเป็นตัวของตัวเอง - Slap Her, She's French
สิ่งเดียวที่จะทำให้คนชั่วได้ชัยชนะ นั่นก็คือ การที่คนดีๆ นิ่งดูดาย - Tears Of The Sun
จะพยายามเป็นคนธรรมดาทำไมให้เหนื่อย หากคุณเกิดมาเพื่อที่จะโดดเด่น
- What Women Wants
เราไม่สามารถวัดความดีจากสิ่งที่เราไม่ได้ทำ สิ่งที่เราต่อต้าน หรือผู้คนที่เรากีดกัน
แต่เราวัดความดีได้จากสิ่งที่เราลงมือทำ สิ่งที่เราสร้าง และผู้คนที่เรารับเข้ากลุ่ม - Chocolate
ความจริง...ชนะทุกสิ่งเสมอ - Big Fat Liar
ถ้าไม่ปล่อยให้อะไรเกิดขึ้นกับชีวิตบ้าง... มันคงจืดชืดน่าดู - Finding Nemo
ยา กฎหมาย ธุรกิจ การจัดการ เป็นการเจริญรอยระดับสูง และจำเป็นสำหรับการรักษาชีวิตไว้
แต่โคลงกลอน ความงดงาม ความโรแมนติก และความรัก เป็นสิ่งที่ทำให้เราได้รู้ว่า... เราเกิดมาเพื่ออะไร
-Dead Poet's Society
ชีวิตไม่ใช่เพียงอุบัติเหตุหรือความบังเอิญที่ไร้ความหมาย
แต่มันเป็นชุดของเหตุการณ์ที่ลงตัวของแผนการที่ดีเลิศประเสริฐสุด
- Serendipity
You will never age for me, nor fade, nor die
- Shakespeare In Love
รักคือปรารถนาที่ซ่อนอยู่ในใจ ไม่มีใครรู้สึกได้นอกจากตัวเรา
- Bandits
คนเรามักทำร้ายคนที่เรารักเสมอ และเรื่องแบบนี้... เกิดขึ้นกับใครก็ได้
- The Green Mile
เราจะไม่สูญเสีย.. ในสิ่งที่เราไม่มีวันได้ครอบครอง - How To Lose A Guy In 10 Days
ถ้าเราอยากได้อะไรมากๆ จงปล่อยมันไป
ถ้ามันกลับมาหาเรา มันจะเป็นของเราตลอดไป
แต่ถ้าไม่... แสดงว่ามันไม่ได้เป็นของเราตั้งแต่แรกแล้ว - Indecent Proposal
ความรักก็เหมือนคลื่นวิทยุ ต้องหา ต้องปรับ ต้องจูนกันอยู่เสมอ...
- Sex Phone คลื่นเหงา สาวข้างบ้าน
ฉันเกลียดวิธีที่คุณคุยกับฉัน และเกลียดทรงผมของคุณ
ฉันเกลียดวิธีที่คุณขับรถฉันเกลียดเวลาที่คุณจ้องมอง
ฉันเกลียดรองเท้าบูทคู่โตของคุณเกลียดที่คุณอ่านใจของฉันออก
ฉันเกลียดคุณมาก มันทำให้ฉันรู้สึกแย่ทำให้ฉันแต่งกลอนอีกตะหาก
ฉันเกลียดที่คุณมักถูกเสมอเกลียดที่เวลาที่คุณโกหก
เกลียดเวลาที่คุณทำให้ฉันหัวเราะที่แย่ที่สุด คือเวลาคุณที่ทำให้ฉันร้องไห้
เกลียดที่คุณไม่อยู่ข้างๆและความจริงที่ว่า.. คุณไม่ได้โทรมา
แต่ที่เกลียดที่สุดคือ ฉันไม่ได้เกลียดคุณเลยไม่แม้เกือบจะเกลียด ไม่แม้แต่นิดเดียว...ไม่เลย..
- 10 Things I Hate About You
แต่เพราะมันยังคงอยู่ต่างหาก ถ้าวันนี้คนสองคน ต่างหมดรักกันไป
คงไม่มีใครต้องเสียใจมากนัก แต่กลับเป็นเพราะรักที่ยังอยู่ในใจคุณนั่นเอง
ที่ทำให้คุณปล่อยวางลงไม่ได้ ธรรมชาติของรัก มักไม่ให้โทษแก่ใคร
เรามักหลอกตัวเองว่า เพราะเรารักเขามาก เขาคงเห็นความดีความตั้งใจของเรา
และรักเราตอบบ้าง ไม่มากก็น้อย และเมื่อเขาตอบรับรักของเรา
มักทำให้เราก้าวล่วงไปถึงการรู้สึกยึดมั่น
ว่าเขาเป็นส่วนหนึ่งของเรา เป็นเหมือนทรัพย์สินส่วนตัวทางใจอย่างหนึ่ง
ที่จะต้องอยู่กับเราทุกครั้งที่เราต้องการ นานเท่าที่เราปรารถนา
เราคงไม่ทิ้งชีวิตทั้งชีวิต เพียงเพราะมันบาดเจ็บนิดหน่อยหรอกนะ
สิ่งที่ผิดพลาดเพียงสิ่งเดียวคือการไม่ทำตามที่หัวใจเรียกร้อง
- the mask of zorro
You will see a lot of things, but they will mean nothing to you If you lose sight of the thing you love.
คุณจะเห็นสิ่งต่างๆ มากมาย แต่นั่นจะไม่มีความหมายใดๆ เลย ถ้าหากว่าคุณไม่ได้มองเห็นสิ่งที่คุณรัก
- at first sight
If you love someone you say it, you say it right then, out loud, or the moment just passes you by.
ถ้าคุณรักใครสักคน จงพูดมันออกมา ตะโกนมันออกมาดังๆ หรือจะปล่อยให้เวลานั้นมันผ่านพ้นไปเฉยๆ
I would rather have had One breath of her hair, one kiss from her mouth, one touch of her hand, than eternity without it. One!
ผม ขอเพียงแค่..ได้สูดกลิ่นจาผมของคุณแค่เพียงครั้ง ได้สัมผัสรสจูบจากปากของคุณ ได้สัมผัสไออุ่นจากมือของคุณ แค่เพียงครั้งเดียว มากกว่าที่จะอยู่ได้เป็นอมตะ
- city of angels
When you realize you want to spend the rest of your life with somebody, you want the rest of your life to start as soon as possible.
เมื่อคุณเชื่อว่าคุณจะอยู่กับใครสักคนจนถึงวาระสุดท้ายของชีวิต คุณก็อยากให้เวลานั้นมันมาถึงเร็วๆ จริงๆสักที
- when harry met sally
There is a place you can touch a woman that will drive her crazy. Her heart.
มีที่อยู่ที่หนึ่ง ที่คุณสามารถทำให้ผู้หญิงคนหนึ่ง คลั่งใคล้หลงไหลได้ นั่นคือ หัวใจของเธอ
- milk money
You will be doing anything for the one you love. Except love them again.
คุณสามารถทำอะไรก็ได้เพื่อคนที่คุณรัก ยกเว้นอยู่อย่างเดียวคือรักเธออีกครั้ง
- faithful
I love you without knowing how, why, or even from where
ผมรักคุณโดยไม่ต้องรู้ว่ารักยังไง รักทำไม หรือรักที่ไหน
- PatchAdams
A life without love, is no life at all
You cannot find true love where it does not truly exist and you cannot hide it where it truly does
คุณไม่สามารถค้นหารักแท้นั้นได้ หากรักนั้นไม่มีอยู่จริง และคุณไม่สามารถปิดบังรักนั้นได้ หากมันมีอยู่จริง
- kissing a fool
How come we don't always know when love begins, but we always know when it ends?
ทำไมเราไม่เคยรู้เลยว่ารักมันเริ่มต้นเมื่อไหร่แต่เราจะรู้เสมอว่ารักมันจบลงเมื่อไหร่
- LA story
Will you love me for the rest of my life? No, I'll love you for the rest of mine.
- phenomenon
You'll always know when the right person walks into your life.
คุณจะรู้ได้ทันทีเลยว่า ใครคือตัวจริงที่เขาก้าวเข้ามาในชีวิตของคุณ
- the butcher's wife
If he's the right man for you, you can't just let him slip on by.
ถ้าเขาใช่ อย่าปล่อย "มัน" ให้ผ่านไป
Fate exists but it can only take you so far, because once you're there. It's up to you to make it happen.
ชะตาชีวิตน่ะ มันมีอยู่แล้ว แต่ว่ามันพาคุณไปได้ไม่ไกลหรอก เพราะชีวิตของคุณขึ้นอยู่กับการตัดสินใจของคุณเอง - can't hardly wait
Love won't obey our expectations, Its mystery is pure and absolute.
- bridges ofMadison country
The only feeling of real loss is when you love someone more than you love your self.
คุณจะรู้สึกสูญเสียจริงๆ ก็ต่อเมื่อคุณสูญเสียใครสักคน ที่คุณรักมากกว่ารักตัวคุณเอง
- Good will hunting
- You're Got Mail
The Greateat thing you'll ever learn . Just to love and to love in Return
- Moulin Rouge
It does not take offense and is not resentful. Love takes no pleasure in other people's sins ... but delights in the truth.
It is always ready to excuse, to trust, to hope ... and to endure ... whatever comes.
"ความ รักคือความอดทนและมีน้ำใจ ไม่ใช่ความหึงหวง ความรักไม่ใช่สิ่งโอ้อวดและทรนง ความรักไม่หยาบคายหรือเห็นแก่ตัว ไม่ทัดทานและไม่ขุ่นเคือง ความรักไม่ใช่ความเพลิดเพลินในบาป ... แต่พึงใจในความเป็นจริง ความรักพร้อมจะยกโทษ, เชื่อใจ, มีความหวัง และหมั่นทะนุถนอม ... ไม่ว่าจะเกิดอะไรขึ้น
Love is like the wind ... you can't see it ... but you can feel it.
ความรักเปรียบเหมือนกับสายลม ... แม้คุณจะมองไม่เห็นมัน ... แต่คุณรู้สึกถึงมันได้
คนทุกคนสามารถผิดพลาดกันได้ คุณควรที่จะยอมให้อภัย
- Step Mom
I'm a parent. I haven't got the luxury of principles.
ผมเป็นพ่อ สามัญสำนึกไม่เลิศเลอหรอก
- The Patriot
วันอาทิตย์ที่ 9 มกราคม พ.ศ. 2554
ตอนที่ 1
- การติดตั้ง Linux server
- การติดตั้งโปรแกรม Apache web server
- การติดตั้งโปรแกรม Freeradius
- ทดสอบ authentication โดยใช้ username/password ของ Unix
- การติดตั้งโปรแกรม Chillispot แบบ Web login
1.1 การติดตั้ง Linux server
คำแนะนำการติดตั้ง
- ในขั้นตอนที่ติดตั้งจากแผ่นซีดี ให้เลือก Package selection เป็น Software Development
- ในขั้นตอนที่ติดตั้งจากแผ่นซีดีครบแล้ว เมื่อรีบูตกลับมาให้ปิด SeLinux โดยเปลี่ยนจาก enforcing เป็น disabled
คำแนะนำการใช้งาน
- การคอนฟิกระบบจะง่ายขึ้น ให้ใช้วิธีการ copy และ paste คำสั่งหรือข้อความจากเอกสารที่กำลังอ่านอยู่นี้
หากภายหลังการติดตั้งได้รับหน้าจอเป็น text mode ให้เปลี่ยนเป็นกราฟฟิคโหมด ด้วยคำสั่ง startx - เปิดวินโดวชื่อ terminal เพื่อใช้ในการปรับแต่งและรันคำสั่ง ดังนี้ คลิก Application, Accessories, Terminal
- โปรแกรม editor ที่ใช้ในการแก้ไขค่าคือ gedit เป็น full screen editor ใช้เมาส์คลิกวางตำแหน่ง cursor ได้
จบด้วยคลิกปุ่ม Save และคลิก X เพื่อปิดโปรแกรม
1.1.1 การปรับแต่งระบบลินุกซ์
(ดัดแปลงจาก การปรับแต่งระบบลินุกซ์หลังการติดตั้ง (28-9-2550) วิภัทร ศรุติพรหม http://rd.cc.psu.ac.th/content/view/14/46/ )
1. ตรวจสอบการ์ดแลนพร้อมใช้งานด้วยคำสั่ง
ifconfig -a
ผลลัพธ์
[root@dhcp160 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:60:97:A5:38:6F
inet addr:192.168.2.220 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: 2001:3c8:9009:300:260:97ff:fea5:386f/64 Scope:Global
inet6 addr: fe80::260:97ff:fea5:386f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:126 errors:0 dropped:0 overruns:0 frame:0
TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9430 (9.2 KiB) TX bytes:8450 (8.2 KiB)
Interrupt:9 Base address:0x2080
eth1 Link encap:Ethernet HWaddr 00:01:03:18:BA:59
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:431699 errors:0 dropped:0 overruns:520 frame:0
TX packets:858 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:32878596 (31.3 MiB) TX bytes:88551 (86.4 KiB)
Interrupt:5
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:34660 errors:0 dropped:0 overruns:0 frame:0
TX packets:34660 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9917351 (9.4 MiB) TX bytes:9917351 (9.4 MiB)
2. หากต้องการเปลี่ยนรหัสผ่านของ root ทำด้วยคำสั่ง
passwd
ผลลัพธ์
[root@dhcp160 ~]# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
3. ยกเลิกการตั้งค่า update อัตโนมัติ ด้วยคำสั่งดังนี้คือ
service yum-updatesd stop
chkconfig yum-updatesd off
ผลลัพธ์
[root@dhcp160 ~]# service yum-updatesd stop
|
4. ตั้งเวลาให้ตรงกับสากลด้วยคำสั่ง /usr/sbin/ntpdate -u <ชื่อเซิร์ฟเวอร์>
โดยที่
pool.ntp.org เป็น ntp server ที่เป็นสากลโดยตรง
time.psu.ac.th เป็น ntp server ภายใน ม.อ.
ใช้คำสั่ง
/usr/sbin/ntpdate -u pool.ntp.org
ผลลัพธ์
[root@dhcp160 ~]# /usr/sbin/ntpdate -u pool.ntp.org
|
ต้องการให้ทุกครั้งที่บูทเครื่องมีการตั้งเวลาใหม่ ให้แก้ไขแฟ้ม /etc/rc.local ใช้คำสั่ง
gedit /etc/rc.local
เพิ่มบรรทัดข้อความว่า
/usr/sbin/ntpdate -u pool.ntp.org
บันทึกและปิดหน้าต่าง gedit
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/rc.local |
#!/bin/sh
|
ตั้งเวลาให้ตรงกับสากลทุกวัน ให้สร้างแฟ้มข้อมูลชื่อ /etc/cron.daily/ntp.cron ใช้คำสั่ง
gedit /etc/cron.daily/ntp.cron
มีข้อมูลดังนี้
#!/bin/sh
/usr/sbin/ntpdate -u pool.ntp.org
และเปลี่ยนโหมดของแฟ้มเป็น execute ด้วยคำสั่ง
chmod +x /etc/cron.daily/ntp.cron
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/cron.daily/ntp.cron |
#!/bin/sh
|
[root@dhcp160 ~]# chmod +x /etc/cron.daily/ntp.cron
|
5. เกี่ยวกับ SeLinux อาจทำให้การใช้งานบางอย่างยากขึ้น ให้เปลี่ยนจาก enforcing เป็น disabled โดยแก้ไขแฟ้ม /etc/selinux/config ใช้คำสั่ง
gedit /etc/selinux/config
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/selinux/config |
# This file controls the state of SELinux on the system.
|
1.1.2 การ update packages linux fedora core 6 ให้ทันสมัย
(ดัดแปลงจาก การ update packages ด้วยโปรแกรม Yum สำหรับมหาวิทยาลัยสงขลานครินทร์ (01-03-2550)
วิภัทร ศรุตพรหม http://rd.cc.psu.ac.th/content/view/52/46/)
กรณีที่เครื่องอยู่ในมหาวิทยาลัยสงขลานครินทร์
แก้ไขให้ชี้ update server มาอยู่ที่ repository server ที่ตั้งอยู่ภายในมหาวิทยาลัย ด้วยวิธีการคือ
ลบข้อมูลเดิมใน cache ทิ้งก่อนด้วยคำสั่ง
rm -rf /var/cache/yum/*
สำรองต้นฉบับ yum.repos.d เก็บไว้ก่อน เผื่อใช้ในอนาคต
cp -r /etc/yum.repos.d/ /etc/yum.repos.d.save
ลบแฟ้มใน directory /etc/yum.repos.d ทิ้งทั้งหมด
เพราะต้นฉบับ yum ที่ติดตั้งมีข้อมูลระบุให้ชี้ไปที่ server ต่างประเทศ ด้วยคำสั่ง
rm -f /etc/yum.repos.d/*
แล้วสร้างแฟ้ม 3 แฟ้มขึ้นมาใหม่ โดยระบุ repository server เป็น ftp.psu.ac.th
สร้างแฟ้ม /etc/yum.repos.d/psu-fedora.repo ให้มีข้อมูลดังนี้
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=ftp://ftp.psu.ac.th/pub/yum/fedora/core/6/base
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
สร้างแฟ้ม /etc/yum.repos.d/psu-fedora-extras.repo ให้มีข้อมูลดังนี้
[extras]
name=Fedora Extras $releasever - $basearch
baseurl=ftp://ftp.psu.ac.th/pub/yum/fedora/core/6/extras
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-extras
gpgcheck=1
สร้างแฟ้ม /etc/yum.repos.d/psu-fedora-updates.repo ให้มีข้อมูลดังนี้
[updates]
name=Fedora Updates $releasever - $basearch
baseurl=ftp://ftp.psu.ac.th/pub/yum/fedora/updates/6/i386
enabled=1
gpgcheck=0
ผลลัพธ์
[root@dhcp160 ~]# rm -rf /var/cache/yum/*
|
[root@dhcp160 ~]# gedit /etc/yum.repos.d/psu-fedora.repo |
[base]
|
[root@dhcp160 ~]# gedit /etc/yum.repos.d/psu-fedora-extras.repo |
[extras]
|
[root@dhcp160 ~]# gedit /etc/yum.repos.d/psu-fedora-updates.repo |
[updates]
|
กรณีที่เครื่องตั้งอยู่นอกมหาวิทยาลัยสงขลานครินทร์
ให้เริ่มทำเฉพาะ 2 คำสั่งข้างล่างนี้เลย
สั่งปรับปรุงรายชื่อ package ให้ทันสมัยตามแหล่งข้อมูลต้นทาง
yum check-update
สั่งปรับปรุง/ติดตั้ง package ให้ทันสมัย
yum update
ผลลัพธ์
[root@dhcp160 ~]# yum check-update
|
1.2 การติดตั้งโปรแกรม Apache web server
ชื่อแฟ้มที่เกี่ยวข้องเมื่อติดตั้งเสร็จแล้ว
/var/log/httpd/access.log
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/
1. ติดตั้งโปรแกรม httpd พร้อมคู่มือ ด้วยคำสั่ง
yum install httpd
yum install httpd-manual
yum install mod_ssl
ผลลัพธ์
[root@dhcp160 ~]# yum install httpd
Package Arch Version Repository Size
...
|
2. แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
chkconfig httpd on
ผลลัพธ์
[root@dhcp160 ~]# chkconfig httpd on
|
3. สั่งให้ทำงานด้วยคำสั่งว่า
service httpd start
ผลลัพธ์
[root@dhcp160 ~]# service httpd start
|
1.3 การติดตั้งโปรแกรม Freeradius
ชื่อแฟ้มที่เกี่ยวข้องเมื่อติดตั้งเสร็จแล้ว
/var/log/radius/radius.log
/etc/raddb/radiusd.conf
/etc/raddb/clients.conf
1. ติดตั้งโปรแกรม freeradius ด้วยคำสั่ง
yum install freeradius
แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
chkconfig radiusd on
สั่งให้ทำงานด้วยคำสั่งว่า
service radiusd start
ผลล้ัพธ์
[root@dhcp160 ~]# yum install freeradius
Package Arch Version Repository Size
|
1.4 ทดสอบ authentication โดยใช้ username/password ของ Unix
1. (หากยังไม่มี) ให้เตรียม username ที่จะใช้ทดสอบชื่อ chilli มีรหัสผ่านเป็น abcd1234 ด้วยคำสั่งดังนี้
adduser chilli
passwd chilli
ผลลัพธ์
[root@dhcp160 ~]# adduser chilli
|
2. เมื่อให้ radiusd ทำงานแล้ว เริ่มขั้นตอนทดสอบระบบโดยป้อนตัวอย่างคำสั่งดังนี้
radtest chilli abcd1234 localhost 0 testing123
จะมีการแจ้งว่า Access-Reject
เป็นสาเหตุเนื่องจากไม่มีสิทธิในการอ่านแฟ้ม /etc/shadow ของระบบ
ผลลัพธ์
[root@dhcp160 ~]# radtest chilli abcd1234 localhost 0 testing123
|
หมายเหตุ คำว่า localhost คือ ชื่อโดเมนของไอพีแอดเดรส 127.0.0.1 ก็คือ ตัวเครื่องเซิร์ฟเวอร์เอง
ซึ่งต้องมีระบุไว้ในแฟ้ม /etc/hosts ใช้คำสั่งดูข้อมูลข้างในแฟ้มดังนี้
cat /etc/hosts
[root@dhcp160 ~]# cat /etc/hosts
|
3. แก้ไขให้อ่านแฟ้ม /etc/shadow ได้ โดยแก้ไขแฟ้ม /etc/raddb/radiusd.conf
3.1 ให้ทำการสำรองแฟ้มต้นฉบับเก็บไว้ก่อน ด้วยคำสั่ง
cp /etc/raddb/radiusd.conf /etc/raddb/radiusd.conf.save
ผลลัพธ์
[root@dhcp160 ~]# cp /etc/raddb/radiusd.conf /etc/raddb/radiusd.conf.save
|
3.2 แก้ไขแฟ้ม /etc/raddb/radiusd.conf เพื่อทำการ comment ยกเลิกบรรทัดข้อความจากเดิม
user = radiusd
group = radiusd
ให้เป็น
#user = radiusd
#group = radiusd
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/raddb/radiusd.conf |
Line 114
|
3.3 เสร็จแล้วให้ restart ระบบ radiusd ใหม่ด้วยคำสั่ง
service radiusd restart
ผลลัพธ์
[root@dhcp160 ~]# service radiusd restart
|
3.4 ต่อไปลองป้อนตัวอย่างคำสั่งเดิมเพื่อทดสอบดังนี้
radtest chilli abcd1234 localhost 0 testing123
จะมีการแจ้งว่า Access-Accept ถูกต้องตามต้องการ
ผลลัพธ์
[root@dhcp160 ~]# radtest chilli abcd1234 localhost 0 testing123
|
3.5 ในการนำไปใช้งานจริง ขอให้แก้ไข secret ใหม่ ตัวอย่างเช่น ตั้งใหม่เป็น mytestkey
ให้แก้ไขแฟ้ม /etc/raddb/clients.conf ของโปรแกรม freeradius ให้มีค่าดังตัวอย่างนี้
client 127.0.0.1 {
...
บรรทัดที่ 35 เดิม secret = testing123
แก้ไขเป็น secret = mytestkey
...
}
เสร็จแล้วให้ restart ระบบ radiusd ใหม่ด้วยคำสั่ง
service radiusd restart
ทดสอบ radius อีกครั้งด้วย secret อันใหม่ ดังนี้
radtest chilli abcd1234 localhost 0 mytestkey
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/raddb/clients.conf |
Line 35
|
[root@dhcp160 ~]# service radiusd restart
|
1.5 การติดตั้งโปรแกรม Chillispot แบบ Web login
ชื่อแฟ้มที่เกี่ยวข้องเมื่อติดตั้งเสร็จแล้ว
/etc/chilli.conf
/var/www/cgi-bin/hotspotlogin.cgi
/var/www/html/welcome.html
/etc/firewall.iptables
-------------------------------------
โปรดตรวจสอบ
เนื่องจาก chillispot จะเป็น dhcp server เอง
กรณีที่นำเครื่องเดิมมาติดตั้ง chillispot เพิ่ม จะต้องเช็คว่าในเครื่อง
ไม่มี dhcp server รันอยู่ ถ้ามีอยู่ก็หยุดดังนี้
service dhcpd stop
chkconfig dhcpd off
-------------------------------------
1. เราต้องทำให้เครื่องนี้ทำหน้าที่เป็นเราเตอร์เพื่อ forward packet
ทุกครั้งที่รีบูตเครื่อง
ให้แก้ไขแฟ้ม /etc/sysctl.conf ให้มีค่าดังตัวอย่างนี้
บรรทัดที่ 7 เดิม net.ipv4.ip_forward = 0
แก้ไขเป็น net.ipv4.ip_forward = 1
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/sysctl.conf |
# Controls IP packet forwarding
|
2. เพื่อให้มีผลทันทีในขณะนี้ ให้เครื่อง forward packet
รันคำสั่ง echo "1" > /proc/sys/net/ipv4/ip_forward
้
ผลลัพธ์
[root@dhcp160 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
|
3. เพื่อให้การ์ดแลน eth1 ไม่รับ dhcp ตอนรีบูตเครื่อง
ให้แก้ไขแฟ้ม /etc/sysconfig/network-scripts/ifcfg-eth1 ให้มีค่าดังตัวอย่างนี้
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/sysconfig/network-scripts/ifcfg-eth1 |
# 3Com Corporation 3c905C-TX/TX-M [Tornado]
|
4. ดาวน์โหลดโปรแกรม chillispot จากเครื่องเอฟทีพีของม.อ. ด้วยคำสั่ง wget ดังนี้
wget ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpm
ผลลัพธ์
[root@dhcp160 ~]# wget ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpm
|
หรือดาวน์โหลดจากเว็บต้นฉบับที่ http://www.chillispot.info/download.html
http://www.chillispot.info/download.html
|
5. แล้วติดตั้ง package rpm ด้วยคำสั่งดังนี้
rpm -Uvh chillispot-1.1.0.i386.rpm
ผลลัพธ์
[root@dhcp160 ~]# rpm -Uvh chillispot-1.1.0.i386.rpm
|
6. แก้ไขแฟ้ม /etc/chilli.conf ให้มีค่าดังตัวอย่างนี้
[หัวข้อ TUN parameters]
บรรทัดที่ 38 เดิม net 192.168.182.0/24
แก้ไขเป็น net 10.0.1.0/24
[หัวข้อ Radius parameters]
บรรทัดที่ 113 เดิม radiusserver1 rad01.chillispot.org
แก้ไขเป็น radiusserver1 127.0.0.1
บรรทัดที่ 120 เดิม radiusserver2 rad02.chillispot.org
แก้ไขเป็น radiusserver2 127.0.0.1
บรรทัดที่ 139 เดิม #radiussecret testing123
แก้ไขเป็น radiussecret mytestkey
(ตรงกับ radius secret ในแฟ้ม /etc/raddb/clients.conf ของ freeradius)
[หัวข้อ Universal access method (UAM) parameters]
บรรทัดที่ 237 เดิม #uamserver https://radius.chillispot.org/hotspotlogin
แก้ไขเป็น uamserver https://10.0.1.1/cgi-bin/hotspotlogin.cgi
บรรทัดที่ 244 เดิม #uamhomepage http://192.168.182.1/welcome.html
แก้ไขเป็น uamhomepage http://10.0.1.1/welcome.html
บรรทัดที่ 248 เดิม #uamsecret ht2eb8ej6s4et3rg1ulp
แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น uamsecret ht2eb8ej6s4et3rg1ulp
(หรือแก้ไขเป็นรหัสใหม่ แต่ต้องเหมือนกับในแฟ้ม hotspotlogin.cgi ในข้อถัดไป)
บรรทัดที่ 253 เดิม #uamlisten 192.168.182.1
แก้ไขเป็น uamlisten 10.0.1.1
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/chilli.conf |
Line 38
|
7. ให้คัดลอกแฟ้ม firewall.iptables ด้วยคำสั่ง
cp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc
ให้คัดลอกแฟ้ม hotspotlogin.cgi ด้วยคำสั่ง
cp /usr/share/doc/chillispot-1.1.0/hotspotlogin.cgi /var/www/cgi-bin/
ผลลัพธ์
[root@dhcp160 ~]# cp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc
|
8. แก้ไขแฟ้ม /var/www/cgi-bin/hotspotlogin.cgi ให้มีค่าดังตัวอย่างนี้
บรรทัดที่ 27 เดิม #$uamsecret = "ht2eb8ej6s4et3rg1ulp";
แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $uamsecret = "ht2eb8ej6s4et3rg1ulp";
บรรทัดที่ 31 เดิม #$userpassword=1;
แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $userpassword=1;
ผลลัพธ์
[root@dhcp160 ~]# gedit /var/www/cgi-bin/hotspotlogin.cgi |
Line 27
|
9. สร้างแฟ้ม /var/www/html/welcome.html ให้มีค่าดังตัวอย่างนี้
ผลลัพธ์
[root@dhcp160 ~]# gedit /var/www/html/welcome.html |
You are connected to an authentication and restricted network access point.
Enjoy.
|
10. ถ้าต้องการรูป chillispot.png ให้ดาวน์โหลดได้ที่นี่
wget http://mamboeasy.psu.ac.th/~wiboon.w/images/stories/chillispot/chillispot.png
แล้วคัดลอกแฟ้มนี้ไปไว้ใน /var/www/html ด้วยคำสั่งดังนี้
cp chillispot.png /var/www/html
ผลลัพธ์
[root@dhcp160 ~]# wget http://mamboeasy.psu.ac.th/~wiboon.w/images/stories/
|
11. ก่อนที่จะสตาร์ท chillispot ให้ไปทำการคอนฟิกแอคเซสพอยน์/ไวร์เลสเราเตอร์ ให้พร้อมใช้งาน โดยทำตามเอกสารของแต่ละรุ่น
ความต้องการคือ ให้ทำ factory defaults แล้วกำหนดให้มันจะต้องรับ dhcp ip จาก chillispot และตัวมันเองจะต้องไม่ทำหน้าที่แจก ip
รวมทั้งควรแก้ไข ESSID ตั้งชื่อใหม่ด้วย เพื่อให้รู้ว่าตัวไหนของเรา ดูตัวอย่างบางรุ่นในเว็บนี้ได้
หมายเหตุ Linksys WRT54GL ที่ผมนำมา upgrade firmware เป็น DD-WRT แล้ว
ผมพบว่า ต้อง Enable DHCP server ให้กับ port LAN 1-4 ของเราเตอร์ด้วย
มันยังคงแจกไอพีให้กับ เครื่องที่ต่อ port LAN 1-4 แต่มันไม่แจกไอพีให้ไวร์เลส
12. เปิดใช้งาน iptables เพื่อทำเป็น firewall ด้วยคำสั่ง
sh /etc/firewall.iptables
ผลลัพธ์
[root@dhcp160 ~]# sh /etc/firewall.iptables
|
13. สั่งให้ chillispot ทำงานด้วยคำสั่ง
service chilli start
ผลลัพธ์
[root@dhcp160 ~]# service chilli start
|
14. ตรวจสอบการทำงานของ chiilispot ว่าสร้างอินเทอร์เฟส tun0 พร้อมใช้งานและมีเลข IP เป็น 10.0.1.1
โดยที่อินเทอร์เฟส eth1 จะไม่มี IP ใด ๆ ส่วน eth0 ก็เป็นเลข IP ที่รับจากเน็ตที่เซิร์ฟเวอร์นี้ต่ออยู่เหมือนเดิม
ด้วยคำสั่ง ifconfig ดังตัวอย่าง
ผลลัพธ์
[root@dhcp160 ~]# ifconfig
|
15. ให้จดเลข Mac address ของโน้ตบุ๊คที่จะนำมาทดสอบการเชื่อมต่อกับ chillispot
และรันคำสั่งตรวจสอบว่าโน้ตบุ๊คได้ IP Address จาก chillispot ดังนี้
tail -f /var/log/messages
จะได้ผลลัพธ์แสดงคล้าย ๆ ตังอย่างข้างล่างนี้
ผลลัพธ์
[root@dhcp160 ~]# tail -f /var/log/messages
This email address is being protected from spam bots, you need Javascript enabled to view it
>
|
โดยที่ 10.0.1.2 จะเป็น IP ของแอคเซสพอยน์ และ 10.0.1.3 จะเป็น IP ของโน้ตบุ๊คตัวแรกที่เชื่อมต่อ
16. เริ่มขั้นตอนทดสอบระบบที่เครื่องโน้ตบุคดังนี้
เริ่มทำการคอนเนค W-IFI
คลิกที่นี่เพื่อดูรูป
ที่บราวเซอร์ให้ยกเลิกการเซ็ตพร็อกซี่เซิร์ฟเวอร์
ที่บราวเซอร์ที่มีการเซ็ตหน้าโฮมเพจไว้ จะถูก redirect ไปยัง welcome.html ทันทีเมื่อเรียกโปรแกรม คลิกที่นี่เพื่อดูรูป
คลิกที่ข้อความ Click here to login แล้วจะมีหน้าต่างเพื่อให้ใส่ username และ password
คลิกที่นี่เพื่อดูรูป
เมื่อ login เข้าได้สำเร็จจะมีหน้าต่าง logged in พร้อมเวลาเริ่มนับ และเอาไว้ใช้สำหรับ logout
คลิกที่นี่เพื่อดูรูป
17. แก้ไขแฟ้ม /etc/rc.local เพื่อให้ firewall.iptables และ chilli มีผลทำงานด้วยเมื่อรีบูตเครื่องใหม่
เพิ่มบรรทัด 2 บรรทัดนี้ต่อท้าย
sh /etc/firewall.iptables
service chilli start
ผลลัพธ์
[root@dhcp160 ~]# gedit /etc/rc.local |
#!/bin/sh
|
18. รีบูตเครื่องเซิร์ฟเวอร์ 1 ครั้ง
19. ถึงขั้นตอนนี้เป็นอันเปิดใช้ระบบ chillispot แบบ web login ได้แล้ว