Category: Linux (OS, shell script, etc)

วิธีขยาย Disk ใน VM/Virtualbox แล้วให้ Ubuntu

ในกรณีใช้ VMWare/VirtualBox  บางครั้งเราต้องการขยาย Disk ให้ Ubuntu มีพื้นที่มากขึ้น เดิมมี Disk 100 GB แก้ไขให้เป็น 300 GB Login เข้าไป ดูข้อมูล ด้วยคำสั่ง df -h จะเห็น 100 GB อยู่ แล้ว sudo reboot ลอง Login ใหม่ แล้วใช้คำสั่ง sudo su fdisk -l ก็จะ ขนาดเพิ่มเป็น 300 GB จากนั้นใช้คำสั่ง…

Windows CRLF to Unix LF Issues in Cygwin Shell Script

เมื่อเรารัน shell script ของโปรแกรม Cygwin for Windows ซึ่งมีการเขียนคำสั่งไปตัดเอาข้อความผ่านคำสั่ง (Command Line) ของ Windows มาใส่ในตัวแปรของ shell script เช่น ในตัวอย่างนี้คือคำสั่ง ipconfig เมื่อได้ข้อความที่ต้องการมาเราจะได้ \r แถมมาให้ด้วยต่อท้าย เพราะ Windows style line ending จะมี CRLF (\r\n)  ในขณะที่ Linux style line ending จะมี LF (\n) เท่านั้น น่าแปลกใจมากว่า เราเคยรัน…

วิธี upgrade Node.js ใน Bash ของ Windows 10 ให้เป็นรุ่นปัจจุบัน

ปัญหาคือ บน Windows 10 เราสามารถใช้ Windows Subsystem for Linux (WSL) หรือ Bash Shell ได้ ซึ่งจริงๆมันก็คือ Ubuntu 16.04.3 แต่ว่า เวลาจะใช้งาน Node.js ติดตั้งพวก Firebase, Angular อะไรพวกนี้ จะทำไม่ได้ เพราะรุ่นที่ให้มามันเก่ามาก วิธีการคือ (Reference: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) ใช้คำสั่งต่อไปนี้ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash – apt-get install…

วิธีติดตั้งระบบ 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, ทำการ…

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…

วิธีทำ Password-less SSH บน Ubuntu

ในการทำงานกับ Server Cluster ขนาดใหญ่ ซึ่งประกอบด้วย Ubuntu Server จำนวนมาก หากต้องแก้ไขระบบทั้งหมด โดยการ Secure Shell หรือ SSH เข้าไปทีละเครื่อง “โดยต้องเป็น root ด้วย” จะเป็นงานที่ใช้เวลาอย่างมาก เค้าจึงมีระบบที่เรียกว่า Password-less SSH โดยการแลกเปลี่ยน Public Key แทนที่จะต้อง Login ด้วย Username/Password และเนื่องจาก Ubuntu โดย Default ไม่มีการสร้าง root password (มี root แต่ไม่มี password…

เตาะแตะไปกับ Docker ตอนที่ 12 Clone Docker Files From GitHub

จากบล็อกเรื่อง “เตาะแตะไปกับ Docker” ในตอนที่แล้ว เราได้เรียนรู้ขั้นตอนในการสร้างและรัน LDAP services อย่างละเอียด ก่อนที่ผมจะเขียนบทความในตอนนี้ผมได้นำไฟล์ทุกไฟล์นั้นขึ้นไปไว้บน GitHub เพื่อให้พวกเราไม่ต้องสร้างไฟล์เหล่านั้นเอง แต่จะทำด้วยคำสั่ง git clone ครับ เรายังคงทดสอบด้วย VM โดยตั้งค่า network เป็น NAT network เพราะว่า เราใช้ domain สมมติ คือ ldap.example.com และทดสอบในสภาพแวดล้อมที่เป็นเครือข่ายภายใน ขั้นตอนดังนี้ 1. ติดตั้ง Ubuntu 16.04 64 bit แล้วติดตั้ง docker 17.06.2-ce แล้วต้องเปลี่ยนชื่อ…

เตาะแตะไปกับ Docker ตอนที่ 11 Docker Compose (LDAP services)

เราจะมาเรียนรู้ การใช้ docker compose รัน service 2 services คือ OpenLDAP และ phpLDAPadmin ซึ่ง docker จะมองว่าการใช้ docker compose คือ เรากำลังรัน project ที่ประกอบด้วย service หลาย ๆ service ให้แน่ใจว่าอยู่ที่ home directory ให้ใช้คำสั่งนี้ $ cd สร้างไดเรกทอรีของ project สมมติตั้งชื่อว่า ex1 $ mkdir ex1 $ cd…

เตาะแตะไปกับ Docker ตอนที่ 10 Dockerfile (phpLDAPadmin)

ในตอนที่แล้วเราใช้งาน openldap ด้วยคำสั่ง เช่น ldapsearch หรือ ldapadd ได้แล้ว วันนี้เราจะเรียนรู้การใช้ dockerfile สร้าง image ชื่อ phpldapadmin เพื่อใช้เป็น web interface ในการเข้าไปจัดการ LDAP database ของ container ชื่อ openldap โดยที่ phpLDAPadmin นี้คือการรัน php บน apache2 แล้วเราจะติดต่อระหว่าง container กันได้อย่างไร มาดูกันครับ เช่นเดียวกับครั้งที่แล้ว ผมจะแยกเป็น 3 ขั้นตอน คือ 1.ขั้นตอนเตรียมไฟล์ที่เกี่ยวข้อง…