Linux Server คืออะไร? สอนติดตั้งและจัดการ Linux Server สำหรับองค์กร Ubuntu/CentOS/Rocky 2026

Linux Server คืออะไร? ทำไมถึงเป็นตัวเลือกอันดับหนึ่งสำหรับองค์กร

Linux Server คือระบบปฏิบัติการเซิร์ฟเวอร์ที่ใช้เคอร์เนล Linux เป็นพื้นฐาน ซึ่งเป็นระบบปฏิบัติการแบบ Open Source ที่ได้รับความนิยมมากที่สุดในโลกสำหรับการใช้งานฝั่งเซิร์ฟเวอร์ ไม่ว่าจะเป็น Web Server, Database Server, Mail Server, File Server หรือแม้กระทั่ง Cloud Infrastructure ทั้งหมดล้วนพึ่งพา Linux เป็นหลัก จากสถิติในปี 2026 พบว่ามากกว่า 96% ของเซิร์ฟเวอร์ 500 อันดับแรกของโลก (Top 500 Supercomputers) ใช้ Linux และมากกว่า 80% ของ Public Cloud Workloads ทั่วโลกก็ทำงานอยู่บน Linux เช่นกัน

สาเหตุที่ Linux ครองตลาดเซิร์ฟเวอร์มาอย่างยาวนานนั้นมาจากหลายปัจจัย ประการแรกคือ ความเสถียรและความน่าเชื่อถือ เซิร์ฟเวอร์ Linux สามารถทำงานต่อเนื่องได้หลายปีโดยไม่ต้อง Reboot ซึ่งเป็นสิ่งสำคัญอย่างยิ่งสำหรับระบบที่ต้องการ Uptime สูง ประการที่สองคือ ความปลอดภัย ด้วยสถาปัตยกรรมแบบ Unix-like ที่แยก Permission ชัดเจน ทำให้ Linux มีภูมิคุ้มกันที่ดีต่อ Malware และ Virus ประการที่สามคือ ต้นทุนต่ำ เนื่องจากเป็น Open Source จึงไม่มีค่าลิขสิทธิ์ ประหยัดงบประมาณขององค์กรได้มหาศาล และประการสุดท้ายคือ ความยืดหยุ่น สามารถปรับแต่งได้ทุกอย่างตามต้องการ ตั้งแต่ Kernel จนถึง User Interface

เลือก Linux Distro ไหนดีสำหรับเซิร์ฟเวอร์? เปรียบเทียบ Ubuntu Server vs Rocky Linux vs Debian vs AlmaLinux

การเลือก Linux Distribution (Distro) สำหรับเซิร์ฟเวอร์เป็นขั้นตอนสำคัญที่ส่งผลต่อการดูแลระบบในระยะยาว แต่ละ Distro มีจุดเด่นและข้อจำกัดที่แตกต่างกัน มาดูรายละเอียดของแต่ละตัวเลือกยอดนิยมกัน

Ubuntu Server

Ubuntu Server เป็น Distro ที่ได้รับความนิยมสูงสุดสำหรับ Cloud และ Web Server พัฒนาโดย Canonical มีรอบการอัปเดตทุก 6 เดือน และเวอร์ชัน LTS (Long Term Support) ทุก 2 ปี ซึ่งได้รับการสนับสนุนยาวนานถึง 5 ปี (หรือ 10 ปีหากใช้ Ubuntu Pro) ข้อดีของ Ubuntu Server คือมี Community ขนาดใหญ่ เอกสารครบถ้วน Package ใหม่อัปเดตเร็ว และรองรับ Snap Package ที่ช่วยให้ติดตั้ง Application ได้สะดวก ใช้ระบบ Package Management แบบ APT (apt) และ dpkg เหมาะสำหรับ Web Application, Container Host, Cloud Deployment และผู้เริ่มต้นศึกษา Linux Server

Rocky Linux

Rocky Linux เป็น Distro ที่เกิดขึ้นมาแทนที่ CentOS หลังจากที่ Red Hat ตัดสินใจเปลี่ยน CentOS จาก Downstream เป็น Upstream (CentOS Stream) ในปี 2020 Rocky Linux ถูกสร้างขึ้นโดย Gregory Kurtzer ผู้ก่อตั้ง CentOS คนเดิม มีเป้าหมายเพื่อเป็น Bug-for-bug Compatible กับ Red Hat Enterprise Linux (RHEL) ทุกประการ เหมาะสำหรับองค์กรที่ต้องการความเสถียรสูง มี Life Cycle ยาวนาน 10 ปี ใช้ระบบ Package Management แบบ DNF/YUM เหมาะกับ Production Server, Database Server และ Enterprise Environment

Debian

