Self-hosted Tools

InitOps – Tự động cài đặt LEMP Stack và WordPress trên Ubuntu chỉ với một lệnh

InitOps là công cụ tự động triển khai LEMP Stack và WordPress trên Ubuntu, giúp người dùng thiết lập máy chủ WordPress nhanh chóng với cấu hình tối ưu sẵn cho hiệu năng, bảo mật và khả năng vận hành thực tế chuẩn Production.

InitOps – Tự động cài đặt LEMP Stack và WordPress trên Ubuntu chỉ với một lệnh

Chỉ cần một dòng lệnh, hệ thống tự động cài đặt Nginx, MariaDB, PHP 8.3/8.4/8.5, Redis, Tường lửa Iptables, bộ lọc Fail2Ban, công cụ SSL Certbot, WordPress và áp dụng các cấu hình tối ưu phù hợp với tài nguyên VPS của bạn.

Lưu ý: InitOps được tối ưu tốt nhất cho môi trường production sử dụng một domain duy nhất trên một VPS nhằm đảm bảo hiệu suất, độ ổn định và khả năng tối ưu tài nguyên hệ thống.

Repo chính thức: github.com/brokensmile2103/initops.

Cài đặt InitOps

Đăng nhập vào VPS Ubuntu bằng tài khoản root:

ssh root@your-server-ip

Sau đó chạy lệnh cài đặt duy nhất:

curl -sSL https://inithtml.com/initops/install.sh | bash

Hoặc:

curl -fsSL https://raw.githubusercontent.com/brokensmile2103/initops/main/install.sh | bash

Chỉ sau vài phút chạy tự động, toàn bộ môi trường hiệu năng cao sẽ sẵn sàng phục vụ dự án của bạn.

InitOps v1.9.0 Install

Bật lại Menu Tool

Sau lần cài đặt đầu tiên, InitOps tích hợp thẳng vào hệ thống dưới dạng System Command. Mỗi khi cần mở lại menu cấu hình, kiểm tra thông tin hoặc tối ưu lại hệ thống, chỉ cần gõ:

initops

Menu công cụ tích hợp sẵn:

  • Re-apply Performance Optimizations — Tối ưu lại toàn bộ stack sau khi nâng cấp VPS, tự động detect PHP 8.3/8.4/8.5 đang chạy.
  • Change Domain & Renew SSL — Đổi tên miền và cấp lại SSL tự động, có kiểm tra validation Nginx trước khi apply.
  • Backup WordPress Database — Sao lưu database toàn bộ site trên server (multi-site aware, hỗ trợ backup từng site hoặc toàn bộ).
  • Add New Website — Triển khai thêm website WordPress mới trên cùng VPS, mỗi site có database và Redis DB riêng biệt, tự chọn thư mục web root.
  • Server Monitor (Discord) — Giám sát real-time Disk, RAM, CPU, MySQL và gửi cảnh báo qua Discord Webhook, hỗ trợ song ngữ Anh — Việt.
  • Configure DNS-01 SSL Auto-Renewal (Cloudflare) — Cấu hình gia hạn SSL tự động qua Cloudflare DNS, không cần mở cổng 80.
  • PHP Version Manager — Cài đặt thêm hoặc chuyển đổi linh hoạt giữa PHP 8.3/8.4/8.5 sau deploy, zero-downtime với khả năng rollback tức thì.
  • Help & Tuning Paths — Xem nhanh vị trí các file cấu hình hệ thống.

Thông tin phiên bản

  • Phiên bản: 1.9.0
  • Cập nhật: 2026-07-03

Quy trình cài đặt

  1. Chọn PHP: Hỗ trợ PHP 8.3 (stable), PHP 8.4 (stable, recommended) hoặc PHP 8.5 (latest) ngay từ bước deploy.
  2. Domain: Nhập tên miền (hoặc Enter để dùng IP Public).
  3. Database name: Tên cơ sở dữ liệu.
  4. Table prefix: Tiền tố bảng (nên đổi khác mặc định để tăng bảo mật).

Database User và Password được tự động sinh ngẫu nhiên an toàn bằng thư viện mật mã học.

Sau khi hoàn tất

InitOps v1.9.0 Setup

