คอนฟิก MySQL 8.0 Replication บน Ubuntu 20.04

เมื่อมีปริมาณการใช้งานเซิร์ฟเวอร์ฐานข้อมูล (Database Server) เพิ่มมากขึ้น อาจทำให้เซิร์ฟเวอร์ตัวเดียวไม่สามารถรองรับได้ ทำให้ต้องมีการขยายขนาด โดยอาจทำได้สองวิธีหลักๆ คือ

  1. เปลี่ยนเครื่องให้มี CPU, Memory หรือ Disk ที่มีความเร็วสูงขึ้น
  2. อีกวิธีที่จะแนะนำในที่นี้ คือเพิ่มเครื่องแล้วคอนฟิก Replication เพื่อให้ทุกเครื่องมีฐานข้อมูลที่เหมือนกัน เพื่อกระจายการรองรับการใช้งาน

บทความนี้จะอธิบายคอนฟิก MySQL Replication เพื่อ replicate ข้อมูลระหว่าง MySQL Database Server สองเครื่อง ทั้งแบบ Master-Slave และ Master-Master โดยทดสอบกับเวอร์ชัน 8.0 ที่ติดตั้งบน Ubuntu 20.04
Continue reading “คอนฟิก MySQL 8.0 Replication บน Ubuntu 20.04”

การติดตั้ง​ Red Hat Enterprise Linux 8

Red Hat Enterprise Linux เป็นลีนุกซ์ดิสทริบิวชันแบบหนึ่ง ที่นิยมใช้ในองค์กรมาก เหตุเพราะสามารถซื้อการสนับสนุน (support) จากทาง Red Hat ได้ เพื่อช่วยในการแก้ไขปัญหาต่างๆ ไม่ว่าจะเป็นการใช้งานทั่วไป การติดตั้งโปรแกรม การอัพเดทโปรแกรม หรืออื่นๆ

ล่าสุดทาง Red Hat ได้ออกเวอร์ชันใหม่เป็น Red Hat Enterprise Linux 8 ซึ่งอนุญาตให้ดาวน์โหลดได้ ในรูปแบบ developer subscription ซึ่งเราสามารถสมัครได้ทางเว็บไซต์ของ Red Hat

ลองมาดูตัวอย่างการติดตั้ง Red Hat Enterprise Linux 8 กัน
Continue reading “การติดตั้ง​ Red Hat Enterprise Linux 8”

ติดตั้ง MongoDB 4.0 บน Ubuntu 18.04

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

ลองมาดูวิธีติดตั้ง MongoDB 4.0 Community Edition ที่เราสามารถดาวน์โหลดมาติดตั้งใช้งานได้ฟรีแบบถูกต้อง โดยในที่นี้จะใช้วิธีติดตั้งจาก repo ของ MongoDB เพื่อให้ได้เวอร์ชันใหม่ล่าสุด

Continue reading “ติดตั้ง MongoDB 4.0 บน Ubuntu 18.04”

คอนฟิก CoovaChilli ทำหน้าที่เป็น WiFi Captive Portal เบื้องต้น

หลังจากที่ได้ คอนไพล์ซอร์ซโค้ดและติดตั้ง CoovaChilli บน Ubuntu 18.04 ตอนนี้เรามาลองคอนฟิก CoovaChilli ให้ทำหน้าที่เป็น Captive Portal เบื้องต้นกัน เพื่อให้ผู้ใช้งาน WiFi ล็อกอินก่อนใช้อินเทอร์เน็ตได้

Continue reading “คอนฟิก CoovaChilli ทำหน้าที่เป็น WiFi Captive Portal เบื้องต้น”

คอนไพล์ซอร์ซโค้ดและติดตั้ง CoovaChilli บน Ubuntu 18.04

CoovaChilli เป็นโปรแกรมบริหารจัดการ ควบคุมการเข้าใช้งานระบบเครือข่าย เช่นสามารถกำหนดให้ผู้ใช้งาน WiFi ต้องล็อกอินก่อนจะใช้งานอินเทอร์เน็ตได้ หรือที่เรียกว่า Captive Portal

เรามาดูวิธีการดาวน์โหลด คอมไพล์ซอร์ซโค้ด CoovaChilli แล้วสร้างเป็นไฟล์ .deb เพื่อติดตั้ง บน Ubuntu 18.04 กัน

ในที่นี้จะทดลองติดตั้งบน Ubuntu 18.04 ที่เพิ่งลงเสร็จใหม่ๆ

Continue reading “คอนไพล์ซอร์ซโค้ดและติดตั้ง CoovaChilli บน Ubuntu 18.04”

แก้ไขบู๊ต Ubuntu 18.04 ช้า ค้างที่ข้อความ A start job is running for Wait for Network to be Configured