Debian เป็น Distro รุ่นเก่าแก่ที่สุดตัวหนึ่งของ Linux และเป็นต้นกำเนิดของ Ubuntu จุดเด่นคือความเสถียรสูงมาก เนื่องจากมีกระบวนการทดสอบ Package อย่างเข้มงวดก่อนจะปล่อยเข้า Stable Repository มี Life Cycle ประมาณ 5 ปีต่อ Major Version ใช้ APT เช่นเดียวกับ Ubuntu แต่จะได้ Package เวอร์ชันเก่ากว่าเล็กน้อยเพื่อแลกกับความเสถียร เหมาะสำหรับ Mail Server, DNS Server และระบบที่เน้นความเสถียรมากกว่า Feature ใหม่

AlmaLinux

AlmaLinux เป็นอีกหนึ่งทางเลือกที่เกิดขึ้นมาแทน CentOS เช่นเดียวกับ Rocky Linux พัฒนาโดย CloudLinux Inc. ซึ่งเป็นบริษัทที่มีประสบการณ์ในการพัฒนา Linux สำหรับ Hosting Provider มานาน AlmaLinux มุ่งเน้นความเข้ากันได้กับ RHEL เช่นกัน มีระบบ ELevate ที่ช่วยอัปเกรดจาก CentOS ไป AlmaLinux ได้อย่างราบรื่น เหมาะสำหรับ Web Hosting, cPanel Server และ Migration จาก CentOS

ตารางเปรียบเทียบ Linux Distro สำหรับเซิร์ฟเวอร์

คุณสมบัติ Ubuntu Server Rocky Linux Debian AlmaLinux
ฐาน Debian RHEL อิสระ RHEL
Package Manager APT DNF/YUM APT DNF/YUM
Support Cycle 5-10 ปี (LTS) 10 ปี 5 ปี + LTS 10 ปี
Release ล่าสุด 24.04 LTS 9.x 12 (Bookworm) 9.x
เหมาะกับ Cloud, Web, เริ่มต้น Enterprise, Production Mail, DNS, เสถียร Hosting, Migration

ขั้นตอนการติดตั้ง Linux Server แบบ Step-by-Step (Ubuntu Server 24.04 LTS)

เราจะใช้ Ubuntu Server 24.04 LTS เป็นตัวอย่างในการติดตั้ง เนื่องจากเป็น Distro ที่เหมาะสำหรับการเรียนรู้มากที่สุด ขั้นตอนหลักมีดังนี้

ขั้นตอนที่ 1: เตรียม Installation Media

ดาวน์โหลด ISO ไฟล์จากเว็บไซต์ทางการของ Ubuntu ที่ ubuntu.com/download/server จากนั้นสร้าง Bootable USB ด้วยโปรแกรมอย่าง Rufus (Windows) หรือ Balena Etcher (Cross-platform) หรือใช้คำสั่ง dd บน Linux สำหรับการทดสอบสามารถใช้ Virtual Machine อย่าง VirtualBox หรือ VMware Workstation ก็ได้ ในกรณีที่ใช้ VM แนะนำให้จัดสรร RAM อย่างน้อย 2 GB, พื้นที่ดิสก์ 25 GB ขึ้นไป และ CPU 2 Cores

ขั้นตอนที่ 2: เริ่มการติดตั้ง

Boot จาก USB หรือ ISO จะเข้าสู่หน้าจอติดตั้งแบบ Text-based (Subiquity Installer) เลือกภาษาการติดตั้งเป็น English เลือก Keyboard Layout จากนั้นเลือกประเภทการติดตั้งเป็น “Ubuntu Server” (ไม่ใช่ minimized) กำหนดค่า Network Interface โดยปกติจะใช้ DHCP อัตโนมัติ หากต้องการ Static IP ให้ตั้งค่าในขั้นตอนนี้

ขั้นตอนที่ 3: ตั้งค่า Disk และ Partition

เลือก “Use an entire disk” สำหรับการติดตั้งแบบง่าย หรือ “Custom storage layout” หากต้องการแบ่ง Partition เอง สำหรับเซิร์ฟเวอร์ขององค์กร แนะนำให้ใช้ LVM (Logical Volume Manager) เพื่อให้สามารถขยายพื้นที่ดิสก์ได้ในภายหลัง โครงสร้าง Partition ที่แนะนำ ได้แก่ /boot ขนาด 1 GB, / (root) ขนาด 20-50 GB, /home สำหรับเก็บข้อมูล User, /var สำหรับ Log และ Database, และ swap ขนาด 2-4 GB

ขั้นตอนที่ 4: สร้างบัญชีผู้ใช้และตั้งค่า SSH

ตั้งชื่อ Server Name, Username และ Password ที่แข็งแรง เลือก “Install OpenSSH server” เพื่อให้สามารถ Remote Access ได้หลังจากติดตั้งเสร็จ สามารถ Import SSH Key จาก GitHub ได้เลยในขั้นตอนนี้ หลังจากนั้นเลือก Snap Packages ที่ต้องการ (ข้ามได้) แล้วรอการติดตั้งจนเสร็จสมบูรณ์ Reboot เครื่องเป็นอันเสร็จสิ้น

