bash scripts install webserver wordpress+loadbalance web on Debian 10

scripts ที่เขียนขึ้น จะใช้ wordpress เป็น web application ใช้ mariadb เป็น Databases และใช้ nginx เป็น webserver และ loadbalance

เครื่องที่ต้องเตรียม

  • webserver 2 เครื่อง
  • databases_master 1 เครื่อง
  • databases_slave 1 เครื่อง
  • loadbalance 1 เครื่อง

**** เครื่อง master ต้องสามารถ ssh ไปเครื่อง slave ได้เนื่องจากจะมีการใช้ scp ให้ทดสอบ ssh จาก master ก่อนที่จะรัน script ****

**** run script หน้า home ของ root เท่านั้น ***

แก้ตัวแปรต่อไปนี้ให้เป็นของตัวเอง

เครื่อง databases_master

interface = network interface (local ip) เช่น eth0 , ens33  

ip_slave = ip databases slave

rep_user = user replication

rep_pass = password replication

ip_wp01 = ip wordpress เครื่อง 1

ip_wp02 = ip wordpress เครื่อง 2

db_name = databases name for wordpress

db_user = user wordpress

db_pass = password wordpress

เครื่อง databases_slave

interface = network interface (local ip) เช่น eth0 , ens33  

ip_master = ip database master

rep_user = user replication

rep_pass  = password replication

เครื่อง wordpress ทั้ง 2 เครื่อง

adduser = user สำหรับ wordpress สิทธิ์ในการจัดการไฟล์

passworduser = password สำหรับ wordpress  สิทธิ์ในการจัดการไฟล์

domain = ชื่อ domain ของเว็บ

path_web = ที่อยู่ไฟล์ wordpress

port = ตั้งเป็น 443

php_ver = เวอร์ชั่น php

filephp_name = ชื่อไฟล์ config ของ php.conf

php_name = ชื่อ php สำหรับ wordpress

listen = '/var/run/php_name.sock'

path_unzip = path แตกไฟล์ wordpress ที่โหลดมา

เครื่อง loadbalance

*** เนื่องจากใน script มีการใช้ certbot เครื่อง loadbalance จำเป็นต้องมี public ip ไม่งั้น certbot จะไม่สามารถติดตั้งได้***

email= ใส่ email เนื่องจากใช้ certbot บังคับให้ใส่

domain = ชื่อ domain ของเว็บ

port = ตั้งเป็น 80

server1 = ip wordpress server 01:443

server2 = ip wordpress server 02:443

**ถ้าจะใช้เป็น 80 http ให้เอา 443 ออก แล้วก้เปลี่ยน port เครื่อง web กับ loadbalance ให้เป็น 80

Script ของแต่ละเครื่อง ให้เอาไปรันบนแต่ละเครื่องของตัวเอง

เครื่อง databases master

https://drive.google.com/file/d/1GLDs5kU4WHvI5c6P3lNUInp6nQ2dw28C/view?usp=sharing

เครื่อง database slave

https://drive.google.com/file/d/1Kxv7XOQ93WxTz_AK_W7jACGA8Y_SNubg/view?usp=sharing

เครื่อง wordpress 2 ทั้งเครื่อง

https://drive.google.com/file/d/1PDBMM8HKJwJDm7YDSVUCeMOGyKDV8g0r/view?usp=sharing

เครื่อง loadbalance

https://drive.google.com/file/d/1GxBW-AXy4E492Q7HMLNZbavHHt4cOnAo/view?usp=sharing

ตัว loadbalance เมื่อคอนฟิก wordpress ผ่านหน้า url แล้ว ให้ปิด ip_hash; แล้วก็ปิด ip ที่เข้าตอนแรก โดยใช้ # เพื่อคอนฟิก wordpress อีกเครื่อง เมื่อทำเสร็จแล้วให้เปิด IP ทั้งสองเครื่อง ปิด  ip_hash; เอาไว้เหมือนเดิม