หากคุณเจอปัญหาบู๊ต Ubuntu 18.04 ช้า หน้าจอค้างอยู่ที่ข้อความ A start job is running for Wait for Network to be Configured ประมาณ 2 นาที กว่าจะไปขั้นตอนต่อไป

Continue reading “แก้ไขบู๊ต Ubuntu 18.04 ช้า ค้างที่ข้อความ A start job is running for Wait for Network to be Configured”

ติดตั้งและคอนฟิก Kubernetes บน Ubuntu 18.04

ได้ยินชื่อและคุณสมบัติต่างๆ ของ Kubernetes มานาน แต่ไม่ได้ลองใช้สักที พอได้โอกาสไปดูเดโมในงาน #DevOpsBKK2018 เห็นแล้วมีความน่าสนใจ เลยลองศึกษาหาวิธีการติดตั้งและคอนฟิกเบื้องต้น เผื่อจะมีประโยขน์เป็นแนวทางเริ่มต้นกับผู้สนใจ Kubernetes ได้ไปทดลองเล่นกัน

เท่าที่ศึกษาดู มีหลายวิธีที่จะติดตั้งและคอนฟิก Kubernetes ในที่นี้จะขอเรียบเรียงเป็นวิธี ที่คิดว่าน่าจะตรงไปตรงมาที่สุด เพื่อจะได้ไม่ต้องติดตั้งแพ็คเกจอื่นๆ มากเกินไป โดยจะทดลองติดตั้งและคอนฟิกบน Ubuntu 18.04 จำนวน 3 เครื่อง เพื่อสร้างเป็น Kubernetes Cluster

Continue reading “ติดตั้งและคอนฟิก Kubernetes บน Ubuntu 18.04”

รัน PHP 5 บน Ubuntu 18.04 ด้วย Docker

PHP ที่อยู่ใน repository ดีฟอลต์ของ Ubuntu 18.04 พร้อมให้ใช้คำสั่ง apt install คือเวอร์ชัน 7.2

แต่บางครั้งเราจำเป็นต้องรันโปรแกรมที่พัฒนาด้วย PHP เวอร์ชันเก่า เช่น 5 เนื่องด้วยเหตุผลบางประการ เช่น โปรแกรมนั้นเรียกใช้ฟังก์ชันแบบเก่า ที่ถูกยกเลิก (deprecated) ไปแล้วใน PHP เวอร์ชันใหม่ๆ ที่พบบ่อยคือเรียกใช้ฟังก์ชัน mysql_query() เพื่อเชื่อมต่อกับ MySQL Database

วิธีการหนึ่งที่ทำได้คือใช้ docker รัน php image เวอร์ชันที่ต้องการ ลองมาดูวิธีการใช้ docker เพื่อรัน php เวอร์ขัน 5 กัน ทั้งแบบ Command Line และแบบ FPM

ในที่นี้จะใช้ Docker Official Repository ของ PHP ซึ่งมี image ให้เลือกหลายเวอร์ชัน เราสามารถเลือกรันได้ โดยการระบุ tag ต่อท้าย php: เช่น php:5 คือรัน image เวอร์ชัน 5

Continue reading “รัน PHP 5 บน Ubuntu 18.04 ด้วย Docker”

ติดตั้ง Docker CE บน Ubuntu 18.04

จริงๆ แล้ว ใน Ubuntu 18.04 ก็มีแพ็กเกจ Docker ที่สามารถใช้คำสั่ง apt install ได้เลย และค่อนข้างใหม่ด้วยคือเป็นเวอร์ชัน 17.12

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

ในที่นี้ลองมาดูวิธีการติดตั้ง Docker เวอร์ชัน CE (Community Edition) บน Ubuntu 18.04 โดยติดตั้งจาก Docker Repositories

Continue reading “ติดตั้ง Docker CE บน Ubuntu 18.04”

คอนฟิกดีฟอลต์ editor บน Ubuntu 18.04

การคอนฟิกลีนุกซ์โดยใช้บางคำสั่งเช่น crontab, visudo จะมีการเรียก editor ขึ้นมาเพื่อแก้ไขไฟล์คอนฟิก ซึ่งขึ้นอยู่กับเวอร์ชันลีนุกซ์ที่ใช้ว่าจะตั้ง editor ตัวไหนเป็นดีฟอลต์ เช่น Ubuntu 18.04 จะตั้ง nano เป็นดีฟอลต์

มาดูกันว่าถ้าเราต้องการเปลี่ยนดีฟอลต์ editor ให้เป็นตัวอื่น เช่น vim จะสามารถเปลี่ยนได้อย่างไร

Continue reading “คอนฟิกดีฟอลต์ editor บน Ubuntu 18.04”