คลังเก็บผู้เขียน: kilvalrikan

หยุด Anti Adblock ด้วย Anti Adblock Killer

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

เว็บไซต์ทั่วไปสมัยนี้ที่มี Content ต่างๆให้เราได้รับชมหรืออ่าน มักจะมีโฆษณาเป็นเรื่องปกติ ซึ่งอันนี้ผมไม่ค่อยจะ Block ซักเท่าไหร่ ถือเป็นรายได้ให้กับทางเว็บไซต์ แต่ก็มีเว็บบางเว็บ ที่มักแฝงโฆษณาบังคับกด หรือ Popup น่ารำคาญมากๆให้กับเรา ถึงแม้เราจะลง Ad-block มันก็จะมี Script ป้องกัน Ad-block เราจะอีก แต่ไม่ต้องห่วงครับ เรามีทางแก้ไขเสมอ

หน้าตาของ Script ที่รู้ว่าเรากำลังใช้โปรแกรม Ad-block อยู่

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

บทความนี้ผมจะแนะนำกับ Browser ที่สามารถลง Chrome Extension ได้นะครับ ส่วนมากคงใช้ Google Chrome กันแน่นอน แต่ถ้า Browser อื่นๆวิธีการคงไม่ต่างกันครับ ใช้อ้างอิงได้ เริ่มแรกครับ เราจะต้องมี Extension 2 ตัวสำคัญเลย ตามนี้ครับ

  1. Adblock Plus แน่นอนครับ ต้องมีไว้เพื่อ Block Ad แต่อาจจะต้องลง Filter เสริมเล็กน้อย
  2. Tampermonkey ตัวนี้สำหรับลง Script ให้ตัวจัดการ Anti Ad-block ทำงานครับ

เมื่อมีทั้งสอง Extension แล้วเรามาเริ่มการทำกันเลยครับ เริ่มแรกเลยให้เข้าเว็บไซต์ https://reek.github.io/anti-adblock-killer/ จะเจอหน้าจอแดงๆ แบบนี้

ให้เราเลื่อนๆลงมานิดนึง จะเห็นข้อความแนะนำ Extension ที่ใช้กับ Script กัน Anti Ad-block ครับซึ่งผมแนะนำ Tampermonkey ครับ ส่วนใครใช้ Greasemonkey ก็ไม่เป็นไรครับใช้ได้เหมือนกัน

ให้เรากด Install เลยครับ รอแปปนึง จะมีหน้าจอ Script ขึ้นมาให้เรากดติดตั้งอีกทีตามรูปด้านล่างครับ

เมื่อกด Install เป็นอันเสร็จสิ้นการติดตั้ง Script ต่อมา ก็ให้เลื่อนหน้าแดงๆ ลงมาอีกนิดนึงจะเป็น Step ต่อไปครับ โดยจะแสดง Extension Ad-block ที่รองรับ อันนี้ผมแนะนำ Adblock Plus ครับ

ให้เรากด Subscribe ครับ แล้วจะมีหน้าต่างใหม่แสดงข้อความ ให้เพิ่ม Filter ใหม่ใน Adblock Plus ขึ้นมา

ให้เรากด + Add ครับ แค่นี้ก็เรียบร้อยครับตัว Ad-block จะ Update Filter ให้เองเลย เป็นอันครบถ้วนกระบวนการครับ

ต่อไปให้เราลองเข้าเว็บที่เราโดนหน้าจอกัน Ad-block อีกครั้งคราวนี้จะมีหน้าต่างของ Extension Tampermonkey ขึ้นมา

หน้าต่างนี้จะบอกว่า Script เราจะทำงาน เราจะสามารถเลือกจะให้ทำงานครั้งเดียว หรือจะให้ทำงานได้ตลอดก็ได้ครับ บางคนอาจจะซีเรียสเรื่องนี้ ก็สามารถเลือกให้ Allow เป็นบาง Domain ไป หรือถ้าจะไม่ให้เตือนอีก และให้ทำงานตลอดเลือก Always allow all domains เลยครับ

เท่านี้เราก็สามารถจัดการ Ad น่ารำคาญและ Ad ไม่พึงประสงค์ได้แล้วล่ะครับ

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

ห้อง Server วุ่นวาย Part 2

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

คราวนี้ผมว่าจะมาแบ่งปันเรื่องราวและความรู้ในแต่ละส่วนตามหัวข้อที่ได้เขียนไว้ใน part 1 ครับ เริ่มจากงานก่อสร้างเลยดีกว่า

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

บอกเลยผมก็ไม่มีความรู้เลยเรื่องเนี่ย สุดท้ายผมใช้วิธีเอาข้อมูลเก่าๆ ที่หลายๆเจ้าเสนอมา แล้วก้อบวาง สุดท้ายได้แบบห้องตามที่ต้องการ โดยมี สามห้อง แบ่งเป็นห้องเก็บของ ห้อง noc และห้อง server room โดยประตูทางเข้าจะต้องเข้ามาที่ห้อง noc ก่อน จากนั้นจึงจะเข้าห้องเก็บของ และห้อง Server ได้ โดยที่มีระบบ Access control ชั้น โดยติดที่หน้างห้อง noc และห้อง Server อย่างละตัว

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

เริ่มก่อสร้าง โดยทีมงานก่อสร้างที่คุณคนออกแบบ (เชียน Cad เฉยๆ) ได้แนะนำบริษัทรับเหมาที่รู้จักการจัดการ ซึ่งดูแล้วเป็นมืออาชีพมาก ทำงานรวดเร็ว และงานออกมาดีเป็นที่พอใจเลยทีเดียวครับ

IMG_20151120_164032

ภาพห้องบางส่วน

งานแอร์ หลังจากงานก่อสร้างกำลังลุยกั้นห้อง ส่วนของการออกแบบในตอนแรกมันก็มีเรื่องแอร์เข้ามาเกี่ยวข้อง โดยแอร์ที่มาติดก็ได้รับคำแนะนำจาก คนเดิม แนะนำบริษัท ไดกิ้น เข้ามาคุยเรื่องแอร์ โดยเซลนั้นไม่พูดถึง precision แอร์เลย (ไม่มีมั้ง) เลยเสนอแอร์แบบ vrv ใหญ่ๆ ซึ่งเขาบอกว่าติดมาหลายที่ไม่มีปัญหาเรื่องความชื้นเลย ซึ่งผมก็เชื่อคนง่ายซะด้วย เลยเออออ และฝ่ายไดกิ้นก็ออกแบบแอร์ให้ โดยเป็น vrv ขนาด 98000 btu 2 ตัวเปิดสลับกัน ออกแบบให้ลมเป่าเข้าที่หน้าตู้ Rack เลย ซึ่งผมดูแบบแล้วก็ค่อนข้าง ok และเห็นว่าบริษัทใหญ่น่าจะโอเคนะ หลังจากตกลง จ่ายเงินกันเรียบร้อย ก็เริ่มเข้ามาติดแอร์ในระหว่างที่ช่างก่อสร้างก็ทำกันไป ดูแล้วก็ราบรื่นนะครับ ปัญหาไม่มี ไอ่ตัวผมก็โอเค สบายใจสุดๆ

ต้องหาคนเอา forklift มาแบกขึ้นให้ ลุ้นมาก กลัวร่วง

ต้องหาคนเอา forklift มาแบกขึ้นให้ ลุ้นมาก กลัวร่วง

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

IMG_20151119_134046

เหม็นโคตรๆ ไอ่ตอนฉีดโฟมเนี่ย