Màn hình hiển thị thông tin chi tiết:

  • PHP Version đã chọn (8.3, 8.4 hoặc 8.5).
  • Database Name, User, Password, Prefix.
  • Đường dẫn thư mục gốc (/var/www/html).
  • Lệnh kích hoạt SSL: certbot --nginx -d domain.com.

Lưu ý: Lưu kỹ thông tin Database — hệ thống không hiển thị lại lần thứ hai vì lý do bảo mật.

Yêu cầu hệ thống

  • Ubuntu Server 24.04 LTS.
  • Đăng nhập với quyền Root.
  • VPS/Dedicated Server sạch hoàn toàn (Fresh OS).
  • Kết nối Internet ổn định.

InitOps cài đặt những gì?

  • Nginx — Web server tối ưu chống nghẽn mạng.
  • MariaDB — Database server bảo mật cao, tự động harden (xóa anonymous users, test DB, vô hiệu hóa remote root).
  • PHP 8.3/8.4/8.5 FPM — Hiệu năng xử lý WordPress tối đa, tự chọn phiên bản khi deploy, hỗ trợ chuyển đổi post-deploy.
  • Redis Server — Object cache qua Unix Socket siêu tốc.
  • Fail2Ban — Tự động chặn brute-force SSH.
  • WordPress Core — Bản phát hành mới nhất từ WordPress.org.
  • Certbot — Cấp phát SSL miễn phí từ Let’s Encrypt.
  • Iptables & Iptables-Persistent — Tường lửa tự động lưu rules.
  • PHP Extensions — redis, imagick, mbstring, gd, curl, zip, bcmath, opcache…
  • PHP Version Manager — Quản lý và switch phiên bản PHP không downtime.

Tối ưu hiệu năng tự động

InitOps tự động nhận diện CPU Cores và RAM để áp dụng 6 Profile tối ưu riêng biệt: Micro, Small, Standard, Medium, Large, XLarge. Mỗi profile tinh chỉnh đồng bộ trên toàn bộ stack — Nginx (worker, buffer, cache), PHP-FPM (process manager tính toán dựa trên RAM thực tế còn lại), MariaDB (InnoDB buffer pool ~45% RAM), Redis (memory limit, LRU eviction).

OPcache tự động theo profile: Từ v1.9.0, InitOps tự động cấu hình OPcache shared memory, số lượng file tối đa và interned strings buffer theo đúng profile phần cứng — tránh tình trạng cache overflow gây recompile storm trên theme/plugin nặng.

Lưu ý: Hệ thống tự động detect PHP version đang chạy khi bạn chọn Re-apply Performance Optimizations — không cần chỉnh sửa thủ công.

Tối ưu Kernel & TCP Stack

InitOps tự động áp dụng bộ tinh chỉnh Kernel toàn diện nhằm tối đa hóa throughput mạng, ổn định kết nối và tăng tốc độ phản hồi:

  • TCP BBR — Bật thuật toán kiểm soát tắc nghẽn BBR thay vì Cubic, giảm độ trễ và tăng tốc độ tải trang đáng kể.
  • File Limits — Nâng fs.file-max lên 2.000.000 và fs.inotify.max_user_watches lên 524.288, đảm bảo Nginx + PHP-FPM không bị giới hạn descriptor khi traffic cao.
  • Connection Backlognet.core.somaxconn, tcp_max_syn_backlognetdev_max_backlog đều được đẩy lên 65.535, kết hợp tcp_syncookies = 1 để chống SYN flood / spike DDoS nhẹ.
  • Socket Lifecycle — Bật tcp_tw_reuse, giảm tcp_fin_timeout xuống 15s, tinh chỉnh keepalive probe (600s / 30s / 5 lần) và mở rộng ip_local_port_range lên 1024–65000 để tái sử dụng port hiệu quả.
  • Redis Background Save — Đặt vm.overcommit_memory = 1 để tránh lỗi OOM khi Redis thực hiện BGSAVE trên VPS có RAM hạn chế.

Toàn bộ cấu hình được ghi vào /etc/sysctl.d/99-initops-kernel.conf và áp dụng ngay lập tức qua sysctl --system — không cần reboot.

Quản lý Swap thông minh