คำสั่ง Linux พื้นฐานที่ต้องรู้สำหรับ System Administrator

การจัดการไฟล์และโฟลเดอร์

คำสั่งพื้นฐานที่ใช้งานบ่อยที่สุดในการจัดการไฟล์บน Linux Server มีดังนี้

# แสดงรายการไฟล์
ls -la                    # แสดงไฟล์ทั้งหมดรวมไฟล์ซ่อน พร้อมรายละเอียด
ls -lh                    # แสดงขนาดไฟล์แบบ Human-readable

# นำทางไดเรกทอรี
cd /var/log               # เปลี่ยนไดเรกทอรี
pwd                       # แสดงไดเรกทอรีปัจจุบัน

# สร้าง/ลบไฟล์และโฟลเดอร์
mkdir -p /opt/myapp/data  # สร้างโฟลเดอร์หลายระดับ
touch newfile.txt         # สร้างไฟล์ว่าง
cp -r source/ dest/       # คัดลอกโฟลเดอร์
mv oldname newname        # ย้าย/เปลี่ยนชื่อ
rm -rf /tmp/cache/        # ลบโฟลเดอร์ (ระวัง!)

# ค้นหาไฟล์
find /var -name "*.log" -mtime -7     # ค้นหาไฟล์ .log ที่แก้ไขภายใน 7 วัน
locate nginx.conf                      # ค้นหาไฟล์ด้วย DB index (เร็วกว่า)

# ดูเนื้อหาไฟล์
cat /etc/hostname          # แสดงเนื้อหาทั้งหมด
less /var/log/syslog       # เปิดดูทีละหน้า
tail -f /var/log/auth.log  # ดู Log แบบ Real-time
head -20 config.yaml       # แสดง 20 บรรทัดแรก

การจัดการสิทธิ์ (Permissions) และ Ownership

ระบบ Permission ของ Linux ใช้หลัก UGO (User, Group, Others) โดยแต่ละกลุ่มมีสิทธิ์ 3 ระดับคือ Read (r=4), Write (w=2), Execute (x=1) การเข้าใจระบบ Permission เป็นสิ่งจำเป็นอย่างยิ่งสำหรับ System Administrator

# เปลี่ยน Permission
chmod 755 script.sh        # rwxr-xr-x (owner ทำได้ทุกอย่าง, คนอื่นอ่านและ execute)
chmod 644 config.conf      # rw-r--r-- (owner อ่าน/เขียน, คนอื่นอ่านอย่างเดียว)
chmod -R 750 /opt/myapp/   # เปลี่ยน Permission ทั้งโฟลเดอร์

# เปลี่ยนเจ้าของ
chown www-data:www-data /var/www/html/   # เปลี่ยน Owner เป็น Web Server
chown -R appuser:appgroup /opt/myapp/    # เปลี่ยนเจ้าของทั้งโฟลเดอร์

การจัดการ Users และ Groups

การบริหารจัดการบัญชีผู้ใช้เป็นงานพื้นฐานที่สำคัญของ Linux Administrator ต้องเข้าใจการสร้าง แก้ไข และลบบัญชีผู้ใช้อย่างถูกต้อง

# จัดการ User
useradd -m -s /bin/bash -G sudo newuser   # สร้าง User ใหม่พร้อม Home Directory
passwd newuser                             # ตั้ง Password
usermod -aG docker newuser                 # เพิ่ม User เข้า Group
userdel -r olduser                         # ลบ User พร้อม Home Directory

# จัดการ Group
groupadd developers                        # สร้าง Group
groupdel developers                        # ลบ Group
id newuser                                 # ดูข้อมูล User
who                                        # ดู User ที่ Login อยู่
last                                       # ดูประวัติการ Login

Package Management: APT vs DNF/YUM

การจัดการ Package เป็นทักษะพื้นฐานที่ Linux Administrator ต้องเชี่ยวชาญ โดยแต่ละ Distro Family จะใช้ระบบ Package Management ที่แตกต่างกัน

APT (Debian/Ubuntu)

# อัปเดตรายการ Package
sudo apt update                    # อัปเดต Package List
sudo apt upgrade -y                # อัปเกรด Package ทั้งหมด
sudo apt full-upgrade -y           # อัปเกรดรวมถึง Kernel

# ติดตั้ง/ลบ Package
sudo apt install nginx php-fpm     # ติดตั้ง Package
sudo apt remove nginx              # ลบ Package (เก็บ Config)
sudo apt purge nginx               # ลบ Package พร้อม Config
sudo apt autoremove                # ลบ Dependency ที่ไม่ใช้

# ค้นหา Package
apt search mysql                   # ค้นหา Package
apt show nginx                     # แสดงรายละเอียด Package
dpkg -l | grep nginx               # ดู Package ที่ติดตั้งแล้ว