หลังจาก จบงานก่อสร้าง ไม่สิเกือบจบ ก็มาเริ่มที่งานไฟฟ้าต่อ ซึ่งส่วนนี้สำคัญมากๆ และการออกแบบงานไฟฟ้ายังไม่มี จะมีแค่ Spec ที่บริษัทต่างๆเสนอมา คือไฟเมน 250 Amp แต่เข้าส่วนอื่นๆนั้นไม่รู้เรื่องเลย ผมเลยเสนอให้หาผู้เชี่ยวชาญตรงส่วนนี้มาจัดการ ซึ่งคนเดิมของผม ก็จัดหามาให้ เพื่อนเขาครับ เป็นวิศวกรไฟฟ้า มีใบ กว ครบ ประวัติการทำงานโหดสัด และเป็นหนึ่งในผู้ดูแลงานรถไฟฟ้าสายสีม่วง เหยดเขร้ หลังจากคุยเรื่องออกแบบกันเสร็จเขาก็ไปเขียนแบบมาให้ อย่างงามเลย เพราะเขาเขียนมือล้วนๆ no cad โหดสุดๆ

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

IMG_20151107_100902

ตู้ไฟ รอนานโคตรๆกว่าจะได้มา

ตัดมาที่เรื่อง gen ก่อนดีก่า เนื่องจากแบบที่ออกแบบมา ห้องที่เป็นแบบ tier 2 ซะด้วย โดยมีแหล่งจ่ายไฟ 2 source ที่แรกก็ไฟจากโรงงานจำนวน 3phase 250A ส่วนแหล่งจากไฟที่ 2 ก็จะเป็น gen ที่ทางท่านวิศวะ ออกแบบให้ gen ต้องมีขนาด 145 KVA ซึ่งเขาแนะนำมา 2 เจ้า ของ ยุโรปล้วนๆ ราคาแพงสัด สุดท้ายผมไปคุยกับผู้รับเหมา เขาก็ทำมาเยอะ เลยแนะนำให้ผมอีกเจ้าซึ่งดูแล้วราคาคุยกันรู้เรื่องเลย ผมเลยจัดทันทีไม่รีรอ

IMG_20151118_110939

ภูมิใจมาก ไปเลือกมากับมือ

ต่อไปก็ในส่วนของ UPS บริษัทก่อนๆที่เสนอผมมา มีทั้งของ HITACHI EMERSON แต่ผมเลือก leonics เพราะเป็นของไทย ซัพพอร์ทคนไทย ติดต่อง่ายสะดวก และคุณภาพไม่ได้ด้อยกว่าเจ้าอื่นๆเลย แถมราคาน่าคบมากที่สุด เลยจัดมา 2 ตัว ขนาด 20 KVA ก็น่าจะเหลือกับทั้งห้องนี้และครับ

20151228_101556

ใช้มาเยอะ ยี่ห้อนี้ไม่เคยผิดหวัง

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

20151228_101548

ซอกหลืบเล็กๆไว้หลบนอน

เริ่มต้นเลยหลังจากระบบไฟเสร็จ เปิดแอร์ในห้อง noc พังไป 1 ตัว ส่วนในห้อง Server ปกติครับ

แต่ที่ไม่ปกติคือความชื้นขึ้นโหด มาก ถึง 70% ซึ่งห้องแบบนี้มันไม่ควรเลยครับ ในตอนแรกนั้นช่างแอร์เขามาแก้ในตัว Control ลดอุณหภูมิก็แล้ว ตั้งเวลานู่นนี้แล้วก็ไม่เกิดผลอะไรครับ เหมือนเดิมตลอดเวลา

20160106_151650

แอ้ก เครื่องจะเน่าไหมเนี่ย

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

20160106_151604

ฮีทเตอร์ เห็นเล็กๆแบบนี้ กินไฟมากกว่าแอร์

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

DSC_0115

ปูเสื่อนอนแปป

หลังจากปัญหาแอร์หมดไป ห้องนี้ก็เรียกว่าสมบูรณ์แล้วล่ะครับ ก็ต้องตบแต่งกันต่างๆนานา จนมันใช้งานได้ 100% ซึ่งหลังจากนี้ก็ต้องลุยกับการจัดการระบบ Network ภายในโรงงานต่อ ซึ่ง backbone ตรงนี้จบแล้วนั่นเอง

สวัสดีครับ

20160105_155412

ทีวีต้องไปแบกกันเอง กลัวไม่ถูกใจ 555

20160121_125712

นั่งสบายๆ

ห้อง Server วุ่นวาย Part 1

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

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

มาพูดถึงเรื่องห้องกันก่อน อะไรบ้างที่ต้องมีในห้อง Server ก่อนที่จะทำห้องนีเนี่ย Server บริษัทเราก็อยู่มันในห้องแอร์ ธรรมดา ก็อยู่ได้นานนะ แต่ HDD พังบ่อยเกิ้น น่าจะเรื่องอุณหภูมิที่สูงไปแอร์สู้ไม่ไหว กับเรื่องความชื้นมหาศาลที่ช่วยกันทำให้เครื่องมีอายุไม่ยืนยาว แต่หลังจากได้คุย Concept กันบริษัทมืออาชีพด้านทำห้องจริงๆ มันต้องมีองประกอบหลายอย่างมาก ตามนี้เลย

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

Bloomberg-5

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

precision_ac_clip_image001

3. ระบบสำรองไฟ เอ้ยนี่ก็สำคัญ เครื่อง Server มันต้องทำงานตลอดเวลาเป็นเรื่องปกติ แต่การไฟฟ้าประเทศไทย ไม่ใช่ดิ ทั่วโลกเลย มันชอบมีการขัดข้องกัน ถึงไม่บ่อย แต่ถ้าไฟดับมาครั้งนึง ไหนจะเสียหายด้านการผลิตอาจจะหยุดชั่วคราว ซ้ำร้าย HDD แสนบอบบางจะพังเอา อันนี้เจอกับตัวเอง HDD ไม่พัง แต่ Windows เดี้ยงไป ต้องนั่งลงใหม่ (โชคดีสุดๆ) แถม ระบบสำรองไฟเนี่ย ต้องมีสำรองกันสองต่อ โดยต่อแรกจะเป็นตัวสำรองไฟที่เราเรียกว่า UPS ปกติที่เราใช้กันมันตัวเล็กๆ แต่สำหรับห้อง Server เราจะใช้ตัวใหญ่ๆ สำรองมันทั้งห้อง และต้องมีระบบไฟฟ้าสำรองอีกชุด คือถ้าเมื่อใดที่ไฟฟ้าจากการไฟฟ้ามันดับ UPS เราก็มีข้อจำกัดด้านเวลาที่สำรองเอาอย่างเก่งเลยไม่น่าเดิน ชั่วโมง เราเลยต้องจัดหาเครื่องกำเนิดไฟฟ้า หรือเรียกง่ายๆว่า Gen ใครไปงานวัดพวกม้าหมุน ชิงช้าสวรรค์ มักจะใช้ Gen จ่ายไฟ เพราะถ้าใช้ไฟวัด ถ้าวัดหม้อไฟไม่ใหญ่จริง ไฟดับทั้งวัดแน่นอน ซึ่งระบบการสำรองไฟแบบนี้ เห็นเขาเรียกกันว่า Tier 2

Product-Image_UPS_NT-260-400kVA_V1.jpg

4. ระบบไฟฟ้า อันนี้ก็มีความสำคัญนะ การออกแบบระบบไฟฟ้าที่ดี ทำให้สามารถช่วยชีวิตเครื่องใช้ไฟฟ้าภายในห้อง และชีวิตเรา (ไม่โดนไฟดูด) อันนี้ก็แล้วแต่ขนาดห้องเรา ต้องรองรับโหลดมากขนาดไหน อันนี้เขาคำนวนให้ผมไม่รู้

pcelemac_com_0002_1_1_img_5405