InitOps không tạo swap cứng nhắc cho mọi profile, mà phân bổ động dựa trên dung lượng RAM thực tế:

  • Micro & Small (< 3.5 GB RAM): Cấp phát 2 GB swap file để tránh crash khi RAM cạn.
  • Standard (3.5 – 6 GB): Cấp phát 1 GB swap file như một lớp đệm an toàn nhẹ, vừa đủ dùng khi cần mà vẫn tiết kiệm dung lượng ổ đĩa.
  • Medium trở lên (≥ 6 GB): Không tạo swap — ưu tiên giữ toàn bộ workload trong RAM vật lý.

Nếu hệ thống đã tồn tại swap (partition hoặc file), InitOps tự động detect và skip để tránh xung đột. Swap file được persist qua /etc/fstab và phân quyền chmod 600.

Đi kèm với swap, InitOps tinh chỉnh thêm 2 tham số kernel quan trọng:

  • vm.swappiness = 10 — Ép kernel ưu tiên sử dụng RAM, chỉ swap khi RAM thực sự cạn kiệt (< 10%).
  • vm.vfs_cache_pressure = 50 — Giữ cache inode/dentry trong RAM lâu hơn, tăng tốc độ I/O của Nginx và log rotation.

Tích hợp Redis Object Cache

Redis giao tiếp với PHP qua Unix Socket (/var/run/redis/redis.sock) thay vì TCP, triệt tiêu hoàn toàn network overhead. Mỗi website sử dụng Redis Database riêng biệt (DB 0 cho site đầu tiên, DB 1+ cho các site thêm), tránh xung đột cache giữa các site.

InitOps Redis Object Cache

Sau cài đặt, chỉ cần cài plugin Redis Object Cache và kích hoạt — hệ thống tự động nhận diện cấu hình Socket.

System Cron thay thế WP-Cron

  • Tắt WP-Cron nội bộ (DISABLE_WP_CRON = true).
  • Thiết lập System Cron chạy mỗi phút qua WP-CLI dưới user www-data.
  • Sử dụng flock -n chống chồng chéo tiến trình.

Multi-Site trên cùng VPS

Từ v1.5.0, InitOps hỗ trợ triển khai nhiều website WordPress độc lập trên cùng một VPS:

  • Mỗi site có database riêng, Redis DB riêng, Nginx vhost riêng.
  • Tự chọn tên thư mục web root khi thêm site mới.
  • Backup database hỗ trợ backup toàn bộ site hoặc chọn lẻ từng site.
  • Không ảnh hưởng đến site gốc tại /var/www/html.

Bảo mật lớp sâu

  • Tường lửa: Chỉ mở cổng 22, 80, 443. Fail2Ban ban IP sau 5 lần đăng nhập SSH sai.
  • Ẩn danh: expose_php = Off, server_tokens off.
  • Bảo vệ thư mục: Chặn thực thi PHP trong /uploads/, chặn truy cập wp-config.php, .git, .htaccess.
  • Chống DDoS cơ bản: Tắt xmlrpc.php mặc định.
  • Phân quyền: Thư mục 755, file 644, wp-config.php 640.

Giám sát máy chủ qua Discord

Tích hợp Server Monitor gửi cảnh báo real-time đến Discord Webhook:

  • Theo dõi Disk, RAM, CPU, MySQL liên tục.
  • Cảnh báo 🔴 khi vượt ngưỡng, thông báo 🟢 khi phục hồi.
  • Chống spam: mỗi cảnh báo chỉ gửi 1 lần cho đến khi phục hồi.
  • Hỗ trợ song ngữ Anh — Việt cho giao diện và nội dung cảnh báo.
  • Tần suất kiểm tra tự động điều chỉnh theo cấu hình VPS (5–10 phút).

Ngưỡng cảnh báo mặc định: Disk >85% | RAM >90% | CPU >90% per core | MySQL không phản hồi.

Tự động gia hạn SSL qua Cloudflare DNS

