Month: December 2017

  • วิธีป้องกันไม่ให้ Notebook Windows 10 เข้าสู่ Hibernate หลังจาก Sleep 180 วินาที

    ปัญหามีอยู่ว่า บางที เราก็อยากจะแค่ ปิดฝา Notebook แล้วให้มัน Sleep แล้วเมื่อเปิดอีกครั้ง ก็สามารถทำงานต่อได้เลย
    แต่ค่า Default คือ ระบบจะเข้าสู่ Sleep เป็นเวลา 180 วินาที (3 นาที) แล้วหลังจากนั้นก็จะ Hibernate ทำให้ เวลากลับมาทำงานใหม่ ต้องรอสักพัก (แบบว่าอยากได้เหมือน Macbook อ่ะ เปิดปั๊บ ทำงานต่อได้เลย)

    วิธีการมีดังนี้

    1. กดปุ่ม Windows แล้วพิมพ์ sleep > เลือก Power & sleep settings
    2. คลิก  Additional power settings
    3. เลือก Change plan settings
    4. Change advanced power settings
    5. ใน Sleep > Hibernate after
      จากเดิม น่าจะเป็น 180 seconds ก็เปลี่ยนให้เป็น Never
      แล้วคลิก OK

    หวังว่าจะเป็นประโยชน์ครับ

  • วิธีติดตั้งระบบ Cyrus IMAP Cluster (Cyrus Murder)

    ต่อจาก
    Mail Clustering with Cyrus Murder และ How Cyrus Murder (Mail Clustering) work?

    คราวนี้ มาลง รายละเอียดทีละขั้นตอน

    ระบบ Cyrus IMAP Cluster หรือ Cyrus Murder นี้ ประกอบด้วยเครื่องคอมพิวเตอร์ ขั้นต่ำ 3 เครื่อง คือ frontend, backend, mupdate ต่อไปนี้ จะเป็นวิธีการทำ แต่ละเครื่อง

     

    Prerequisite

    ทั้งหมดเป็น Ubuntu 16.04 Server, ทำการ update และ upgrade แล้ว และ เข้า SSH ด้วย user ที่สามารถ sudo ได้ และรุ่นของ cyrus-imapd, cyrus-murder ที่ใช้เป็น 2.4.18
    ทุกเครื่อง มี user ชื่อ ‘cyrus’ และ ทำการตั้งรหัสผ่านไว้เรียบร้อย
    เฉพาะเครื่องที่เป็น Backend จะต้องมี uesr ชื่อ ‘mailproxy’ และทำการตั้งรหัสผ่านไว้เรียบร้อย ด้วยอีก 1 คน
    ในที่นี้ จะใช้ pam-ldap ติดตั้งใน Backend ทุกเครื่อง

    MUPDATE ( mupdate1.example.com )

    1. ติดตั้ง cyrus-murder ด้วยคำสั่ง
      sudo apt install cyrus-murder cyrus-common sasl2-bin

      ระบบจะติดตั้งตั้งโปรแกรมที่เกี่ยวข้อง รวมถึง postfix ด้วย ให้เลือกเป็น No configuration ไป

    2. แก้ไขไฟล์ /etc/cyrus.conf ใน Section “SERVICES” ประมาณบรรทัดที่ 62 ให้ uncomment เพื่อได้บรรทัดนี้
      mupdate       cmd="mupdate -m" listen=3905 prefork=1

      จุดสำคัญคือ mupdate -m คือ ตัวที่จะบอกว่า ทำหน้าที่เป็น MUPDATE Master

    3. แก้ไขไฟล์ /etc/imapd.conf เพื่อกำหนด admins ในที่นี้ให้ใช้ชื่อ cyrus โดยการ uncomment ประมาณบรรทัดที่ 55
      และแก้ sasl_pwcheck_method เป็น saslauthd

      sasl_pwcheck_method: saslauthd
      sasl_mech_list: PLAIN
      admins: cyrus
    4. จากนั้น start ระบบขึ้นมา จะพบว่ามีการเปิด port 3905 รออยู่
      sudo /etc/init.d/cyrus-imapd start
      netstat -nl | grep 3905
    5. แก้ไขไฟล์ /etc/default/saslauthd บรรทัดที่ 7
      START=yes

      แล้ว start saslauthd

      sudo /etc/init.d/saslauthd start

    BACKEND ( backend01.example.com)

    1. ติดตั้ง
      sudo apt install cyrus-imapd cyrus-common cyrus-clients sasl2-bin
    2. แก้ไขไฟล์ /etc/imapd.conf โดยเพิ่มบรรทัดต่อไปนี้ไว้ท้ายไฟล์
      #SASL
      sasl_pwcheck_method: saslauthd
      sasl_mech_list: PLAIN
      
      # MUPDATE
      servername: backend01.example.com
      admins: cyrus   
      proxyservers:   mailproxy
      lmtp_admins: mailproxy
      mupdate_server: mupdate.example.com
      mupdate_port: 3905
      mupdate_username: cyrus
      mupdate_authname: cyrus
      mupdate_password: <secret>
      
    3. แก้ไข /etc/cyrus.conf
      ใน START section ให้ uncomment

      mupdatepush cmd="/usr/sbin/cyrus ctl_mboxlist -m"
    4. เพิ่มส่วนนี้ ท้ายไฟล์ /etc/services ด้วย
      #MUPDATE
      mupdate 3905/tcp # MUPDATE
      mupdate 3905/udp # MUPDATE
    5. *** ติดตั้ง PAM LDAP
      sudo apt-get install ldap-auth-client nscd

      ตั้งค่าต่อไปนี้

      LDAP server Uniform Resource Identifier: ldap://ldap.your.domain/
      Distinguished name of the search base: dc=example,dc=com
      LDAP version to use: 3
      Make local root Database admin: No
      Does the LDAP database require login? No

      ต่อไป สั่งให้ระบบแก้ไขเงื่อนไขการ authen เป็น LDAP

      sudo auth-client-config -t nss -p lac_ldap

      จากนั้นใช้คำสั่งต่อไปนี้ เพื่อเริ่มใช้งาน PAM LDAP

      sudo pam-auth-update

      จะมีคำถามว่า
      PAM profiles to enable:
      ให้เลือกทั้ง
      Unix authentication และ
      LDAP Authentication

      สุดท้าย

      sudo /etc/init.d/nscd restart
    6. แก้ไขไฟล์ /etc/default/saslauthd บรรทัดที่ 7
      START=yes

      แล้ว start saslauthd

      sudo /etc/init.d/saslauthd start

    FRONTEND ( frontend01.example.com )

    1. ติดตั้ง
      sudo apt install cyrus-imapd cyrus-common cyrus-clients sasl2-bin
    2. แก้ไขไฟล์ /etc/imapd.conf โดยเพิ่มบรรทัดต่อไปนี้ไว้ท้ายไฟล์
      #SASL
      sasl_pwcheck_method: saslauthd
      sasl_mech_list: PLAIN
      
      # MUPDATE
      mupdate_server: mupdate.example.com
      mupdate_port: 3905
      mupdate_username: cyrus
      mupdate_authname: cyrus
      mupdate_password: <secret>
      
      #PROXY
      serverlist: backend01.example.com
      backend01_password: mailproxy
      proxy_authname: mailproxy
      
    3. แก้ไข /etc/cyrus.conf
      ใน SERVICE section ให้ uncomment

      mupdate cmd="mupdate" listen=3905 prefork=1
    4. เพิ่มส่วนนี้ ท้ายไฟล์ /etc/services ด้วย
      #MUPDATE
      mupdate 3905/tcp # MUPDATE
      mupdate 3905/udp # MUPDATE
    5. แก้ไขไฟล์ /etc/default/saslauthd บรรทัดที่ 7
      START=yes

      แล้ว start saslauthd

      sudo /etc/init.d/saslauthd start

    และ เมื่อทุกอย่างพร้อม ทุกเครื่องก็

    sudo /etc/init.d/cyrus-imapd restart

    เมื่อจะเพิ่มเครื่อง Backend ก็ทำตามขั้นตอน แล้ว เพิ่มใน /etc/imapd.conf ของเครื่อง Frontend ในส่วนของ serverlist และ password เช่น
    จะเพิ่มเครื่อง backend02.example.com ก็ต้องเพิ่มดังนี้

    #PROXY
    serverlist: backend01.example.com backend02.example.com
    backend01_password: <secret>
    backend02_password: <secret>
    proxy_authname: mailproxy

    เมื่อต้องการเพิ่ม Frontend ก็ให้ Sync ตัวไฟล์ /etc/imapd.conf ไปให้เหมือนกันทุกเครื่อง

    หวังว่าจะเป็นประโยชน์