5. ห้องควบคุมและระบบควบคุม เอ้ออันนี้ก็ต้องมีนะ เขาเรียกว่าห้อง NOC หมาเฝ้า Server ซึ่งปกติจะอยู่หน้าห้อง Server และมีจออะไรหลายๆจอ รวมทั้งโต๊ะทำงาน เก้าอี้ โซฟา ตู้เย็น และอื่นๆ

138_lg_2

6. ระบบ Network ขึ้นชื่อว่าห้อง Server ระบบ Network ก็เป็นอีกส่วนที่ต้องออกแบบกันให้ดี เพราะครั้นทำห้องเสร็จแล้วมาแก้ทีหลัง คิดว่าไม่น่าจะโอเคซักเท่าไหร่

backboneswitch

7. ระบบฉุกเฉิน ระบบนี้ถ้าไม่คิดมากก็คงซื้อแค่ถังดับเพลิงมาแขวนไว้ สองสามถังอ่ะนะ แต่บังเอิญถ้าห้องนี้มีข้อมูลสำคัญมากๆ ปกติต้องสำคัญอยู่และ ไม่งั้นคงไม่ทำห้องขนาดนี้ ทำให้ต้องมีระบบดับเพลิงพิเศษ และก็ต้องอัตโนมัติด้วยนะ ราคาโหดมาก แต่ก็นะเหมือนเจ้านายเราจะไม่ค่อยสนอ่ะ

novec1

พักก่อน เขียนค่อนข้างยาว ไว้มาต่อตอนสองวันพรุ่งนี้ ดีกว่าฮาฟ

 

 

เล่นเกม แอป แอนดรอยด้วย Droid4X

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

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

และโปรแกรมที่พูดถึงก็คือโปรแกรม Droid4X ครับ เป็นโปรแกรมแอนดรอยที่ใช้ระบบเครื่องเสมือนอย่าง VirtualBox มาเป็นแกนในการขับเคลื่อน และโมดิฟาย Driver และ Config ทั้งหมดจนได้แอนดรอยที่เข้าที่เข้าทาง เล่นเกมไม่กระตุก และมีออพชั่นในการเล่นเกมครบครับเลยครับว่าแล้วมาโหลดเจ้า Droid4X กันเลยดีก่า

http://www.droid4x.com/

พอเข้าเว็บแล้วก็โหลดโปรแกรมติดตั้งมาลงได้ทันที แถมใช้ได้ทุก Windows ที่มีอยู่ตอนนี้ตั้งแต่ 7 8 10 ครับ หลังจากลงเสร็จก็สามารถเปิดใช้งานได้ทันที ถ้าใครเคยใช้แอนดรอยอยู่แล้วก็ไม่น่าจะมีปัญหาครับ

ส่วนที่บอกว่า Droid4X มีเครื่องมือช่วยเรื่องการเล่นเกมตามนี้เลยครับ

  1. อัด Video ระหว่างเล่นได้ ไม่ต้องลงอะไรเพิ่มเลยครับ กดรูปกล้องด้านล่างของเมนู ก็สามารถอัพได้ทันทีครับ
    cats
  2. Keyboard Controller อันนี้เจ๋งมากครับ สามารถตั้งค่าปุ่มคีบอร์ดกับจอแอนดรอยได้ทันที ทำให้เล่นเกมแนว Action ได้สบายๆไม่ต้องกดเม้า กิ้กๆๆ ตลอด
    2
  3. สามารถใช้ โทรศัพท์เรา เป็น Joy ได้ด้วย โดยโหลด App ของ Droid4x มาครับ ทำให้เรากดโทรศัพท์แทนได้เลย
    3
  4. บางเกมต้องเขย่าจอ ก็มีปุ่มให้เรากดแล้วเครื่องจะสั่นนิดนึงเหมือนเราเขย่า
  5. ปุ่ม Print Screen ไว้ Capture หน้าจอ
  6. สุดท้ายครับ Fake Location อันนี้สำหรับใช้หลอกตำแหน่งเครื่องครับ สำหรับคนที่เล่น Ingress สายบินน่าจะรู้ดี
    4

จะเห็นว่าเจ้า Droid4X นั้นตอบโจทย์สายเล่นเกมมากกว่า Bluestack ดังนั้นแนะนำให้ลองครับ แล้วแบทโทรศัพท์คุณจะเหลือมากขึ้น

มาบันทึกข้อมูลการฟังเพลงของเราด้วย last.fm

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

last.fm ก่อตั้งเมื่อปี 2002 ในประเทศอังกฤษ โดยเรียกตัวเองเป็นบริการ “Audioscrobbler” โดย last.fm จะสร้างข้อมูล เพลง ตั้งแต่ชื่อเพลง หน้าปก นักร้อง อัลบั้ม โดยข้อมูลที่สร้างพวกนี้ได้มาจากผู้ที่ใช้ last.fm ฟังเพลงจากที่ต่างๆ เช่น สถานีวิทยุออนไลน์ และโปรแกรมเล่นเพลงต่างๆทั้งหลายครับ

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

แถม last.fm ยังเป็นที่ๆรวบรวมแฟนคลับของศิลปินต่างๆทั่วโลกให้สามารถมาคุยกัน แบ่งปันข้อมูล ของศิลปินที่ชอบ และยังมีการจัดอันดับศิลปิน เพลงที่คนเปิดฟังบ่อยๆ chart เพลง นับว่าเป็นบริการที่เหมาะกับผู้รักเสียงเพลงจริงๆครับ ยังไงก็สามารถลองใช้งานกันได้ที่ last.fm ครับ

 

ทำเว็บให้ปลอดภัยด้วย SSL แบบไม่เสียซักบาท

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

SSL นั้นย่อมากจาก Secure Sockets layer เป็น Protocol หนึ่งที่ใช้กันอย่างแพร่หลายในเวลานี้ ประโยชน์ของมันเพื่อเข้ารหัสข้อมูลทั้งหมด ที่ส่งและรับจากเครื่องแม่ และเครื่องลูกครับ ทำไมต้องเข้ารหัส แน่นอนครับว่าทุกวันนี้ หลายๆคนอาจจะเล่นเน็ทตาม Wifi Free ต่างๆซึ่ง Network ของ Wifi ฟรีเหล่านี้เราไม่รู้เลยว่ามีการเก็บข้อมูลระหว่างทางของเราหรือเปล่า หรือไม่อาจจะมีมือดีแอบดักข้อมูลของเราอยู่ก็ได้ครับ หากเราไม่ได้เข้าเว็บที่ผ่านการเข้ารหัส เกิดมีการกระทำที่ว่ามาข้างตนอาจทำให้ข้อมูลของท่านรั่วไหลได้ครับ โดยปกติหากไม่เข้ารหัส ข้อมูลส่วนใหญ่จะถูกส่งเป็น plain text หาถูกดักข้อมูล เขาจะรู้ข้อมูลได้ทันที เช่นรหัสผ่าน ที่เข้าเว็บไซต์ต่างๆ ข้อมูล session ที่อาจจะค้างในเครื่องเพื่อใช้ยืนยันตัวตนกับเว็บไซต์ โดยไม่ต้องออกแรงอะไรเลย แต่ถ้าหากเข้ารหัสแล้วเขาสามารถดักข้อมูลเราไปได้จริง แต่เขาจะไม่สามารถรู้ได้เลยว่ามีข้อมูลอะไรอยู่เพราะมันถูกเข้ารหัสอยู่ ตัวอย่างเช่น เราส่งคำว่า AAAA ไปให้เครื่องแม่ หากไม่เข้ารหัส มันก็จะส่ง AAAA ไปเลย แต่ถ้าผ่านการเข้ารหัส มันจะกลายเป็นตัวหนังสือที่ไม่รู้เรื่องเช่น จาก AAAA อาจจะกลายเป็น xdfsa อะไรแบบนี้ครับ เข้าใจประโยชน์ของมันแล้ว คราวนี้เรามาเริ่มดูกันว่าจะไปหาใช้บริการเจ้าพวกนี้ได้ที่ไหน

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