Từ v1.6.0, InitOps hỗ trợ chuyển đổi phương thức gia hạn cert sang DNS-01 Challenge qua Cloudflare — không cần mở cổng 80, không cần webroot, hoạt động ngay cả khi Nginx tắt:

  • Cài đặt plugin python3-certbot-dns-cloudflare tự động.
  • Lưu API Token vào /root/.secrets/cloudflare.ini với phân quyền chmod 600.
  • Vá trực tiếp file renewal config hiện tại — không cần cấp lại cert, không mất thời gian downtime.
  • Tạo deploy hook tự động reload Nginx sau mỗi lần gia hạn thành công.
  • Kích hoạt và xác minh certbot.timer (chạy 2 lần/ngày).
  • Chạy --dry-run ngay trong menu để xác nhận cấu hình trước khi áp dụng thật.

Quyền API Token tối thiểu: Zone → DNS → Edit | Zone → Zone → Read — giới hạn đúng zone domain, không chọn “All zones”.

Chọn PHP 8.3, 8.4 hoặc 8.5 khi deploy

InitOps v1.9.0 cho phép bạn tự chọn phiên bản PHP ngay từ bước cài đặt đầu tiên:

  • PHP 8.3 — Stable, nhận bản vá bảo mật (EOL Dec 2027).
  • PHP 8.4 — Stable, recommended, hiệu năng JIT cải tiến, hỗ trợ đến Dec 2028.
  • PHP 8.5 — Latest, tính năng bleeding-edge, hỗ trợ đến Dec 2029.

Sau deploy, hệ thống tự động detect PHP version đang chạy khi bạn chọn Re-apply Performance Optimizations — không cần chỉnh sửa thủ công.

PHP Version Manager — Chuyển đổi không downtime

Tính năng của InitOps v1.9.0 cho phép quản lý và chuyển đổi phiên bản PHP sau khi đã deploy:

  • Cài đặt thêm PHP: Cài song song nhiều phiên bản (8.3, 8.4, 8.5) trên cùng một server — phiên bản mới được cài nhưng chưa kích hoạt.
  • Switch zero-downtime: Khởi động PHP-FPM mới song song với phiên bản cũ, cập nhật fastcgi_pass trên toàn bộ vhost, validate Nginx, rồi mới tắt FPM cũ.
  • Rollback tức thì: Giữ nguyên packages phiên bản cũ, chỉ cần một lần switch ngược là hệ thống trở lại trạng thái trước đó.
  • Tự động tái áp dụng tuning: Mỗi khi switch, InitOps tự động regenerate pool config, runtime INI và OPcache tuning theo đúng profile phần cứng.
  • PHP CLI đồng bộ: Tự động cập nhật update-alternatives để WP-CLI và cron jobs luôn chạy đúng phiên bản PHP đang active.

So sánh: Cài đặt thủ công vs InitOps

Tiêu chí Thủ công InitOps
Thời gian triển khai 45–90 phút 3–5 phút
Kiến thức DevOps cần thiết Cao Không cần
Tối ưu hiệu năng theo phần cứng Tự tính toán 6 profile tự động
Tường lửa + Fail2Ban Cấu hình tay Tự động 100%
Backup Database Viết script / thủ công 1 phím menu
Giám sát server (Discord) Không có Tích hợp sẵn
Đổi PHP version sau deploy Rủi ro downtime Zero-downtime
Multi-site WordPress Cấu hình phức tạp Thêm site trong menu
SSL tự động (Cloudflare DNS) Cài plugin + cron tay Menu tự động
Tinh chỉnh Kernel (BBR, limits) Research + edit Auto-apply

Kết luận

InitOps v1.9.0 đơn giản hóa toàn bộ quá trình triển khai WordPress — từ cài đặt stack, cấu hình tường lửa, tích hợp Fail2Ban, thiết lập System Cron, tối ưu phần cứng, đến hỗ trợ multi-site, giám sát real-time, tự động gia hạn SSL qua Cloudflare DNS, và giờ đây là quản lý linh hoạt PHP 8.3/8.4/8.5 với khả năng chuyển đổi zero-downtime. Một giải pháp production-ready mà không đòi hỏi kiến thức DevOps chuyên sâu.

Lệnh cài đặt nhanh

curl -sSL https://inithtml.com/initops/install.sh | bash
5.0/5 (11)

Bình luận


1 bình luận
  • Người Qua Đường

    28/06/2026 lúc 02:01

    đã dùng, mượt lắm nha, cài trang WordPress mới chỉ mất dưới 1 phút

Công cụ trực tuyến

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...