DNF/YUM (Rocky Linux/AlmaLinux/RHEL)

# อัปเดต Package
sudo dnf check-update              # ตรวจสอบ Update
sudo dnf update -y                 # อัปเดตทั้งหมด

# ติดตั้ง/ลบ Package
sudo dnf install httpd php         # ติดตั้ง Package
sudo dnf remove httpd              # ลบ Package
sudo dnf groupinstall "Development Tools"   # ติดตั้ง Group Package

# เปิดใช้ Repository เพิ่มเติม
sudo dnf install epel-release      # เพิ่ม EPEL Repository
sudo dnf config-manager --set-enabled crb   # เปิด CRB Repository

# ค้นหา Package
dnf search redis                   # ค้นหา Package
dnf info redis                     # แสดงรายละเอียด
rpm -qa | grep redis               # ดู Package ที่ติดตั้งแล้ว

Systemd Service Management: หัวใจของ Linux Server สมัยใหม่

Systemd เป็นระบบ Init System และ Service Manager หลักของ Linux Distribution สมัยใหม่แทบทุกตัว ทำหน้าที่จัดการ Process ทั้งหมดตั้งแต่ Boot จนถึง Shutdown การเข้าใจ Systemd จึงเป็นสิ่งจำเป็นอย่างยิ่ง

# จัดการ Service
sudo systemctl start nginx          # เริ่มต้น Service
sudo systemctl stop nginx           # หยุด Service
sudo systemctl restart nginx        # Restart Service
sudo systemctl reload nginx         # Reload Config โดยไม่หยุด Service
sudo systemctl status nginx         # ดูสถานะ Service

# เปิด/ปิดการเริ่มต้นอัตโนมัติ
sudo systemctl enable nginx         # เปิดใช้งานตอน Boot
sudo systemctl disable nginx        # ปิดไม่ให้ Start ตอน Boot
sudo systemctl enable --now nginx   # เปิดใช้งานและ Start ทันที

# ดูรายการ Service
systemctl list-units --type=service              # ดู Service ทั้งหมด
systemctl list-units --type=service --state=running   # ดู Service ที่ทำงานอยู่
systemctl list-unit-files --type=service          # ดูสถานะ Enable/Disable

# ดู Log ของ Service
journalctl -u nginx -f              # ดู Log แบบ Real-time
journalctl -u nginx --since "1 hour ago"   # ดู Log ย้อนหลัง 1 ชั่วโมง

สร้าง Custom Systemd Service

หากต้องการสร้าง Service สำหรับ Application ของตัวเอง สามารถสร้าง Service Unit File ได้ดังนี้

# สร้างไฟล์ /etc/systemd/system/myapp.service
[Unit]
Description=My Application Service
After=network.target mysql.service
Wants=mysql.service

[Service]
Type=simple
User=appuser
Group=appgroup
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/bin/start.sh
ExecStop=/opt/myapp/bin/stop.sh
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

หลังจากสร้างไฟล์แล้ว ใช้คำสั่ง sudo systemctl daemon-reload เพื่อให้ Systemd รู้จัก Service ใหม่ จากนั้นจึง sudo systemctl enable --now myapp เพื่อเริ่มใช้งาน

SSH Hardening: รักษาความปลอดภัยการเข้าถึงระยะไกล

SSH (Secure Shell) เป็นโปรโตคอลหลักที่ใช้ในการเข้าถึง Linux Server จากระยะไกล การตั้งค่าความปลอดภัย SSH อย่างถูกต้องจึงมีความสำคัญอย่างยิ่ง ข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยเครือข่ายสามารถอ่านได้จากบทความ Server & Datacenter ของเรา

# แก้ไขไฟล์ /etc/ssh/sshd_config
# 1. เปลี่ยน Port (หลีกเลี่ยง Port 22 ที่ถูก Scan บ่อย)
Port 2222

# 2. ปิด Root Login
PermitRootLogin no

# 3. ใช้ Key Authentication เท่านั้น
PasswordAuthentication no
PubkeyAuthentication yes

# 4. จำกัด User ที่ Login ได้
AllowUsers admin deploy

# 5. ตั้งค่า Timeout
ClientAliveInterval 300
ClientAliveCountMax 2

# 6. ปิด X11 Forwarding (ถ้าไม่ใช้)
X11Forwarding no

# 7. ใช้ Protocol 2 เท่านั้น (ปลอดภัยกว่า)
Protocol 2

ตั้งค่า SSH Key Authentication

# สร้าง SSH Key บนเครื่อง Client
ssh-keygen -t ed25519 -C "[email protected]"

# คัดลอก Public Key ไปยังเซิร์ฟเวอร์
ssh-copy-id -p 2222 admin@server-ip

# ทดสอบ Login ด้วย Key
ssh -p 2222 admin@server-ip

# ติดตั้ง Fail2Ban เพื่อป้องกัน Brute Force
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Firewall บน Linux: UFW และ Firewalld