แบบที่ 1 DomainSSL เป็น SSL ที่เหมาะกับการทำเว็บไซต์ โดยราคาไม่แพงมาก และยืนยันตัวตัวง่ายๆ เพียงแค่เราเป็นเจ้าของโดเมน ก็สามารถยืนยันตัวตนได้แล้วครับ

cats

แบบที่ 2 OrganizationSSL เป็น SSL สำหรับองค์กร โดย SSL ประเภทนี้จะให้ความน่าเชื่อถือมากกว่าแบบแรก เพราะต้องใช้การยืนยันระดับองค์กร โดยผู้ที่จะซื้อต้องมีบริษัท และใช้เอกสารการจดบริษัทเพื่อยืนยันตัวตนครับ ราคานั้นอยู่ในระดับกลางๆ

cats

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

2

นอกจาก 3 ประเภทนี้ยังมี Option ย่อยๆของแต่ละแบบด้วยครับ โดยแบ่งย่อยปรมาณนี้1. แบบ Standard แบบนี้รองรองแค่ชื่อโดเมนเดียวครับ เช่นจด kilvalrikan.com ก็สามารถใช้ได้แค่ชื่อนี้เท่านั้นครับ

2. แบบ Wildcard แบบนี้จะรองรับ Subdomain ด้วย เช่นจด kilvalrikan.com แล้วจะสามารถใช้ได้กับ mail.kilvalrikan.com sql.kilvalrikan.com ได้อีกครับ

3.แบบ UC (Unfield Communications) แบบนี้จะสามารถใช้ได้ หลายโดเมน และหลายซับโดเมนอีกด้วย แต่จะ Limit ให้ไม่เกิน 100 ชื่อครับ

สำหรับที่จัดจำหน่าย SSL เราสามารถซื้อเองจากผู้ให้บริการต่างชาติให้เลย หรือสามารถซื้อจากบริษัท Reseller ในไทย ที่จะให้คำแนะนำประเภท SSL ที่เหมาะสม และวิธีการติดตั้ง ใช้งานครับ อยากรู้ก็ลองค้นหาจากพี่กูเกิ้ลเลยครับ

ส่วนที่ผมจะมาแนะนำวันนี้เราจะมาใช้กันแบบฟรีๆครับ ซึ่งตอนนี้มีบริการแบบฟรีๆที่ผมรู้จักก็แค่เจ้าเดียวมั้ง ส่วนที่กำลังจะเปิดให้ใช้กันในเดือนกันยายน อย่าง let’s encrypt ก็ยังต้องรอ ใครใจร้อนมาใช้วิธีผมดีกว่า

ส่วนใหญ่เราเช่าโอสติ้งกัน น่าจะใช้ Directadmin เป็นหลัก งั้นผมจะสอนวิธีทำง่ายๆจาก directadmin ละกันครับ

เริ่มแรกให้เรา login เข้า directadmin ก่อนครับ จากนั้นให้กดปุ่ม domain administrator

1

หากใครไม่มีปุ่มนี้ลองติดต่อทางผู้ให้บริการว่าเราอยากใช้ SSL ให้เขาเปิดให้ละกันครับ

จากนั้นให้เรากดชื่อโดเมนที่เราจะทำครับ

2

ต่อไปให้เลือกตามภาพและครับ โดย Enable SSL และให้เว็บ ssl กับไม่ ssl อยู่ Folder เดียวกัน

3จากนั้นกด save และลองเข้าเว็บ โดยพิมพ์ https://ชื่อเว็บ ดูครับ หากใช้ได้จะเจอหน้าเตือนว่าการเข้ารหัสไม่ปลอดภัย

4ถ้าได้ถึงตรงนี้ถือว่าเสร็จสิ้นการตั้งค่า SSL ของ Hosting ต่อไปจะเป็นการไปทำใน Cloudflare ครับ โดยที่ Cloudflare เป็นบริการจัดการ Dns และช่วยเป็น cache ให้เพื่อเพิ่มความเร็วและลดภาระของ Server ซึ่งไม่นานมานี้เขาเปิดให้สามารถใช้ SSL ได้แบบฟรีๆ แต่ต้องผ่าน Cloudflare นะครับ ส่วนวิธีสมัคร และตั้งค่าโดเมนเข้ากับ Cloudflare นั้นผมว่าไม่น่ายากเกินกำลัง ผมขอข้ามไปเป็นวิธีการตั้งค่า SSL บน Cloudflare เลยละกันครับ

ขั้นแรกเลย โดเมนของท่านต้องผ่าน Cloudflare วิธีผ่านคือเข้าหน้า DNS และกฎเมฆให้มันเป็นสีส้มๆครับ โดบ Record ที่ต้องทำคือ A ชื่อเว็บเต็มๆของเรา กับ cname www ครับ ซึ่งถ้าเราตั้งค่าตอนแรกกับ Cloudflare เขาจะตั้งเป็น Default ให้อยู่แล้วครับ

6

ให้เราเข้าเมนู crypto ครับและเปิด SSL ให้เป็นแบบ Full

5พอเสร็จแล้วก็เซฟ จากนั้นรอซักแปปนึงแล้วดูผลที่ทำโดยการเข้าเว็บผ่าน https://เว็บไซต์ ดูครับถ้าไม่มี Warning เตือนแสดงว่าทำได้ถูกวิธีและครับทุกขั้นตอนครับ

เท่านี้เว็บเราก็จะปลอดภัยสำหรับผู้เข้าชม และตัว admin เองที่ต้องทำงานหลังเว็บบ่อยๆครับ หวังว่าบทความนี้จะเป็นประโยชน์สำหรับหลายคนนะครับ เพราะเป็นบทความในรอบ 2 – 3 เดือนของผม หุหุ เมื่อไหร่ที่ let’s encrypt มา ผมจะมารีวีวกันให้ทราบอีกครั้งครับ

ปล.พบคำผิด Comment แจ้งได้ครับ ผมรีบพิมพ์นิดนึง

Review Anime น่าดู Winter 2015

เนื่องจากช่วงนี้ Anime Winter 2015 กำลังเป็นช่วง Climax เหลืออีกเพียง 2-3 ตอนก็จะทยอยจบกันแล้วทั้งยังเรื่องที่ Leftovers มาจาก Fall 2014 อีกหลายเรื่อง วันนี้จะมาแนะนำหลายๆเรื่องที่น่าติดตามกันครับ

สำหรับคนชอบเรื่อง รัก โรแมนติด ดราม่า ปวดตับ เรื่องแรกแนะนำเลยครับ เป็นเรื่องที่ Leftovers มาจาก Fall 2014 คือเรื่อง Shigatsu wa kimi no uso ชื่อภาษาไทย เพลงรักสองหัวใจ (โดยวิบูลย์กิจ) โดยในเรื่องนี้เราจะได้ดูในความพยายามที่จะกลับมาเล่นเปียโนอีกครั้งของ Arima Kousei ซึ่งในอดีต ตัวเขาเป็นนักดนตรีเด็กอัจฉริยะ สามารถชนะในทุกๆการประกวดซึ่งผู้บ่มสอน Kousei ให้เล่นเปียโนก็คือคุณแม่ของเขานั่นเอง แต่กลับเกิดเหตุการณ์ที่คุณแม่ของ Kousei ป่วย และเสียชีวิตไปทำให้ Kousei ไม่สามารถเล่นเปียโนได้อีก แต่อยู่มาวันหนึ่ง เพื่อนวัยเด็ก Sawabe Tsubaki ได้แนะนำให้เขารู้จักกับ Miyazono Kaori นักไวโอลินที่มีความร่าเริง สดใส ทำให้ Kousei เมื่อพบครั้งแรกถึงกับอาจจะเรียกว่าตกหลุมรักกันเลยทีเดียว โดยเรื่องนี้มีเนื้อหาที่ทำให้คนดูตกหลุมรักเสียงเพียงได้ในทันที เนื้อเรื่องที่ไม่หนักไปในช่วงแรกๆ แต่จะเริ่มหนักจริงๆเมื่อเข้ากลางเรื่องในช่วงที่พระเอกเราต้องพยายามอย่างหนักเมื่อจะเล่นเปียโนให้ได้ โดยมี นางเอกให้กำลังใจอยู่เสมอ จนท้ายเรื่องนี่ดราม่าสุดๆ อาจทำให้ตับท่านพังก็เป็นได้ แต่เนื้อเรื่องโดยรวมถือว่าดีมาก เป็นอีกเรื่องที่แนะนำสำหรับคนที่ชอบแนวๆนี้ครับ

