การตั้งค่าเซิร์ฟเวอร์เบื้องต้น

คู่มือการติดตั้งเซิร์ฟเวอร์ Ubuntu LTS (20.04 / 24.04)

คู่มือนี้สมมติว่าคุณกำลังตั้งค่าระบบใหม่ Ubuntu Server LTS อินสแตนซ์ (20.04 หรือ 24.04) บน VPS หรือผู้ให้บริการคลาวด์.

1. สร้างผู้ใช้ sudo ที่ไม่ใช่ผู้ใช้ root

adduser yourUserName
usermod -aG sudo yourUserName

2. รับสิทธิ์เข้าถึงด้วยกุญแจ SSH สำหรับผู้ใช้ใหม่

หากผู้ให้บริการโฮสต์ของคุณไม่สนับสนุนการใส่กุญแจ SSH สาธารณะขณะสร้างบัญชี ให้คัดลอกกุญแจของคุณจากเครื่องท้องถิ่นไปยังโฟลเดอร์ชั่วคราว ราก เข้าสู่ระบบ:

ssh-copy-id ro**@**********ne.ip.000

เมื่อเข้าสู่ระบบด้วยบัญชี ราก, ส่งกุญแจ SSH ไปยังผู้ใช้ใหม่:

rsync --archive --chown=yourUserName:yourUserName /root/.ssh /home/yourUserName

ออกจากระบบและเข้าสู่ระบบใหม่ด้วยบัญชีผู้ใช้ใหม่:

ออก
ssh เฮ้**********@**********ne.ip.000

3. เสริมความปลอดภัยของ SSH

หลังจากยืนยันว่าคุณสามารถเข้าสู่ระบบได้ในฐานะ yourUserName, ปิดการเข้าถึง SSH ด้วยสิทธิ์ root:

แก้ไขไฟล์กำหนดค่าของ SSH daemon:

sudo nano /etc/ssh/sshd_config

ตรวจสอบให้แน่ใจว่าข้อความในบรรทัดนั้นอ่านได้ดังนี้: PermitRootLogin no

เริ่มต้น SSH ใหม่:

sudo service ssh restart

สำคัญ: ให้ไว้เปิดเซสชัน SSH ที่กำลังทำงานอยู่หนึ่งเซสชัน จนกว่าคุณจะยืนยันได้ว่าการเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านทำงานได้สำหรับผู้ใช้ใหม่ของคุณ แล้วลองเชื่อมต่อใหม่จากเทอร์มินัลอื่นก่อนที่จะปิดเซสชัน root.

4. ตั้งเขตเวลา

sudo timedatectl set-timezone Continent/City
# ตัวอย่าง: sudo timedatectl set-timezone Asia/Tokyo

5. ตั้งค่า FQDN

แก้ไข /etc/hosts และแทนที่บรรทัดค่าเริ่มต้นด้วยที่อยู่ IP สาธารณะของคุณ:

127.0.1.1 machinename.example.com
your.machine.ip.000    machinename.example.com machinename

จากนั้นกำหนดชื่อโฮสต์ของระบบ:

sudo hostnamectl set-hostname machinename.example.com

6. ติดตั้ง WordOps

wget -qO wo wops.cc && sudo bash wo
source /etc/bash_completion.d/wo_auto.rc
echo -e "alias wo='sudo -E wo'" >> $HOME/.bashrc

7. ติดตั้งและตั้งค่า UFW (ไฟร์วอลล์)

wo stack install --ufw
wo secure --ssh

ก่อนเปิดใช้งาน UFW ให้แน่ใจว่าคุณได้อนุญาต SSH แล้ว (ซึ่งได้รับการจัดการไว้แล้วโดย wo secure --ssh), แล้วเปิดไฟร์วอลล์:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

สำหรับการเพิ่ม IP เข้าสู่รายชื่ออนุญาตที่รองรับ Cloudflare โปรดทำตามบทความนี้:

8. ตัวแปร API Cloudflare (สำหรับสคริปต์อัตโนมัติ)

export CF_Key="yourCloudflareAPIKey"
export CF_Email="เฮ้*****************@*****le.com"

เก็บข้อมูลเหล่านี้ไว้ใน ~/.bashrc หรือไฟล์ env เฉพาะ หากระบบอัตโนมัติของคุณต้องการไฟล์ดังกล่าวทุกครั้งที่เข้าสู่ระบบ.

9. เปิดใช้งาน cron ของ WordPress ผ่าน cron ของระบบ

แก้ไข crontab หลัก:

sudo crontab -e

เพิ่ม:

*/2 * * * * find /var/www -type f -name "wp-cron.php" -path "*/htdocs/wp-cron.php" -execdir sudo -u www-data php {} \; > /dev/null 2>&1

ตรวจสอบให้แน่ใจว่า cron บริการกำลังทำงาน:
sudo systemctl enable --now cron

10. เครื่องมืออื่น ๆ

# เครื่องมือบรรทัดคำสั่ง S3
sudo apt update
sudo apt install -y s3cmd
# ตั้งค่าด้วย: s3cmd --configure

# เครื่องวิเคราะห์การใช้งานพื้นที่ดิสก์
sudo apt install -y ncdu

11. Redis (แคชวัตถุ)

เปิดใช้งานและเริ่ม Redis ในฐานะบริการระบบ:

sudo systemctl enable redis-server.service
sudo systemctl start redis-server.service

ตรวจสอบกับ:

sudo systemctl status redis-server.service

12. โมดูล WordOps ที่ถูกข้ามไปโดยค่าเริ่มต้น

  • Nginx Ultimate Bad Bot Blocker: เป็นเครื่องมือที่ดีมาก แต่ไม่จำเป็นหากคุณกำลังใช้ WAF และระบบจำกัดความเร็วของ Cloudflare อยู่แล้ว.

13. ขั้นตอนสุดท้ายและคู่มือต่อไป

ทำตามคู่มือที่จัดไว้โดยเฉพาะเพื่อติดตั้งระบบให้ครบถ้วน (เหตุผลของการเลือกแต่ละอย่างและตัวเลือกอื่น ๆ ได้อธิบายไว้ในบทความเหล่านั้น).

หลังจากทำตามขั้นตอนเหล่านี้แล้ว เครื่องเซิร์ฟเวอร์ Ubuntu LTS ของคุณจะมี:

  • ผู้ใช้ sudo ที่ปลอดภัยและไม่ใช่ผู้ใช้ root ซึ่งสามารถเข้าถึงได้ผ่านกุญแจ SSH
  • การเข้าสู่ระบบด้วยบัญชี root ผ่าน SSH ถูกปิดใช้งาน
  • ชื่อโดเมนเต็ม (FQDN) และเขตเวลาที่ถูกต้อง
  • การผสานรวม WordOps + UFW + Cloudflare
  • WP-Cron, Redis และเครื่องมือบริหารจัดการทั่วไประดับระบบ

ตอนนี้คุณพร้อมแล้วที่จะสร้างเว็บไซต์ WordPress ด้วย wo site create example.com --wpfc (หรือตัวเลือกสแต็กอื่น ๆ) และเสริมความปลอดภัยให้แต่ละเว็บไซต์อย่างแยกกัน.

หน้านี้มีประโยชน์หรือไม่?

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *