วิธีติดตั้งระบบ 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 ) ติดตั้ง cyrus-murder ด้วยคำสั่ง sudo apt install cyrus-murder cyrus-common sasl2-bin ระบบจะติดตั้งตั้งโปรแกรมที่เกี่ยวข้อง รวมถึง postfix ด้วย ให้เลือกเป็น No configuration ไป แก้ไขไฟล์ /etc/cyrus.conf ใน Section “SERVICES” ประมาณบรรทัดที่ 62 ให้ uncomment เพื่อได้บรรทัดนี้ mupdate       cmd=”mupdate -m” listen=3905 prefork=1 จุดสำคัญคือ mupdate -m คือ ตัวที่จะบอกว่า ทำหน้าที่เป็น MUPDATE Master แก้ไขไฟล์ /etc/imapd.conf เพื่อกำหนด admins ในที่นี้ให้ใช้ชื่อ cyrus โดยการ uncomment ประมาณบรรทัดที่ 55 และแก้ sasl_pwcheck_method เป็น saslauthd sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN admins: cyrus จากนั้น start ระบบขึ้นมา จะพบว่ามีการเปิด port 3905 รออยู่ sudo /etc/init.d/cyrus-imapd start netstat -nl | grep 3905 แก้ไขไฟล์ /etc/default/saslauthd บรรทัดที่ 7 START=yes แล้ว start saslauthd sudo /etc/init.d/saslauthd start BACKEND ( backend01.example.com) ติดตั้ง sudo apt install cyrus-imapd cyrus-common cyrus-clients sasl2-bin แก้ไขไฟล์ /etc/imapd.conf โดยเพิ่มบรรทัดต่อไปนี้ไว้ท้ายไฟล์ #SASL sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN # MUPDATE servername: backend01.example.com admins: cyrus    proxyservers:

Read More »

ตรวจเช็คพื้นที่และเฝ้าระวังน้ำท่วมด้วย Google Earth

#ฝนตกต่อเนื่อง ตรวจเช็คพื้นที่และเฝ้าระวังน้ำท่วมด้วย Google Earth มาดูวิธีการเฝ้าระวังพื้นที่บ้านเรา จะเสี่ยงน้ำท่วมไหม? และต้องเฝ้าระวังพื้นที่รอบๆด้วยนะคับ #GoogleEarth #GIS #เฝ้าระวังน้ำท่วม

Read More »

วิธีการใช้ Google Drive เป็น Private Git Repository

git คือ distributed revision control system เรามักใช้ github.com สำหรับเก็บ source code แต่มัน public ซึ่ง บางทีเราก็ต้องการอะไรที่ private ต่อไปนี้ คือวิธีการใช้งาน Google Drive เพื่อสร้าง Private Git Repository ติดตั้ง Google Drive File Stream, git ให้เรียบร้อย ใน Google Drive สร้าง Directory ชื่อ git ขึ้นมาที่ My Drive กรณี Google Drive File Stream ก็จะเห็นที่ G:\My Drive\git จากนั้น ก็สร้าง Working Directory  เช่น ที่ Documents ในภาพ สร้างไว้ใน Documents\firebase\fmsworkshop จากนั้น คลิก Git Bash Here ใช้คำสั่ง git init เพื่อสร้าง .git ใน Directory นี้ก่อน จากนั้นใช้คำสั่งนี้ ที่มี –bare เพื่อสร้าง Remore Repository บน Google Drive git init –bare “G:\My Drive\git\fmsworkshop.git” บน Google Drive File Stream ก็จะมี fmsworkshop.git ปรากฏขึ้น ซึ่งต่อไปก็สามารถ git push ขึ้นไปเก็บไว้ได้แล้ว ต่อไป ก็พัฒนาโปรแกรมไป แล้ว ก็ git push ตามปรกติครับ git add . git commit -m “some text” git push “G:\My Drive\git\fmsworkshop.git” หวังว่าจะเป็นประโยชน์ครับ

Read More »

GCP #01 วิธีการสร้าง Virtual Machine บน Google Cloud Platform