10365504_1508378096044829_5306010420981829091_o

เรื่องต่อมา Assasination Classroom เรื่องนี้หลายๆคนน่าจะรู้จัก เพระมาจากการ์ตูนเรื่องห้องเรียนลอบสังหาร เนื้อเรื่องมีอยู่ว่า อยู่ดีๆวันหนึ่งพระจันทร์ได้หายไป 70% แต่อยู่ดีๆก็มีเจ้าสัตว์ประหลาดหน้าตาคล้ายปลาหมึก ออกมาแสดงความรับผิดชอบโดยบอกว่าในอีก 1 ปีเขาจะทำลายโลกซะ แต่ก่อนหน้านั้นเขายื่นข้อเสนอที่จะสอนนักเรียนในโรงเรียนคุนุกิกะโอกะ ชั้น ม.3 ห้อง E โดยระหว่างที่สอนนั้นนักเรียนสามารถพยายามฆ่าเขาได้ตลอดเวลา และเขาก็จะไมทำร้ายนักเรียน โดยนักเรียนได้ให้ชื่อว่าอาจารย์โคโระ (แปลว่าฆ่าไม่ตาย + คุณครูผสมกัน) เรื่องนี้แค่ดูชื่อเรื่องก็รู้สึกเหมือนเรื่องอะไรที่ดูโหดๆ แต่เอาจริงๆกลับเป็นเรื่องที่น่าสนใจ ถ้าใครเคยอ่าน GTO มาน่าจะคล้ายๆเรื่องนี้มั้ง มีความตลกโปกฮา กับความเสื่อมของอาจารย์นิดหน่อย แถมยังสอดแทรกแง่คิดดีๆ มีซึ้งบ้าง เรื่องนี้แนะนำเป็นอย่างยิ่งเลยครับ (นางิสะนี่สาวดุ้นชัดๆ หุหุ)

Assassination-Classroom-1     เรื่องที่สาม Kantai Collection : Kan Colle กับสาวน้อยเรือรบ เรื่องราวที่ทำมาจากเกมที่ดังในหมู่ โอตาคุทั้งหลาย ในเรื่องนี้จะสมมติสาวน้อยให้กลายเป็นเรือรบ โดยสาวน้อยเหล่านี้จะต่อสู้กับศัตรูที่เรือกว่ากองเรือห้วงทะเลลึก สาวน้อยแต่ละคนต้องพยายามฝึกฝนตัวเองเพื่อเพิ่มประสิทธิภาพในการต่อสู้และไม่ล่มก่อนวัยอันควร หุหุ สำหรับสาวก สาวน้อย ใหญ่ โมเอะ แนะนำเรื่องนี้เลยครับ

Kantai-Collection-KanColle     เรื่องต่อมา Seiken Tsukai no World Break ฮาเร็มระลึกชาติ (ตั้งเอง) เรื่องราวของโรงเรียนมัธยมปลายที่เป็นที่รวมของเหล่า Savior ผู้กอบกู้ ที่ถูกปลุกความทรงจำจากชาติปางก่อน บางคนจัดเป็น Shirogane ผู้ที่สู้ด้วยร่างกายและควบคุม Prana ได้ บางคนเคยเป็นพวก Kuroma ที่ใช้เวทมนตร์ Mana ในการต่อสู้ แต่ดั้นพระเอกเรา ระลึกได้สองชาติ ทำให้ใช้พลังได้สองอย่าง เทพสุดๆ และยิ่งระลึกชาติได้เยอะ เหล่าสาวๆในฮาเร็มก็เยอะตาม โดยเรื่องนี้ผมว่าภาพมันเผา และเนื้อเรื่องเร่งไป แต่เป็นเรื่องที่มีความน่าสนใจอยู่ครับ ถ้ายังไงลองไปซื้อ Novel มาอ่านเสริมท่าจะดี ที่สำคัญที่แนะนำคือ พระเอกมันไม่แต๋วนะสิ หุหุ ใครเล่นด้วยเฮียแกจัดหมด ไม่รู้จัดไร ติดตามกันดูครับ

Seiken-Tsukai-no-World-Break     เรื่องก่อนสุดท้ายต้องนี่เลยครับ Leftovers มาจาก Fall 2014 เหมือนกัน เรื่องราวที่ทำมาจาก Manga เก่าแก่ ถ้าใครอายุเกิน 20 น่าจะรู้จักกันกับเรื่อง Kiseijuu: Sei no kakuritsu หรือชื่อภาษาไทยในเรื่อง ปรสิต เดรัจฉาน หากใครเคยอ่านแล้วแนะนำให้ดูเวอร์ชั่น อนิเมะนี้เลยครับ เพราะอ่านมานานอาจจะลืมเนื้อเรื่องไปหมดแล้ว เรื่องราวของเด็กหนุ่ม Shiniji ที่นอนอยู่ดีๆก็มีตัวอะไรไม่รู้พยายามจะเข้าหู แต่เข้าไม่ได้เลยมาอยู่ที่มือแทน และเรื่องราวต่างๆก็เริ่มต้นขึ้น ทำให้เขาต้องต่อสู้กับพวก ปรสิต มากมาย บอกเลยว่าเรื่องนี้ 5 ดาวครับ ใครยังไม่ดูต้องลองครับ

XmKante     เรื่องสุดท้าย ก็ Leftovers มาจาก Fall 2014 เช่นกันคือเรื่อง Nanatsu no taizai ตำนานอศวิน 7 บาป เรื่องราวของ “เจ็ดบาป” กลุ่มอัศวินที่ถูกกล่าวหาว่าจะล้มล้างอาณาจักร บริทาเนีย ทำให้กลุ่มอัศวินศักดิ์ศิษย์ออกตามล่า สิบปีต่อมาเหล่าอัศวินศักดิ์ศิษย์ได้ทำการยึดอำนาจและใช้อำนาจข่มขู่ประชาชนทำให้ อลิซาเบธ ลูกสาวคนเดียวของกษัตริย์จึงต้องหนีออกมาตามหา “เจ็ดบาป” ขอความช่วยเหลือของพวกเขาในการกอบกู้อาณาจักร สุดท้ายจึงได้พบกับ เมลีโอดัสหัวหน้าของกลุ่มเจ็ดบาป แต่ก็เหลืออยู่เพียงคนเดียว อลิซาเบธจึงต้องร่วมมือกับเมลีโอดัส เดินทางตามหาเหล้าเจ็ดบาปที่เหลือ แนะนำให้ดูเลยครับ นางเอกโมเอะ บวกน้องหมูที่เรียกเสียงฮาได้ แถมยังมีความดราม่าปะปนกันไป ไม่ได้ดูก็รีบดูซะนะครับ