การตั้งค่า Firewall เป็นอีกหนึ่งมาตรการสำคัญในการป้องกันเซิร์ฟเวอร์ Linux มี Firewall Tool หลักสองตัวคือ UFW สำหรับ Ubuntu/Debian และ Firewalld สำหรับ Rocky/AlmaLinux/RHEL หากต้องการศึกษาเรื่อง Firewall เชิงลึก สามารถอ่านเพิ่มเติมได้ที่บทความ IT Knowledge ของเรา

UFW (Uncomplicated Firewall) – Ubuntu/Debian

# เปิดใช้งาน UFW
sudo ufw enable

# อนุญาต Service พื้นฐาน
sudo ufw allow ssh                    # หรือ sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp                 # HTTP
sudo ufw allow 443/tcp                # HTTPS
sudo ufw allow from 192.168.1.0/24    # อนุญาตจาก Subnet เฉพาะ

# ปิดกั้น
sudo ufw deny 3306/tcp                # บล็อค MySQL จากภายนอก

# ดูสถานะ
sudo ufw status verbose
sudo ufw status numbered               # แสดงพร้อมเลข Rule
sudo ufw delete 5                      # ลบ Rule ลำดับที่ 5

Firewalld – Rocky Linux/AlmaLinux/RHEL

# เปิดใช้งาน Firewalld
sudo systemctl enable --now firewalld

# จัดการ Zone และ Service
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent

# Reload เพื่อใช้งาน
sudo firewall-cmd --reload

# ดูสถานะ
sudo firewall-cmd --list-all
sudo firewall-cmd --get-active-zones

Disk Management: LVM และ RAID

การจัดการพื้นที่เก็บข้อมูลเป็นงานหลักอีกอย่างหนึ่งของ Linux Administrator โดยเฉพาะ LVM (Logical Volume Manager) ที่ช่วยให้สามารถจัดการดิสก์ได้อย่างยืดหยุ่น และ RAID (Redundant Array of Independent Disks) ที่ช่วยเพิ่มความเร็วและความปลอดภัยของข้อมูล

LVM (Logical Volume Manager)

# สร้าง Physical Volume
sudo pvcreate /dev/sdb /dev/sdc

# สร้าง Volume Group
sudo vgcreate data-vg /dev/sdb /dev/sdc

# สร้าง Logical Volume
sudo lvcreate -L 100G -n data-lv data-vg

# Format และ Mount
sudo mkfs.ext4 /dev/data-vg/data-lv
sudo mkdir /data
sudo mount /dev/data-vg/data-lv /data

# เพิ่มใน /etc/fstab เพื่อ Mount อัตโนมัติ
echo '/dev/data-vg/data-lv /data ext4 defaults 0 2' | sudo tee -a /etc/fstab

# ขยาย LV (จุดเด่นของ LVM)
sudo lvextend -L +50G /dev/data-vg/data-lv
sudo resize2fs /dev/data-vg/data-lv

Software RAID ด้วย mdadm

# สร้าง RAID 1 (Mirror)
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

# ดูสถานะ RAID
cat /proc/mdstat
sudo mdadm --detail /dev/md0

# บันทึก Config
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Storage ในระดับองค์กร แนะนำอ่านบทความเกี่ยวกับ Server & Datacenter ที่รวมเนื้อหาเกี่ยวกับ NAS Storage และ Backup

Cron Jobs: จัดการงานอัตโนมัติ

Cron เป็นเครื่องมือที่ใช้ในการตั้งเวลาให้ทำงานอัตโนมัติตามกำหนดการ เป็นสิ่งจำเป็นสำหรับ Linux Server ทุกเครื่อง ไม่ว่าจะเป็นการ Backup ข้อมูล การทำความสะอาด Log หรือการรัน Script ประจำวัน

# แก้ไข Crontab
crontab -e                           # แก้ไข Crontab ของ User ปัจจุบัน
sudo crontab -e                      # แก้ไข Crontab ของ Root
crontab -l                           # ดู Crontab ปัจจุบัน

# รูปแบบ: นาที ชั่วโมง วัน เดือน วันในสัปดาห์ คำสั่ง
# ตัวอย่าง Cron Jobs ที่ใช้บ่อย

# Backup ฐานข้อมูลทุกวันตอน 2:00 น.
0 2 * * * /usr/local/bin/backup-db.sh >> /var/log/backup.log 2>&1

# ลบไฟล์ Log เก่ากว่า 30 วัน ทุกสัปดาห์
0 3 * * 0 find /var/log -name "*.log" -mtime +30 -delete

# ตรวจสอบพื้นที่ดิสก์ทุก 6 ชั่วโมง
0 */6 * * * /usr/local/bin/check-disk.sh

# อัปเดต Package ทุกวันจันทร์ตอน 4:00 น.
0 4 * * 1 apt update && apt upgrade -y >> /var/log/auto-update.log 2>&1

