โครงสร้างระบบไฟล์ และ Service สำคัญที่ผู้ดูแล Internet Server ต้องรู้

โครงสร้างระบบไฟล์ และ Service สำคัญที่ผู้ดูแล Internet Server ต้องรู้

การดูแล Internet Server บน Ubuntu Server ให้มีความมั่นคง ปลอดภัย และพร้อมใช้งานตลอดเวลา ไม่ได้ขึ้นอยู่กับการติดตั้งซอฟต์แวร์เพียงอย่างเดียว แต่หัวใจสำคัญคือ ความเข้าใจโครงสร้างระบบไฟล์ (Filesystem Hierarchy) และ Service หลักของระบบ

บทความนี้สรุปองค์ความรู้เชิงปฏิบัติสำหรับผู้ดูแลระบบ (System Administrator / SysAdmin) ที่ต้องการทำงานได้อย่างมืออาชีพ ลดความผิดพลาด และแก้ปัญหาได้ตรงจุด


โครงสร้างระบบไฟล์ (Filesystem Hierarchy) ที่ต้องรู้

 


ที่มา: @GeeksforGeeks

Ubuntu Server ใช้มาตรฐาน Filesystem Hierarchy Standard (FHS) ซึ่งกำหนดหน้าที่ของแต่ละไดเรกทอรีอย่างชัดเจน การรู้ว่าไฟล์อะไร “ควรอยู่ที่ไหน” จะช่วยให้บริหารจัดการระบบได้อย่างมีระบบและปลอดภัย โดยโครงสร้างไฟล์หลักบน Ubuntu มีดังนี้

1. / (Root Directory)

จุดเริ่มต้นของระบบไฟล์ทั้งหมด ทุกไดเรกทอรีล้วนแตกแขนงจากที่นี่

หลักคิดสำคัญ: หาก / เต็ม ระบบจะเริ่มมีปัญหาทันที


2. /etc – ศูนย์รวมไฟล์ Configuration

ไดเรกทอรีที่ผู้ดูแลระบบต้องเข้าใช้งานบ่อยที่สุด

ตัวอย่างที่สำคัญ

  • /etc/ssh/sshd_config – ตั้งค่า SSH

  • /etc/nginx/ หรือ /etc/apache2/ – Web Server

  • /etc/mysql/ หรือ /etc/mariadb/ – Database

  • /etc/fail2ban/ – ระบบป้องกัน Brute Force

แนวปฏิบัติที่แนะนำ

  • สำรองไฟล์ก่อนแก้ไขทุกครั้ง

  • ใช้ version control (เช่น git) สำหรับ server สำคัญ


3. /var – ข้อมูลที่เปลี่ยนแปลงตลอดเวลา

เป็นหัวใจของ Internet Server

  • /var/log/ – เก็บ Log ทั้งระบบ (syslog, auth.log, nginx.log)

  • /var/www/ – Web root (เก็บเว็บไซต์หลักขององค์กร)

  • /var/lib/ – ข้อมูล service เช่น database

หาก /var เต็ม → Web ล่ม → Database จะเขียนข้อมูลไม่ได้


4. /home – Home Directory ของผู้ใช้

ใช้เก็บข้อมูลของ user ปกติ

-ใน Server ควร

  • แยก user สำหรับงานบริการ (service user)

  • ไม่รัน service สำคัญด้วย user ธรรมดา


5. /usr – โปรแกรมและ Library

  • /usr/bin – คำสั่งทั่วไป

  • /usr/sbin – คำสั่งสำหรับผู้ดูแลระบบ

  • /usr/lib – Library

ไม่ควรแก้ไขไฟล์ใน /usr โดยตรง ยกเว้นมีเหตุผลชัดเจน


6. /opt – ซอฟต์แวร์เสริม

เหมาะสำหรับ

  • โปรแกรมที่ติดตั้งเอง

  • Software แบบ Self-host (เช่น n8n, custom app)

ช่วยให้ระบบเป็นระเบียบ และถอนออกง่าย


7. /tmp และ /run

  • /tmp – ไฟล์ชั่วคราว (ล้างอัตโนมัติ)

  • /run – runtime data เช่น socket, PID


Service สำคัญที่ผู้ดูแล Internet Server ต้องรู้

1. SSH (sshd)

ประตูหลักของผู้ดูแลระบบ

-สิ่งที่ควรทำ

  • ปิด root login

  • เปลี่ยน port (ถ้าจำเป็น)

  • ใช้ key-based authentication

– คำสั่งตรวจสอบ

systemctl status ssh

2. Web Server

  • Nginx – เบา เร็ว เหมาะกับ high traffic

  • Apache – ยืดหยุ่น ใช้งานง่าย

-ไฟล์คอนฟิกที่สำคัญ

  • /etc/nginx/nginx.conf

  • /etc/nginx/sites-available/

  • /var/www/html


3. PHP-FPM

ตัวประมวลผล PHP สำหรับเว็บแอป (แนะนำ)

  • /etc/php/*/fpm/php.ini

  • /run/php/php8.x-fpm.sock

แนะนำแยก pool ตามเว็บไซต์ เพิ่มความปลอดภัยและเสถียรภาพ


4. Database Service

  • MySQL / MariaDB

  • PostgreSQL

– สิ่งที่ต้องรู้

  • ที่เก็บ data อยู่ใน /var/lib

  • Log ช่วยวิเคราะห์ performance และ error


5. Firewall

  • UFW (พื้นฐาน ใช้ง่าย)

  • iptables / nftables (ขั้นสูง)

– คำสั่งพื้นฐาน

ufw status

6. Fail2ban

ระบบป้องกัน Brute Force  คลิกอ่านบทความเพิ่มเติมได้ที่นี่ 

  • อ่าน log จาก /var/log

  • config ที่ /etc/fail2ban/

ช่วยลดความเสี่ยงจากการโจมตีอัตโนมัติ


7. Systemd

ตัวจัดการ service หลักของ Ubuntu Server
-คำสั่งที่ต้องใช้เป็น

systemctl status <service>
systemctl start <service>
systemctl stop <service>
systemctl enable <service>

สรุป

การเป็นผู้ดูแล Internet Server ที่ดี ไม่ใช่แค่ “ติดตั้งได้” แต่ต้อง เข้าใจโครงสร้างระบบไฟล์ + รู้จัก Service สำคัญ + คิดเชิงป้องกัน

เมื่อคุณรู้ว่าไฟล์ไหนอยู่ที่ไหน และ service ใดมีผลต่อระบบส่วนใด การแก้ปัญหา การปรับจูน และการรักษาความปลอดภัยจะกลายเป็นเรื่องที่ควบคุมได้

ความเชี่ยวชาญของ SysAdmin วัดจาก “ความเข้าใจระบบ” ไม่ใช่แค่จำนวนคำสั่งที่จำได้

ขอเป็นกำลังใจให้น้องๆ SysAdmin ทุกคนดูแลระบบให้มั่นคง แข็งแรง และพร้อมใช้งานเสมอ โชคดีครับ 🙂


ที่มา:
Filesystem Hierarchy Standard (FHS)
Linux File Hierarchy Structure



เขียนและรวบรวมโดย
Dr.Arnut Ruttanatirakul
Technology Lecturer, KMITL
5 January 2025