Menu

Showing posts with label server. Show all posts
Showing posts with label server. Show all posts

Wednesday, April 8, 2020

[Laravel] ขั้นตอนการตั้งค่า XAMPP สำหรับรันโปรเจค Laravel
[Laravel] How to Set XAMPP to Run Laravel Project

สมมติว่า 
  • เรามี folder ชื่อ laravel ที่เป็น folder ของ project ที่เป็น Laravel
  • เราติดตั้ง XAMPP ไว้ที่ C:\xampp
  • เราต้องการเรียกหน้าเว็บของเราผ่าน domain ชื่อ laravel.dev
เราจะมีขั้นตอนดังต่อไปนี้

Wednesday, December 18, 2019

[Docker] การใช้ Docker สำหรับทำ Host เว็บไซต์หลายเว็บบน server เครื่องเดียว
[Docker] How to Use Docker to Host Multiple Websites in One Server

การใช้ Server เพียงเครื่องเดียวในการ host หลายเว็บไซต์ เราจำเป็นต้องใช้ Reverse Proxy

ในที่นี้เราจะใช้ NGINX Proxy ในการจัดการ Proxy ให้เรา โดยมีวิธีการติดตั้งดังนี้
  1. สร้าง docker network
  2. docker network create nginx-proxy
    
  3. สร้างไฟล์ docker-compose.yml โดยใช้ไฟล์ตั้งต้นจาก https://github.com/jwilder/nginx-proxy/blob/master/docker-compose.yml
  4. เพิ่ม code ข้างล่าง ใน docker-compose.yml ของ nginx-proxy
  5. networks:
      default:
        external:
          name: nginx-proxy
    
  6. รัน nginx-proxy ด้วยคำสั่งดังนี้
  7. docker-compose up -d
    

Friday, May 17, 2019

[Laravel - AWS] วิธีการตั้งค่า timeout สำหรับ InstanceProfileProvider ของ AWS PHP SDK
[Laravel - AWS] How to Set Timeout for InstanceProfileProvider of AWS PHP SDK

InstanceProfileProvider เป็น credential provider ที่ใช้ credentials จาก EC2 metadata server

สำหรับข้อมูลของ EC2 metadata server อ่านได้ที่ https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

ใน InstanceProfileProvider class ของ aws-php-sdk library เราจะพบ constructor ตามภาพด้านล่าง


เราจะพบตัวแปร $config['timeout'] แต่เราจะตั้งค่ามันยังไง!!!

Thursday, May 16, 2019

[ELK - Logstash] วิธีการ parse ข้อความ Log ที่มีหลายรูปแบบ โดยใช้ GROK
[ELK - Logstash] How to Parse Multiple Log Message by Using GROK

สำหรับการ parse ข้อความโดย GROK คุณต้องเพิ่ม grok filter ตามตัวอย่างด้านล่าง (อ้างอิงจาก https://www.elastic.co/guide/en/logstash/2.1/plugins-filters-grok.html#plugins-filters-grok-match)

สำหรับรายละเอียดของ GROK patterns อ่านได้ที่ https://github.com/elastic/logstash/blob/v1.4.0/patterns/grok-patterns

คุณสามารถทดสอบ pattern ที่คุณสร้างขึ้นกับข้อความจริง ได้ที่ https://grokdebug.herokuapp.com/

Tuesday, April 23, 2019

[ELK - Filebeat] การติดตั้งและตั้งค่า Filebeat บน Ubuntu เพื่อเก็บ log ใน Logstash
[ELK - Filebeat] How to Install and Configure Filebeat on Ubuntu for Storing Log in Logstash

การติดตั้ง Filebeat สามารถทำได้โดยรันคำสั่งดังนี้
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.2-amd64.deb
dpkg -i filebeat-6.6.2-amd64.deb
Path ของ Filebeat ที่ควรรู้มีดังนี้
config path/etc/filebeat
log path /var/log/filebeat

กรณีใช้ Filebeat ยิง log ไปที่ Logstash จำเป็นจะต้อง load template ไปที่ elasticsearch แบบ manual โดยใช้คำสั่งดังนี้
filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Sunday, March 31, 2019

[AWS] การติดตั้ง ELK อย่างง่ายบน AWS
[AWS] How to Install ELK on AWS

ELK stack เป็น platform สำหรับการจัดการ log ซึ่งประกอบไปด้วย 3 ส่วน คือ
  1. Elasticsearch (deep search and data analytics)
  2. Logstash (centralized logging and parsing)
  3. Kibana (powerful data visualizations)

การติดตั้งเริ่มต้นโดยเข้าไปที่ ELK Certified by Bitnami แล้วทำการ subscribe และทำตามขั้นตอนไปจนจบ ก็จะได้ Instance ที่มี ELK stack มาใช้งาน

Friday, March 29, 2019

[Docker] การติดตั้ง Docker และ Docker Compose บน Ubuntu
[Docker] How to Install Docker and Docker Compose on Ubuntu

ถ้าหากเครื่อง server ยังไม่ได้ติดตั้ง curl ให้ติดตั้ง curl ก่อน โดยใช้คำสั่งดังนี้
sudo apt-get install curl
หลังจากนั้นให้ติดตั้ง Docker โดยใช้คำสั่งดังนี้
sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
สำหรับการทดสอบ เมื่อติดตั้ง Docker สำเร็จแล้ว ให้รันคำสั่งดังนี้
docker run hello-world
จะได้ผลลัพธ์ดังรูป


หลังจากนั้นให้ติดตั้ง Docker Compose โดยใช้คำสั่งดังนี้ 
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
สำหรับการทดสอบ เมื่อติดตั้ง Docker Compose สำเร็จแล้ว ให้รันคำสั่งดังนี้
docker-compose -v
จะได้ผลลัพธ์ดังรูป


Tuesday, February 5, 2019

[Server - Ubuntu] การสร้างหรือต่ออายุ Let's Encrypt Certificate สำหรับ Website
[Server - Ubuntu] How to Create or Renew Let's Encrypt Certificate for Website

สมมติว่า ได้ลง certbot ไว้ในเครื่อง server เรียบร้อยแล้ว
  1. รันคำสั่ง sudo certbot certonly -d {domain_name}
  2. เลือก option ที่ 2 เพื่อใช้วิธีการระบุ path ของ public folder ของเว็บแทนการสร้าง standalone web server ขึ้นมา
  3. ใส่ path ของ public folder แล้วกด enter 
ไฟล์ certificates ที่ถูกสร้างใหม่ จะอยู่ใน folder /etc/letsencrypt/live/{domain_name} ซึ่งเราสามารถนำไฟล์นี้ไปแทนที่ไฟล์ certificates เดิมที่กำลังจะหมดอายุได้เลย