# Renew SSL Certificate ทุกวันที่ 1 ของเดือน
0 5 1 * * certbot renew --quiet

Systemd Timers (ทางเลือกแทน Cron)

นอกจาก Cron แล้ว Systemd Timers เป็นอีกทางเลือกที่มีข้อดีเหนือกว่า เช่น สามารถดู Log ผ่าน journalctl ได้ มี Dependency Management และรองรับการทำงานที่ยืดหยุ่นกว่า

# ดู Timer ที่ทำงานอยู่
systemctl list-timers --all

# สร้าง Timer สำหรับ Backup
# /etc/systemd/system/backup.timer
[Unit]
Description=Daily Backup Timer

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

Log Management: journalctl, rsyslog และ logrotate

การจัดการ Log เป็นทักษะสำคัญสำหรับ Linux Administrator การดู Log อย่างมีประสิทธิภาพจะช่วยให้สามารถ Debug ปัญหา ตรวจสอบความปลอดภัย และติดตามสถานะของระบบได้อย่างทันท่วงที

journalctl (Systemd Journal)

# ดู Log ทั้งหมด
journalctl                          # ดู Log ทั้งหมด
journalctl -f                       # ดู Log แบบ Real-time (เหมือน tail -f)
journalctl -b                       # ดู Log ตั้งแต่ Boot ล่าสุด
journalctl -b -1                    # ดู Log ของ Boot ก่อนหน้า

# กรอง Log
journalctl -u nginx                 # ดู Log ของ Service เฉพาะ
journalctl -p err                   # ดูเฉพาะ Error
journalctl --since "2026-04-01" --until "2026-04-08"   # ช่วงเวลา
journalctl -u sshd --since "1 hour ago"                # SSH Log 1 ชั่วโมงที่ผ่านมา

# จัดการขนาด Journal
journalctl --disk-usage              # ดูพื้นที่ที่ใช้
sudo journalctl --vacuum-size=500M   # จำกัดขนาดไม่เกิน 500 MB
sudo journalctl --vacuum-time=30d    # ลบ Log เก่ากว่า 30 วัน

rsyslog

rsyslog เป็น Syslog Daemon ที่รับผิดชอบในการเก็บ Log แบบดั้งเดิมของ Linux สามารถตั้งค่าให้ส่ง Log ไปยัง Remote Server เพื่อรวบรวม Log จากหลายเซิร์ฟเวอร์ได้ ไฟล์ Log สำคัญที่ควรรู้จัก ได้แก่ /var/log/syslog (Ubuntu) หรือ /var/log/messages (Rocky/RHEL) สำหรับ Log ทั่วไป, /var/log/auth.log สำหรับ Log การ Login, /var/log/kern.log สำหรับ Kernel Log และ /var/log/apt/ หรือ /var/log/dnf.log สำหรับ Log การติดตั้ง Package

logrotate

logrotate เป็นเครื่องมือที่ช่วยหมุนเวียน Log ไฟล์อัตโนมัติ เพื่อป้องกันไม่ให้ Log ไฟล์มีขนาดใหญ่จนเต็มดิสก์ สามารถตั้งค่าได้ที่ /etc/logrotate.conf และ /etc/logrotate.d/

Performance Monitoring: ติดตามประสิทธิภาพเซิร์ฟเวอร์

การติดตามประสิทธิภาพเซิร์ฟเวอร์เป็นงานประจำที่ Linux Administrator ต้องทำอย่างสม่ำเสมอ เพื่อตรวจจับปัญหาก่อนที่จะกระทบต่อการให้บริการ สำหรับเครื่องมือ Monitoring ระดับ Enterprise สามารถศึกษาเพิ่มเติมได้จากบทความเกี่ยวกับ IT Knowledge

เครื่องมือ Monitor พื้นฐาน

# top - ดู Process แบบ Real-time
top                                  # ดู Process ทั้งหมด
# กด 'M' เพื่อเรียงตาม Memory, 'P' เพื่อเรียงตาม CPU

# htop - เวอร์ชันสวยกว่า top
sudo apt install htop                # ติดตั้ง htop
htop                                 # เปิดใช้งาน

# vmstat - ดู Memory, CPU, I/O
vmstat 5                             # แสดงทุก 5 วินาที
vmstat -s                            # แสดงสรุป Memory

# iostat - ดู Disk I/O
sudo apt install sysstat
iostat -x 5                          # Disk I/O ทุก 5 วินาที

# free - ดู Memory
free -h                              # แสดง Memory แบบ Human-readable

# df - ดูพื้นที่ดิสก์
df -h                                # แสดงพื้นที่ดิสก์ทุก Partition
df -ih                               # แสดงจำนวน Inode