7-sins     หมดแล้วครับ ลองหาดูกันให้สนุกนะครับ ส่วนเรื่องอื่นๆที่ไม่แนะนำ ผมว่ายังไม่ผ่านครับ บางเรื่องก็ไม่น่าสนใจ บางเรื่องก็ฮาเร็มสัดๆ ส่วนบางเรื่องก็งานเผาฝุดๆ

ลง webui utorrent ใน CENTOS 6.5

วิธีการลง webui ใน centos 6.5 เห็นมีปัญหากันเยอะเรื่อง libssl
วิธีการทำข้างล่างนี้ก้อปปี้เขามา แต่แก้ไขเรื่อง libssl แล้ว สามารถใช้ได้เพราะทดสอบแล้ว หุหุ
ลองไปทำกันดูเด้อ

It has been six years since I migrated to Linux (from windows) and never looked back. I used to use uTorrent on windows as my torrent client. It was small, light-weight and very user friendly. Frankly speaking in these six years of my linux voyage, I never found any alternative to that. Until recently I heard that utorrent is now available for linux. Keeping my hopes high, I gave it a try and it lived up to my expectations. As expected it is free but closed-source, with a little hope from the forums that it might become open-source in the future. But anyways, I am really thankful to the utorrent team for briniging out utorrent for linux.

A couple of things felt missing but still it is  better than the most, infact all! It is currently an alpha release of version 3.0 build, with only web-based GUI and 32bit release (requires 32bit libraries on x64 systems).

Here is a complete step by step installation guide:

Step 0: Pre-Requisites

According to the website:

System Requirements:

  • x86 Ubuntu 9.10+, Debian 5+, Fedora 12+
  • Linux kernel 2.6.13 or newer required

utserver binary requires glibc-2.11 or newer. Do check this before continuing. To check your version of glibc:

rpm -q glibc

(Note: If you have old libraries, or facing any library related error, I have a different guide for you HERE )

I am using a 32 bit Centos 6.2, but this guide should work with most linux distributions. If you are using a x64 distribution, you’ll need to install all the 32 bit libraries.

In case of a 32 bit distro, there are hardly any dependencies to be installed. They are installed by default even in the minimal installations. Here is the list of dependencies anyway:

  • glibc >= 2.11
  • libgcc
  • openssl
  • krb5-libs
  • libcom_err
  • zlib
  • keyutils-libs
  • libselinux

If you are using a 32 bit distro:

yum install glibc libgcc openssl krb5-libs libcom_err zlib keyutils-libs libselinux openssl098e.i686

If you are using a 64bit distro, install the 32bit libraries:

yum install glibc glibc.i[36]86 libgcc libgcc.i[36]86 openssl openssl.i[36]86 krb5-libs krb5-libs.i[36]86 libcom_err libcom_err.i[36]86 zlib zlib.i[36]86 keyutils-libs keyutils-libs.i[36]86 libselinux libselinux.i[36]86 openssl098e.i686

Step 1: Make basic directories

I will keep it in /opt (ofcourse you can keep it anywhere feasible)

mkdir /opt/utorrent
mkdir /opt/utorrent/conf
mkdir /opt/utorrent/data
mkdir /opt/utorrent/pid
mkdir /opt/utorrent/webui
mkdir /opt/utorrent/log

Step 2: Download µTorrent Server

At the time of this writing, µTorrent Server alpha (3.0 build 25053) was the latest available one. You can find the latest release here. Download the package to a tmp location, extract and then copy the required files:

wget -O /tmp/utorrent-server-3.0-25053.tar.gz http://download.utorrent.com/linux/utorrent-server-3.0-25053.tar.gz
tar –directory /tmp -xzf /tmp/utorrent-server-3.0-25053.tar.gz

cp /tmp/utorrent-server-v3_0/utserver /opt/utorrent/

cp /tmp/utorrent-server-v3_0/webui.zip /opt/utorrent/webui/

Step 3: Libraries check

Before proceeding further, it will be a good idea to locate any missing libraries.
Use ldd command to find out any missing library:

ldd -r /opt/utorrent/utserver

You might get the following error:

/opt/utorrent/utserver: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory

or

/opt/utorrent/utserver: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory

If openssl is installed properly, this might be because you have a newer version of the shared library. Creating a softlink should solve the problem.

First find out what version you have:

find  /*/lib /*lib  -type f -name “libssl.so.*”

find  /*/lib /*lib  -type f -name “libcrypto.so.*”

This will show you the library you have installed, for example in my case it showed me that I’ve libssl.so.1.0.0 and libcrypto.so.1.0.0 installed:

[[email protected] ~]# find  /*/lib /*lib  -type f -name “libssl.so.*”
/usr/lib/libssl.so.0.9.8e

[[email protected] ~]# find  /*/lib /*lib  -type f -name “libcrypto.so.*”
/usr/lib/libcrypto.so.0.9.8e

Now simply create a soft link from the one you have to the one required by utserver:

ln -s /usr/lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8

ln -s /usr/lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8

(ofcourse you can always install the correct version of openssl instead of doing this softlink trick)

If every thing is fine you should get output some what like this:

[[email protected] apps]$ ldd -r /opt/utorrent/utserver
/opt/utorrent/utserver: /usr/lib/libcrypto.so.0.9.8: no version information available (required by /opt/utorrent/utserver)
/opt/utorrent/utserver: /usr/lib/libssl.so.0.9.8: no version information available (required by /opt/utorrent/utserver)
linux-gate.so.1 =>  (0x0042c000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00cb8000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x009dc000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x00800000)
librt.so.1 => /lib/librt.so.1 (0x001a2000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00465000)
libc.so.6 => /lib/libc.so.6 (0x001ab000)
/lib/ld-linux.so.2 (0x005a8000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x00c25000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x0033b000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x0012b000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00622000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00130000)
libdl.so.2 => /lib/libdl.so.2 (0x0045b000)
libz.so.1 => /lib/libz.so.1 (0x00767000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x004be000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00991000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0014a000)

(You can ignore the “no version information” warning). This shows every requirement is fulfilled and utorrent server can now run on this machine. Lets now do some final config tweaks.

Step 4: Create config file

In theory you can just run the utserver binary (like you did in the previous step), and utorrent server should be ready and useable. You don’t necessarily need a config file But it is always a good idea to have a config file in hand, it’ll make editing and experimenting with the configurations much easier and give you a lot more options to play with.

I wasn’t able to find a complete and comprehensive config file. Users are either not using config file or using it just for a couple of options.
I’ve created this config file from the documentation and added all the options I found. All the directives are explained in the comments and set to the default value.

Here it is (only dir_root is set to /opt/utorrent/data all other values are default):

###########################################
###                                     ###
### Utorrent Server v3.0 Config File    ###
###                                     ###
### By Khizer Naeem                     ###
### [email protected]               ###
### Date: 29/12/2011                    ###
###                                     ###
###########################################
###########################################
# Note: – Don’t use quotes or double quotes when giving a value
#       – Don’t add trailing / when specifying any directory

#####################
## Regular Settings #
#####################

#bind_port (integer):
#    Default value: 6881. Port used for BitTorrent protocol. This can be any value in the range 1025-65000.
bind_port: 6881

#max_ul_rate (integer):
#    Default value: -1. Maximum total upload rate in kilobytes per second. -1 means unlimited. We recommend setting it to -1.
max_ul_rate: -1

#max_ul_rate_seed (integer):
#    Default value: -1. Maximum per-torrent upload rate when seeding, in kilobytes per second. -1 means unlimited. We recommend setting it to -1.
max_ul_rate_seed: -1

#conns_per_torrent (integer):
#    Default value: 50. Maximum number of connections for a given torrent.
conns_per_torrent: 50

#max_total_connections (integer):
#    Default value: 200. Maximum number of connection opened at the same time.
max_total_connections: 200

#auto_bandwidth_management (boolean):
#    Default value: true. If true, upload bandwidth is automatically throttled in order to not impact other applications using TCP/IP.
auto_bandwidth_management: true

#max_dl_rate (integer):
#    Default value: -1. Maximum total download rate in kilobytes per second. -1 means unlimited. We recommend setting it to -1.
max_dl_rate: -1

#seed_ratio (integer):
#    Default value: 0. Seed ratio in percent (%) (e.g. 100 means 100%). If not 0, seeding will stop after reaching this upload/download ratio.
seed_ratio: 0

#seed_time (integer):
#    Default value: 0. Time after which seeding will stop, in seconds. 0 means seeding won’t stop.
seed_time: 0

#####################
# Internal Settings #
#####################

#bind_ip (string):
# IP address to use for socket connections. If not provided, a default IP address will be used. We do not recommend changing this value.

#ut_webui_port (integer):
# Default value: 8080. Port number where the utserver process accepts HTTP RPC API calls to support the µTorrent-compatible HTTP interface.
ut_webui_port: 8080

#token_auth_enable (boolean)
# Default value: true. If true, the µTorrent HTTP interface defends against cross-site request forgeries.
# If false, the µTorrent HTTP interface will not be protected in this manner.
token_auth_enable: true

#dir_root (string):
# Default value: “”. If not empty, dir_active, dir_completed, and dir_torrent_files are relative to this directory.
dir_root:/opt/utorrent/data

#dir_active (string):
# Default value: “./”. Directory in which currently downloaded data is saved.
# Can be an absolute path or relative to dir_root or the current working directory if dir_root is not defined or an empty string.
#dir_active: ./

#dir_completed (string):
# Default value: “”. Directory where completed downloads are stored.
dir_completed:

#dir_download (string):
# Default value: “”. Optional directory where completed downloads can be stored, instead of in dir_completed.
# If no value is specified for this setting, the value of dir_completed is used.
# This option can be specified multiple times in the file – once for each directory to be designated as such.
# This option can be used when adding torrents via the µTorrent HTTP interface, not via the SDK interface.
# Use the action list-dirs to obtain a list of download directories from the µTorrent HTTP interface.
# Use the option download_dir to specify which of these directories to use when adding a torrent by URL or file through the µTorrent HTTP interface;
# The index of each entry will be in order in which each entry appears in utserver.conf
dir_download:

#dir_torrent_files (string):
# Default value: “”. Directory where torrent files are stored. If the empty string, the value of dir_active is used.
dir_torrent_files:

#dir_temp_files (string):
# Default value: “”. Directory where temporary files are stored. If the empty string, the value of dir_active is used.
# Using a separate directory just for temporary files allows for deleting the files in this directory on boot and/or periodically.
# The utserver process creates temporary files with a .utt extension,
# if a value for this setting is specified, the utserver process will delete all files with that extension in that directory at process startup.
# The value should specify a directory, not a symbolic link to a directory.
dir_temp_files:

#dir_autoload (string):
# Default value: “”. Directory where torrent files will be recognized and auto-loaded. If the empty string, auto-load is disabled.
dir_autoload:

#dir_autoload_delete (boolean):
# Default value: false. If true, torrent files in the autoload directory will be deleted after being loaded,
# else they will be renamed with an extension of .loaded. The dir_autoload setting must be specified for this setting to have an effect.
dir_autoload_delete: false

#upnp (boolean):
# Default value: true. If true, UPNP functionality for mapping ports is used by utserver. We recommend setting this value to true.
upnp: true

#natpmp (boolean):
# Default value: true. If true, NAT-PMP functionality for mapping ports is used by utserver. We recommend setting this value to true.
natpmp: true

#lsd (boolean):
#    Default value: true. If true, Local Service Discovery is enabled. We recommend setting this value to true.
lsd: true

#dht (boolean):
# Default value: true. If true, Distributed Hash Table extension is enabled. We recommend setting this value to true.
dht: true

#pex (boolean):
# Default value: true. If true, Peer Exchange extension is enabled. We recommend setting this value to true.
pex: true

#rate_limit_local_peers (boolean):
# Default value: false. If true, rate limiting also applies to communications with peers in the local subnet. We recommend setting this value to false.
rate_limit_local_peers: false

#disk_cache_max_size (integer):
# Default value: 0. Maximum amount of memory used by each of the read, write, and piece caches. Value is in megabytes.
# If 0, accepts the SDK’s default choices on selecting sizes of disk caches. Maximum value is 512.
disk_cache_max_size: 0

#preferred_interface (string):
# Default value: “”. If defined, name of network interface to be preferred,
# when attempting to search among network interfaces for an external IP and hardware address.
# If empty string, preferred interface is ignored.
preferred_interface:

#admin_name (string):
# Default value: “admin”. If defined, name that must be supplied (along with the password) when authenticating to the server via the HTTP interface.
# This allows the administrator to define an initial non-default value for this name.
# This value will not be applied from utserver.conf if settings.dat already exists.
admin_name: admin

#admin_password (string):
# Default value: “”. If defined, password that must be supplied (along with the name) when authenticating to the server via the HTTP interface.
# This allows the administrator to define an initial non-default value for this password.
# This value will not be applied from utserver.conf if settings.dat already exists.
admin_password:

#logmask (integer):
# Default value: 0. A mask whose bits when set allow certain categories of log messages to be generated.
# The bits (0 – 31) in the value of this setting correspond to a set of internal events and subsystems.
#
#        3 – send have
#        6 – hole punch
#        7 – got bad piece request
#        8 – trace
#        9 – piece picker
#        10 – got bad cancel
#        11 – got bad unchoke
#        12 – got bad piece
#        13 – rss
#        14 – rss error
#        15 – got have
#        16 – got bad have
#        17 – error
#        18 – aggregated
#        19 – disconnect
#        20 – out connect
#        21 – in connect
#        22 – UPnP
#        23 – UPnP error
#        24 – NATPMP
#        25 – NATPMP error
#        26 – metadata finish
#        27 – web UI
#        28 – got bad reject
#        29 – pex
#        30 – peer messages
#        31 – blocked connect
logmask: 0

#dir_request (string):
# Default value: “”. Directory where maintenance request files will be recognized, loaded, and deleted.
# If the empty string, maintenance request handling is disabled.
#
# Your software running on your device can create the following files in this directory in order to request the following maintenance procedures.
#
#    If the file c.utmr is created in or moved into this directory,
#    the credentials necessary to access the µTorrent HTTP interface will be reset to username admin and a blank password.
#
#    If the file wipl.utmr is created in or moved into this directory,
#    the IP restriction list that limits the IPs that can use the µTorrent HTTP interface is cleared,
#    so that there will be no restrictions on IP address.
#
#    If the file rcf.utmr is created in or moved into this directory,
#    the server will reload the configuration file. If you always use this method to request a configuration file reload,
#    you can safely change the value of this setting while the server is running.

#ut_webui_dir (string):
# Default value: “”. Directory where the web UI file archive webui.zip is stored,
# or which contains a webui subdirectory within which the unarchived web UI files are stored.
# It can be an absolute path or set relative to the current directory.
ut_webui_dir:

#finish_cmd (string), state_cmd (string):
# Default value: “”. If defined,
# finish_cmd is a command that will be executed upon completion of each torrent.
# state_cmd is a command that will be executed when a torrent changes state.
# The command is run asynchronously as the same user that runs the server process.
#
#    The server permits substitutions in the command text as follows:
#
#    %F Name of downloaded data file (for single-file torrents)
#    %D directory where torrent data files are saved
#    %N torrent title
#    %S torrent state
#    %P previous state of torrent
#    %L label associated with torrent
#    %T tracker
#    %M status message
#    %I hex-encoded info-hash
#
#    State (%S) and previous state (%P) are integers that have the following values:
#
#    1 (error)
#    2 (checked)
#    3 (paused)
#    4 (super seeding)
#    5 (seeding)
#    6 (downloading)
#    7 (super seeding (forced))
#    8 (seeding (forced))
#    9 (downloading (forced))
#    10 (queued seed)
#    11 (finished)
#    12 (queued)
#    13 (stopped)
finish_cmd:
state_cmd:

Don’t worry most of the lines in the config are comments (only 34 directives in total). I recommend going through it once.

Copy-Paste this configuration into the file utserver.conf in /opt/utorrent/conf/ directory using your favourite text editor like vim or download it directly:

wget -O /opt/utorrent/conf/utserver.conf http://kxr.me/blog/uts/utserver.conf

Now you can start the utorrent server with the following command:

/opt/utorrent/utserver -settingspath “/opt/utorrent/webui/” -configfile “/opt/utorrent/conf/utserver.conf” -logfile “/opt/utorrent/log/ut.log” -pidfile “/opt/utorrent/pid/utserver.pid” -daemon

and stop it with:

 kill `cat /opt/utorrent/pid/utserver.pid`

That is not very convenient, so lets create a script to make things easier.

 #!/bin/sh

uts_bin=”/opt/utorrent/utserver”
pid_file=”/opt/utorrent/pid/utserver.pid”
settings_path=”/opt/utorrent/webui/”
config_file=”/opt/utorrent/conf/utserver.conf”
log_file=”/opt/utorrent/log/ut.log”

start(){

if [ -s “$pid_file” ]
then
kill -s 0 `cat $pid_file` > /dev/null 2>&1
if  [ “$?” == “0” ]
then
echo “Err: Utorrent seems to be running, PID `cat $pid_file`”
else
echo “Starting Utorrent Server..”
cd $settings_path;$uts_bin -settingspath $settings_path -configfile $config_file -logfile $log_file -pidfile $pid_file -daemon
fi
else
echo “Starting Utorrent Server..”
cd $settings_path;$uts_bin -settingspath $settings_path -configfile $config_file -logfile $log_file -pidfile $pid_file -daemon
fi
}
stop(){
if [ -s “$pid_file” ]
then
kill -s 0 `cat $pid_file` > /dev/null 2>&1
if  [ “$?” == “0” ]
then
echo “Stopping Utorrent Server..”
kill `cat $pid_file`
tail -f /dev/null –pid `cat $pid_file`
rm -f $pid_file
else
echo “Err: Utorrent seems to be stopped, PID file $pid_file not found or empty”
fi
else
echo “Err: Utorrent seems to be stopped, PID file $pid_file not found or empty”
fi
}
status(){
if [ -s “$pid_file” ]
then
kill -s 0 `cat $pid_file` > /dev/null 2>&1
if  [ “$?” == “0” ]
then
echo “Utorrent seems to be running, PID `cat $pid_file`”
else
echo “PID file present, but no process with PID `cat $pid_file` running”
fi
else
echo “Utorrent seems to be stopped, PID file $pid_file not found or empty”
fi
}

case “$1” in
start)
start
;;
stop)
stop
;;
reload)
stop
rm -vf $settings_path/settings.dat*
start
;;
status)
status
;;
*)
echo “Usage $0 {start|stop|reload|status}”
;;
esac

Create a file called utsctl in /opt/utorrent and copy-paste the code into it using your favourite editor or download it directly:

wget -O /opt/utorrent/utsctl http://kxr.me/blog/uts/utsctl

Once you have created this script file, lets make it executeable:

chmod +x /opt/utorrent/utsctl

And also make it easily accessible, so that we don’t have to type the whole path again and again:

ln -s /opt/utorrent/utsctl /usr/bin/utsctl

Now starting stoping and checking the status is as easy as this:

utsctl start

utsctl stop

utsctl status

Step 5: Start µTorrent Server

Lets now start the utorrent server:

utsctl start

It should output “server started – using locale en_US.UTF-8” and return back to bash prompt. (Optionally, you can add this command to rc.local to auto-start it at startup)

You should now be able to access the utorrent server gui on localhost:

http://localhost:8080/gui

or via the ipaddress/hostname if accessing from a remote computer:

http://1.2.3.4:8080/gui

(don’t forget to allow this port in the system’s iptable firewall and any other firewall in between)

Here is a screen-shot:

Playing with the configuration:

When you change a configuration in utserver.conf, just restarting the utserver daemon won’t update the changes in WebUI. You’ll have to remove the settings.dat files and then start the server again i.e,

utsctl stop
rm -f /opt/utorrent/webui/settings.dat*
utsctl start

I’ve added the “reload” option in the utsctl script that will do all these three things:

utsctl reload

Good Luck 🙂

Source : http://blog.kxr.me/2011/12/utorrent-server-on-linux-step-by-step.html

Modify : kilvalrikan.com

For you ~Tsuki no Hikari ga Furisosogu Terrace~

เพลงประกอบ Anime เรื่อง shigatsu wa kimi no uso ตอนที่ 14 ครับ
ส่วนเนื้อเพลงตอนนี้ยังไม่มีไว้หาได้จะเอามาลงต่อนะครับ

      For you ~Tsuki no Hikari ga Furisosogu Terrace~ - ENA

วิธีทำ SSL แบบ Single Domain กับ IIS 7

SSL Host Headers in IIS 7 allow you to use one SSL certificate for multiple IIS websites on the same IP address. Through the IIS Manager interface, IIS only allows you to bind one site on each IP address to port 443 using an SSL certificate. If you try to bind a second site on the IP address to the same certificate, IIS 7 will give you an error when starting the site up stating that there is a port conflict. In order to assign a certificate to be used by multiple IIS sites on the same IP address, you will need to set up SSL Host Headers by following the instructions below.

What Type of SSL Certificate Do You Need?

Because you can only use one certificate, that certificate needs to work with all the hostnames of the websites that you use it with (otherwise you will receive a name mismatch error). For example, if each of your IIS 7 websites uses a subdomain of a single common domain name (like in the example below), you can get a Wildcard Certificate for *.mydomain.com and it will secure site1.mydomain.com, site2.mydomain.com, etc.

If, on the other hand, your IIS 7 sites all use different domain names (mail.mydomain1.com, mail.mydomain2.com, etc.), you will need to get a Unified Communications Certificate (also called a SAN certificate).

Setting up SSL Host Headers on IIS 7

  1. Obtain an SSL certificate and install it into IIS 7. For step-by-step instructions on how to do this, see Installing an SSL Certificate in Windows Server 2008 (IIS 7.0).

    Install SSL Certificate into IIS 7

  2. Once the certificate is installed into IIS, bind it to the first site on the IP address.

    Bind the SSL Certificate to the first site on the IP address

  3. Open the command prompt by clicking the start menu and typing “cmd” and hitting enter.
  4. Navigate to C:\Windows\System32\Inetsrv\ by typing “cd C:\Windows\System32\Inetsrv\” on the command line.
  5. In the Inetsrv folder, run the following command for each of the other websites on the IP address that need to use the certificate (copy both lines):

    appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']

    Replace <IISSiteName>  with the name of the IIS site and <hostHeaderValue> with the host header for that site (site1.mydomain.com)

    Run AppCmd to bind the other sites to port 443 using the same certificate

  6. Test each website in a browser. It should bring up the correct page and show the lock icon without any errors. If it brings up the web page of the first IIS site, then SSL Host Headers haven’t been set up correctly.

If you need to set up multiple site to use a single SSL certificate on IIS 6 or Apache, see How To Configure SSL Host Headers in IIS 6. For more information about SSL Host Headers in IIS 7 see IIS 7.0: Add a Binding to a Site and SSL certificates on Sites with Host Headers.

Source : https://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html