server technology

ให้ website ของเราใช้แบบ HTTPS ง่ายๆ ด้วย Traefik

ให้ website ของเราใช้แบบ HTTPS ง่ายๆ ด้วย Traefik
เดียวนี้ไม่ว่าเราจะทำเว็บไซต์ หรือแอพพลิเคชั่นแบบไหนก็ตามจะต้องให้เรียก url แบบ https หมดแล้ว เพื่อความปลอดภัยของข้อมูลในระดับหนึ่ง และยิ่งเล่น SEO บนเว็บไซต์แล้วละก็ ถ้าไม่ใช้งานแบบ https ถือว่าบาปมากนะจ๊ะ โดยปกติที่ผมทำสำหรับโปรเจ็คของ Twin synergy จะใช้ nginx ทำ reverse proxy แล้วเรียกไฟล์ SSL ที่ไปสั่งซื้อมาเอง หรือไม่ก็ใช้งาน Let's Encrypt…
อ่านต่อ

การเปลี่ยนค่า Time zone ใน Alpine linux

การเปลี่ยนค่า Time zone ใน Alpine linux
พักหลังมานี้เวลาผมจะ Build dockerfile สำหรับทำโปรเจ็คให้ Twin synergy แต่ละครั้ง ผมจะเลือก Alpine linux เป็น OS เริ่มต้นเสมอ เพราะเนื่องจากตัวระบบปฎิบัติการของมันโดยเริ่มต้นมีขนาดเพียง 4.8MB เท่านั้น ถือว่าเล็กโครตๆ ทำให้ Dockerfile ที่ทำขึ้นมามีขนาดเล็กตามไปด้วย และทุกครั้งที่จะใช้งานผมจะต้องเปลี่ยน Time zone ให้เป็น Bangkok เสมอเพื่อปรับเวลาของ…
อ่านต่อ

ทำ S3 ใช้งานเองด้วย Minio server

ทำ S3 ใช้งานเองด้วย Minio server
S3 เป็นบริการ object storage ของ AWS ซึ่งชื่อเต็มๆ ของมันก็คือ Amazon Sample Storage Service (AWS S3) ประโยชน์ของมันก็คือไว้จัดเก็บ และเรียกดูไฟล์ต่างๆ ในรูปแบบของ object ซึ่งการเข้าถึงเรียกใช้ข้อมูลนั้นจะผ่านทาง HTTP หรือ HTTPS  และมีระบบรักษาความปลอดภัย encryption มาให้ด้วย หากยังนึกไม่ออกว่าจะเอามาทำอะไร…
อ่านต่อ

วิธีสร้าง docker registry ง่ายๆ โดย docker-compose

วิธีสร้าง docker registry ง่ายๆ โดย docker-compose
Docker registry ก็คือ ที่เก็บไฟล์ docker image ให้เราสามารถดึงมาใช้งานได้ตลอดเวลา โดยเริ่มต้นส่วนใหญ่เราจะใช้ของ Docker store (Docker hub) ซึ่งมันเป็น public ซึ่งเราสามารถเขียน docker image ของโปรเจ็คเราเองแล้วสามารถนำไปฝากไว้ได้ เพื่อให้เราเรียกใช้ง่ายๆ ตัวอย่าง docker image ที่ผมเคยทำไว้บน docker hub ก็จะมี https://hub.docker.com/r/snappytux/…
อ่านต่อ

อัพเดทเวลาของ container ให้ตรงกับ server ผ่าน docker-compose

Time in container is out of sync
สำหรับใครที่ใช้งาน docker โดยสร้างผ่าน docker-comopse อยู่อยากให้เวลาใน container ที่เราสร้างนั้นตรงกับเวลาของ server หรือ host ที่มันอยู่ สามารถทำการใส่ค่า volume ให้มันได้ดังนี้ volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro จากคำสั่งด้านบนจะทำการ mount ไฟล์ timezone และ localtime เข้าไปใ container…
อ่านต่อ

Language Problem on Ubuntu 14.04

Language Problem on Ubuntu 14.04
ผมได้ใช้บริการ digital ocean เป็นประจำจนตอนนี้หากคิดจะเริ่มโปรเจ็คไหนก็จะใช้ digital ocean เป็นตัวแรกๆ เสมอ เพราะมันสร้าง server ง่าย และราคาก็ไม่แพงเท่าไรสำหรับการเริ่มต้น โดยผมจะชอบเลือกเป็นระบบปฎิบัติการ Ubuntu 14.04 lts เป็นหลัก และสิ่งที่พบเจอประจำก็คือ จะ error เกี่ยวกับระบบภาษาของเครื่องดังนี้ perl: warning: Setting locale failed. perl:…
อ่านต่อ

Command : ค้นหาคำที่ต้องการในไฟล์

เคยสงสัยไหมว่าถ้าเรามี text file เยอะๆในเครื่องแล้วเราเกิดอยากหาคำหนึ่งคำว่ามันอยู่ใน text file ไหนบ้างเราจะทำยังไง เช่น สมมติผมอยากหาคำว่า iframe ในไฟล์เว็บของผม โดยอยากรู้ว่าในไฟล์ในไหนบ้างที่มีคำว่า iframe อยู่ ไม่ต้องไม่หาโปรแกรมตัวไหนมาติดตั้งเพิ่มครับ Command line ช่วยคุณได้ โดยผมจะใช้คำสั่ง grep ช่วยเหลือโดย systax จะเป็นดังนี้ grep "text…
อ่านต่อ

Command : ค้นหาไฟล์และลบออก

ในการหาไฟล์บน linux นั้นส่วนมากผมจะชอบใช้คำสั่ง find ในการค้นหา คราวนี้ผมมีความคิดว่าสมมติผมต้องการลบไฟล์ขยะหรือไฟล์สำรองที่ถูกสร้างมาจาก gedite เช่น name.sh~ , index.php~ ซึ่งไฟล์พวกนี้มันอยู่เต็มเครื่องผมไปหมดหลังจากที่ใช้ gedite ในการแก้ไข จะให้มานั่งลบทีละไฟล์ก็ใช่เรื่องเลยต้องใช้คำสั่ง command line พระเอกของเราช่วยซะหน่อย Linux or UNIX - Find…
อ่านต่อ

ติดตั้ง php 5.3 ใน centos 5

สำหรับ centos 5 นั้นถ้าเราทำการติดตั้ง php โดย yum ผ่าน repo ที่เขาให้มาปกติ php ที่เราจะได้เป็นเวอร์ชั่น 5.1.6 ถ้าใครอยากอัพเกรดเป็น php เวอร์ชั่นล่าสุดนั้นก็คือ 5.3.2 เรามาดูวิธีกันครับ   โดยเราจะทำการติดตั้ง php 5.3 จาก repo ข้างนอกนะครับให้ทำการโหลดมาก่อน [bash]rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-…
อ่านต่อ

apache error ไม่สามารถเริ่มทำงานได้

[bash]apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName[/bash] ใครที่ทำการติดตั้ง apache ไปแล้วพอทำการสั้งให้ start การทำงานแล้วเกิด error ดังด้านบนซึ่งผมเจอมากับตัวครับ ไม่ตกใจวิธีแก้ไขง่ายๆ ให้เราไปแก้ไขไฟล์ /etc/hosts หากข้อมูลเดิมมีประมาณว่า 127.0.0.1 localhost 127.0.1.1…
อ่านต่อ