# sar - System Activity Reporter
sar -u 5 10                          # CPU ทุก 5 วินาที 10 ครั้ง
sar -r 5 10                          # Memory ทุก 5 วินาที 10 ครั้ง
sar -n DEV 5                         # Network ทุก 5 วินาที

# nload - ดู Network Bandwidth แบบ Real-time
sudo apt install nload
nload eth0

ตรวจสอบ Network

# ss - ดู Socket Statistics (แทนที่ netstat)
ss -tuln                             # ดู Port ที่เปิดอยู่
ss -tp                               # ดู Connection ที่เชื่อมต่ออยู่

# netstat (ถ้ายังมี)
netstat -tuln                        # ดู Port ที่ Listen

# ip - จัดการ Network Interface
ip addr show                         # ดู IP Address
ip route show                        # ดู Routing Table
ip link show                         # ดู Interface Status

Web Server Setup: Nginx และ Apache

Web Server เป็นหนึ่งในการใช้งาน Linux Server ที่พบบ่อยที่สุด มาดูวิธีการติดตั้งและตั้งค่า Nginx และ Apache กัน

Nginx – Web Server ยอดนิยมอันดับหนึ่ง

# ติดตั้ง Nginx
sudo apt install nginx               # Ubuntu/Debian
sudo dnf install nginx               # Rocky/AlmaLinux

# ตั้งค่า Virtual Host
sudo nano /etc/nginx/sites-available/mysite.conf

server {
    listen 80;
    server_name mysite.com www.mysite.com;
    root /var/www/mysite;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # Security Headers
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
}

# เปิดใช้งาน Site
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/
sudo nginx -t                        # ทดสอบ Config
sudo systemctl reload nginx

ติดตั้ง SSL Certificate ด้วย Let’s Encrypt

# ติดตั้ง Certbot
sudo apt install certbot python3-certbot-nginx

# ขอ SSL Certificate
sudo certbot --nginx -d mysite.com -d www.mysite.com

# ตั้ง Auto-renew
sudo certbot renew --dry-run         # ทดสอบ
# Certbot จะสร้าง Cron Job อัตโนมัติ

Security Best Practices สำหรับ Linux Server

ความปลอดภัยเป็นสิ่งที่ต้องคำนึงถึงเสมอเมื่อจัดการ Linux Server ต่อไปนี้คือ Best Practices ที่ Linux Administrator ทุกคนควรปฏิบัติ

1. อัปเดตระบบสม่ำเสมอ

ตั้ง Unattended Upgrades สำหรับ Security Patches อัตโนมัติ

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

2. ใช้ SELinux หรือ AppArmor

SELinux (Rocky/RHEL) หรือ AppArmor (Ubuntu) เป็น Mandatory Access Control ที่เพิ่มชั้นความปลอดภัยให้กับระบบ ไม่ควรปิดใช้งาน

# ตรวจสอบสถานะ SELinux (Rocky/RHEL)
getenforce
sestatus

# ตรวจสอบสถานะ AppArmor (Ubuntu)
sudo apparmor_status

3. ตั้งค่า Automatic Security Updates

ตั้งค่าให้ระบบอัปเดต Security Patches โดยอัตโนมัติเพื่อลดความเสี่ยงจาก Vulnerability ที่ได้รับการแก้ไขแล้ว

4. ใช้ Multi-Factor Authentication (MFA)

ติดตั้ง Google Authenticator หรือ TOTP สำหรับ SSH Login เพื่อเพิ่มชั้นความปลอดภัย

sudo apt install libpam-google-authenticator
google-authenticator

5. ตรวจสอบ Log อย่างสม่ำเสมอ

ใช้เครื่องมืออย่าง Logwatch หรือ GoAccess เพื่อวิเคราะห์ Log อัตโนมัติ และตั้ง Alert เมื่อพบสิ่งผิดปกติ

6. Kernel Hardening

# แก้ไข /etc/sysctl.conf
# ปิด IP Forwarding (ถ้าไม่ใช้เป็น Router)
net.ipv4.ip_forward = 0

# ป้องกัน SYN Flood
net.ipv4.tcp_syncookies = 1

# ป้องกัน ICMP Redirect
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# Enable Source Address Verification
net.ipv4.conf.all.rp_filter = 1

# Apply changes
sudo sysctl -p

7. จำกัดสิทธิ์ด้วย sudo

ไม่ควรใช้ Root โดยตรง ให้ใช้ sudo แทน และจำกัดคำสั่งที่แต่ละ User สามารถ sudo ได้

# แก้ไขด้วย visudo
sudo visudo

# ตัวอย่าง: อนุญาตให้ deploy user restart nginx เท่านั้น
deploy ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx

เส้นทางสู่ Certification: LPIC และ RHCSA

สำหรับผู้ที่ต้องการพัฒนาทักษะ Linux Server Administration อย่างเป็นระบบ การสอบ Certification เป็นทางเลือกที่ดี โดย Certification ที่ได้รับการยอมรับมากที่สุดในสายงาน Linux มีดังนี้