ขั้นตอน มี Google Account ไปที่ https://console.cloud.google.com/start สำหรับคนที่ใช้ครั้งแรก ควรจะใช้สิทธิ์ Free Trial 300 USD / 12 Month ในการใช้งาน จะต้องมี Billing Account โดยต้องกรอกข้อมูล บัตร Credit/Debit ซึ่งต้องเป็น VISA/MasterCard เท่านั้น และต้องไม่ใช่ Prepaid ด้วย https://cloud.google.com/billing/docs/how-to/payment-methods#add_a_payment_method เมื่อเสร็จแล้วจะได้ Credit อย่างนี้ ต่อไป สร้าง Virtual Machine กัน ไปที่ เมนู > Cloud Launcher จะเห็นได้ว่า ตอนนี้ระบบจะสร้าง “My First Project” ไว้ให้ ซึ่งเราสามารถ สร้าง Project ใหม่ก็ได้ แต่ตอนนี้ใช้อย่างนี้ไปก่อน ต่อไป จะลองสร้าง Ubuntu Server ขึ้นมาใช้งาน ในที่นี้จะสร้าง Ubuntu 14.04 พิมพ์ Ubuntu ในช่องค้นหา แล้ว เลือก Ubuntu 14.04 จากนั้น คลิก Launch on Compute Engine ตั้งชื่อตามต้องการ (ถ้าต้องการ) สามารถเลือก Zone และ Machine Type ได้ตามความเหมาะสม ซึ่งจะมีราคาแตกต่างกัน ค่าเริ่มต้น Machine Type: n1-standard-1 จะให้ 1 vCPU, 3.75 GB RAM และ 10 GB standard persistent disk หากต้องการ Disk เพิ่ม สามารถคลิก Change เพื่อเพิ่มได้​ (standard persistent disk จะราคาถูกกว่า ssd มาก) ต่อไป กำหนดเรื่องเของ Firewall ถ้าให้บริการ HTTP/HTTPS ก็คลิกเลือกได้เลย ในกรณีที่ต้องการกำหนดค่าอื่นๆ เช่น Disk, Network, SSH Key ให้คลิก “Management, disks, networking, SSH keys” เสร็จแล้วกดปุ่ม Create รอสักครู่ ก็จะได้ VM มาใช้งานแล้ว ในที่นี้ จะได้ External IP ซึ่งใช้ในการติดต่อจาก Internet มา แต่หากมีการ Restart/Stop IP address นี้ก็จะเปลี่ยนไป (การ Fix มีค่าใช้จ่ายนิดหน่อย) และ การติดต่อไปยัง VM ก็สามารถทำได้ โดยการคลิก SSH ซึ่งสามารถเข้าถึงได้จาก Console นี้ หากต้องการใช้งานจาก Client อื่นก็ทำได้ แต่ต้องกำหนด SSH Key กันนิดหน่อย ซึ่งจะกล่าวในภายหลัง เพิ่มเติม ในกรณีต้องการเปิด Port เพิ่มที่ไม่ใช่ HTTP/HTTPS ให้คลิกที่ Menu > Network Services > Firewall Rules แล้วกำหนดค่าตามต้องการ โดยการ Create Firewall Rule หวังว่าจะเป็นประโยชน์ครับ

Read More »

เตาะแตะไปกับ Docker ตอนที่ 13 Docker Machine

Docker Machine คือ tool ที่ใช้สำหรับจัดเตรียม (Provision) docker เป็น virtual hosts บน Mac หรือ Windows รวมถึง ติดตั้งเพิ่ม docker บน Native Linux Host ที่มีอยู่แล้วในเครือข่ายของคุณ ยิ่งไปกว่านั้นยังสามารถจัดเตรียม docker ไปบน cloud providers เช่น Azure, AWS, or Digital Ocean เป็นต้น Docker Machine จัดการ remote docker host เหล่านี้ด้วยการใช้คำสั่ง docker-machine การติดตั้ง Docker Machine ขึ้นอยู่กับว่าจะใช้บนระบบปฏิบัติการอะไร ถ้าเป็น Windows ก็ให้ติดตั้ง Docker for Windows ซึ่งจะได้ Docker Engine และ Docker Machine มาด้วยเลย แต่ถ้าระบบปฏิบัติการ Windows นั้นไม่ผ่าน requirements ที่จะรัน Docker for Windows ได้ คุณก็เปลี่ยนไปติดตั้ง Docker Toolbox แทนได้ ซึ่งต้องใช้ร่วมกับ Oracle VM VirtualBox แทน Hyper-V การใช้งาน Docker Machine จาก Windows ที่ติดตั้ง Docker Toolbox Docker Machine จะสร้าง VM พร้อมติดตั้ง Docker Engine ให้ด้วย ตัวอย่างการใช้งาน ทำนองนี้ docker-machine create –driver virtualbox vm1 เมื่อจะเข้าไปใช้เครื่อง vm1 ทำดังนี้ eval “$(docker-machine env vm1)” และทำคำสั่งอีก 1 คำสั่งตามที่มีข้อความแสดงขึ้นมา ตอนนี้เราก็สามารถใช้งาน docker ที่เครื่อง vm1 ได้แล้ว เช่น ทดสอบว่า docker ทำงานได้แล้ว docker run hello-world ออกโดยใช้คำสั่ง exit หรือหากต้องการรันคำสั่งครั้งเดียวที่เครื่อง vm1 โดยไม่ต้องเข้าไป ก็ใช้คำสั่งทำนองนี้ docker-machine ssh vm1 “docker ps”   การติดตั้ง Docker Machine บนระบบปฏิบัติการ Linux สำหรับการติดตั้ง Docker Machine บนระบบปฏิบัติการ Linux (ทดสอบกับ Ubuntu 16.04 server) จะต้องใช้คำสั่งดังนี้ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && \ chmod +x /tmp/docker-machine && \ sudo cp /tmp/docker-machine /usr/local/bin/docker-machine   การใช้งาน Docker Machine จาก Linux เพื่อติดตั้ง docker engine ไปบน ubuntu ที่ยังไม่ได้ติดตั้ง docker ไว้ (To provision Docker hosts on remote systems) จะมีขั้นตอนหลายขั้นดังนี้ 1. ที่เครื่องใช้งานที่เราติดตั้ง docker-machine ไว้ ให้เราสร้าง public, private key pair ด้วยคำสั่ง “ssh-keygen

Read More »