LPIC-1 (Linux Professional Institute Certification Level 1)

เป็น Certification ระดับเริ่มต้นที่ครอบคลุมทักษะ Linux พื้นฐาน ไม่ผูกกับ Distro ใดเป็นพิเศษ ประกอบด้วย 2 Exams คือ 101 และ 102 ครอบคลุมเนื้อหาเกี่ยวกับ System Architecture, Linux Installation, Package Management, GNU Commands, File System, Shell, Scripting, User Interface, Administrative Tasks, Networking Fundamentals และ Security

LPIC-2 (Level 2)

ระดับถัดจาก LPIC-1 เน้นทักษะ Administration ขั้นสูง รวมถึง Kernel Management, System Startup, File System Administration, Network Configuration, Domain Name Server, Web Services, File Sharing, Network Client Management, Email Services และ System Security

RHCSA (Red Hat Certified System Administrator)

เป็น Certification ของ Red Hat ที่มุ่งเน้น RHEL (และ Rocky/AlmaLinux) โดยเฉพาะ สอบแบบ Performance-based (ปฏิบัติจริง ไม่ใช่ Multiple Choice) ถือเป็นหนึ่งใน Certification ที่มีคุณค่ามากที่สุดในสาย Linux เนื่องจากต้องแสดงความสามารถจริง ครอบคลุม Essential Tools, File Systems, User Management, Security (SELinux, Firewall), Networking, Package Management, Process Management, Systemd Services และ Containers

RHCE (Red Hat Certified Engineer)

ระดับถัดจาก RHCSA เน้น Automation ด้วย Ansible สำหรับ System Administrator ที่ต้องการก้าวไปสู่ระดับ Senior

แผนการเตรียมสอบ

Certification ค่าสอบ (USD) เวลาเตรียมตัว ความยาก เหมาะกับ
LPIC-1 $200 x 2 2-3 เดือน ปานกลาง เริ่มต้น
LPIC-2 $200 x 2 3-4 เดือน ยาก กลาง
RHCSA $450 3-6 เดือน ยาก (ปฏิบัติ) Enterprise
RHCE $450 4-6 เดือน ยากมาก Senior

สรุป: Linux Server Administration คือทักษะที่ขาดไม่ได้

Linux Server Administration เป็นทักษะพื้นฐานที่ IT Professional ทุกคนควรมี ไม่ว่าจะเป็น System Administrator, DevOps Engineer, Cloud Engineer หรือ Security Engineer ล้วนต้องใช้ Linux ในการทำงานประจำวัน การเรียนรู้ Linux Server ตั้งแต่พื้นฐานจนถึงขั้นสูง ตั้งแต่การติดตั้ง การจัดการ Package การตั้งค่า Service การรักษาความปลอดภัย ไปจนถึงการ Monitor ประสิทธิภาพ จะช่วยให้คุณสามารถดูแลระบบ IT ขององค์กรได้อย่างมั่นใจ

สิ่งสำคัญที่สุดคือการฝึกปฏิบัติจริง ลองติดตั้ง Linux Server ใน Virtual Machine ทดลองใช้คำสั่งต่างๆ ตั้งค่า Web Server ลอง Deploy Application และทดสอบมาตรการรักษาความปลอดภัยต่างๆ ยิ่งฝึกมากยิ่งชำนาญ และเมื่อพร้อมแล้วก็สามารถสอบ Certification เพื่อยืนยันความรู้ความสามารถได้ การลงทุนเรียนรู้ Linux Server จะเป็นประโยชน์ต่ออาชีพของคุณไปอีกนานหลายปี

สำหรับผู้ที่สนใจศึกษาเพิ่มเติมเกี่ยวกับหัวข้อ IT อื่นๆ สามารถเยี่ยมชมบทความต่างๆ ได้ที่ siamlancard.com ซึ่งมีเนื้อหาครอบคลุมตั้งแต่ Networking, Security, Cloud จนถึง Server Administration

.

.
.
.

จัดส่งรวดเร็วส่งด่วนทั่วประเทศ
รับประกันสินค้าเคลมง่าย มีใบรับประกัน
ผ่อนชำระได้บัตรเครดิต 0% สูงสุด 10 เดือน
สะสมแต้ม รับส่วนลดส่วนลดและคะแนนสะสม

© 2026 SiamLancard — จำหน่ายการ์ดแลน อุปกรณ์ Server และเครื่องพิมพ์ใบเสร็จ

SiamLancard
#ffffff
Free Forex EA — XM Signal · SiamCafe Blog · SiamLancard · Siam2R · iCafeFX
Partner Sites: iCafe Forex | SiamCafe | SiamLancard | Siam2R | XM Signal | iCafe Cloud
iCafeForex.com - สอนเทรด Forex | SiamCafe.net
Shopping cart
Partner Sites: iCafeForex | SiamCafe | Siam2R | XMSignal