Close Menu
  • Trang chủ
  • Đời sống
    • Người nổi tiếng
    • Sức khỏe
    • Thể dục & Tập luyện
  • Khám phá
    • Cách làm đẹp
    • Công nghệ
    • Hướng dẫn du lịch
    • Kinh doanh
    • Thời trang
  • Thủ thuật Web
    • Hosting & Máy chủ
    • Hướng dẫn Blogger
    • WordPress & Plugin
  • Tiếng Việt
    • Tiếng Việt
    • Hmoob
    • English
Facebook YouTube X (Twitter) Instagram
Trending
  • Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn
  • Hướng dẫn kết nối tên miền với VPS Vultr chi tiết từ A đến Z
  • Hướng dẫn đăng ký và cài đặt VPS Vultr từ A đến Z
  • Docker Minimus migration: Kế hoạch chuyển sang Docker Hardened Images
  • Phân quyền Blogger cho nhóm cộng tác mà vẫn giữ quyền kiểm soát
  • Thêm nút Báo cáo nội dung Blogger cho blog tùy biến
  • Tối ưu ảnh Blogger cho Google Images: Từ tên file đến trang đích
  • VPS là gì? Top 5 VPS hàng đầu và tiêu chí lựa chọn hiệu quả
Facebook YouTube X (Twitter) Instagram
SaibABCSaibABC
Chú thích cho quảng cáo
  • Trang chủ
  • Đời sống
    1. Người nổi tiếng
    2. Sức khỏe
    3. Thể dục & Tập luyện
    4. View All

    Chưa từng có: Messi được tôn vinh phút thứ 10 trên toàn Argentina

    05/09/2026

    Lionel Messi và Cristiano Ronaldo: Cuộc đua đến 1000 bàn thắng

    30/08/2026

    Người nổi tiếng chuyển sang podcast video: Kỷ nguyên talk show mới

    25/08/2026

    Taylor Swift đăng ký nhãn hiệu cho giọng nói trong bối cảnh deepfake

    25/08/2026

    Tập luyện với thiết bị đeo: Dùng dữ liệu để vận động an toàn

    01/09/2026

    Ưu tiên tầm soát ung thư sớm để cải thiện kết quả điều trị

    30/08/2026

    Chủ động theo dõi sức khỏe bằng wearable: Dùng dữ liệu đúng cách, không

    23/08/2026

    Phòng sốt xuất huyết tại nhà: Diệt muỗi, nhận biết dấu hiệu nặng

    20/08/2026

    Bài tập 5 phút tại văn phòng: Lịch vận động snack-sized

    23/08/2026

    Bài tập core hiệu quả: Từ người mới đến nâng cao

    16/01/2024

    Chưa từng có: Messi được tôn vinh phút thứ 10 trên toàn Argentina

    05/09/2026

    Tập luyện với thiết bị đeo: Dùng dữ liệu để vận động an toàn

    01/09/2026

    Lionel Messi và Cristiano Ronaldo: Cuộc đua đến 1000 bàn thắng

    30/08/2026

    Ưu tiên tầm soát ung thư sớm để cải thiện kết quả điều trị

    30/08/2026
  • Khám phá
    1. Cách làm đẹp
    2. Công nghệ
    3. Hướng dẫn du lịch
    4. Kinh doanh
    5. Thời trang
    Featured

    Key Windows 11 miễn phí: Sự thật và cách kích hoạt hợp lệ

    By Nuj Coom02/09/2026
    Recent

    Key Windows 11 miễn phí: Sự thật và cách kích hoạt hợp lệ

    02/09/2026

    AI biên trên Raspberry Pi: Khi nào nên chạy mô hình cục bộ?

    02/09/2026

    Bảo vệ doanh nghiệp nhỏ khỏi lừa đảo giả danh

    01/09/2026
  • Thủ thuật Web
    1. Hosting & Máy chủ
    2. Hướng dẫn Blogger
    3. WordPress & Plugin
    4. View All

    Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn

    08/09/2026

    Hướng dẫn kết nối tên miền với VPS Vultr chi tiết từ A đến Z

    08/09/2026

    Hướng dẫn đăng ký và cài đặt VPS Vultr từ A đến Z

    07/09/2026

    Docker Minimus migration: Kế hoạch chuyển sang Docker Hardened Images

    07/09/2026

    Phân quyền Blogger cho nhóm cộng tác mà vẫn giữ quyền kiểm soát

    07/09/2026

    Thêm nút Báo cáo nội dung Blogger cho blog tùy biến

    07/09/2026

    Tối ưu ảnh Blogger cho Google Images: Từ tên file đến trang đích

    07/09/2026

    Blogger lazy loading ảnh SEO: Giữ bài viết dễ thu thập

    04/09/2026

    Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn

    08/09/2026

    WordPress 7.1 AVIF HEIC: Giảm tải máy chủ khi đăng ảnh

    02/09/2026

    WordPress 7.1 responsive breakpoints: Cách kiểm tra như nào ?

    02/09/2026

    Cài đặt SSL Let’s Encrypt tự động gia hạn trên Ubuntu và OpenLiteSpeed

    30/08/2026

    Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn

    08/09/2026

    Hướng dẫn kết nối tên miền với VPS Vultr chi tiết từ A đến Z

    08/09/2026

    Hướng dẫn đăng ký và cài đặt VPS Vultr từ A đến Z

    07/09/2026

    Docker Minimus migration: Kế hoạch chuyển sang Docker Hardened Images

    07/09/2026
  • Tiếng Việt
    • Tiếng Việt
    • Hmoob
    • English
SaibABCSaibABC
Home»Thủ thuật Web»Hosting & Máy chủ»Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn
Hosting & Máy chủ 16 Mins ReadKhông có bình luận

Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn

Nuj CoomBy Nuj CoomUpdated:08/09/2026
Facebook Twitter Pinterest LinkedIn Tumblr Email
Chú thích cho quảng cáo

Contents

  1. 1. Chuẩn bị VPS, tên miền và quyền SSH
    1. Tạo VPS Ubuntu trên Vultr
    2. Trỏ DNS
    3. Đăng nhập SSH và cập nhật máy chủ
  2. 2. Cài Apache, MySQL, PHP và OPcache
    1. Cài các gói LAMP
    2. Kiểm tra Apache xử lý PHP
    3. Điều chỉnh giới hạn PHP và OPcache
  3. 3. Tạo database và tài khoản MySQL riêng
  4. 4. Tải WordPress và cấu hình Apache
    1. Tải mã nguồn WordPress chính thức
    2. Tạo Virtual Host
    3. Thiết lập quyền tệp
  5. 5. Cấu hình firewall và chạy trình cài đặt WordPress
    1. Mở đúng cổng mạng
    2. Chạy trình cài đặt
  6. 6. Cấp HTTPS bằng Let’s Encrypt
  7. 7. Xác minh website và xử lý lỗi thường gặp
    1. Kiểm tra dịch vụ và HTTP
    2. Kiểm tra permalink và tải tệp
    3. Chẩn đoán theo triệu chứng
  8. 8. Sao lưu và rollback
    1. Tạo bản sao lưu trước khi cập nhật
    2. Khôi phục khi cập nhật gây lỗi
  9. 9. Checklist hoàn tất
  10. Nguồn tham khảo

Kết quả cần đạt: sau khi hoàn tất, tên miền của bạn sẽ mở được website WordPress trên VPS Vultr chạy Ubuntu 24.04 LTS, Apache, MySQL, PHP, HTTPS và permalink. Bài này dùng phương pháp cài thủ công, không dùng ứng dụng One-Click WordPress trong Vultr Marketplace.

Với người mới, One-Click WordPress là cách dễ hơn vì Vultr cài sẵn image và một phần stack. Tuy nhiên, bạn vẫn phải kiểm tra phiên bản, tài khoản quản trị, firewall, cập nhật, sao lưu và cấu hình bảo mật. Phần chính dưới đây phù hợp khi bạn muốn biết từng thành phần nằm ở đâu và tự xử lý lỗi.

Quy trình thường mất khoảng 45–90 phút nếu bạn chưa quen Linux, chưa tính thời gian DNS cập nhật. Bạn cần tài khoản Vultr, một tên miền có quyền sửa DNS, máy tính có SSH và một chuỗi mật khẩu riêng cho database. Giá VPS thay đổi theo gói và khu vực; hãy kiểm tra giá thực tế trong tài khoản Vultr trước khi tạo máy chủ.

Quy trình sử dụng Apache với PHP module của Apache, không dùng Nginx hoặc PHP-FPM. WordPress nêu các yêu cầu máy chủ và phiên bản PHP, MySQL/MariaDB trên trang WordPress.org Requirements; hãy đối chiếu lại khi triển khai thực tế vì yêu cầu có thể thay đổi.

1. Chuẩn bị VPS, tên miền và quyền SSH

Tạo VPS Ubuntu trên Vultr

Đăng nhập Vultr, tạo máy chủ mới và chọn các thông số sau:

Chú thích cho quảng cáo
  • Loại máy chủ: Cloud Compute; website mới hoặc lưu lượng thấp có thể bắt đầu bằng gói CPU chia sẻ phù hợp ngân sách.
  • Khu vực: chọn nơi gần phần lớn người truy cập.
  • Hệ điều hành: Ubuntu 24.04 LTS x64.
  • Phương thức đăng nhập: ưu tiên SSH key. Nếu dùng mật khẩu root, hãy đổi sang mật khẩu riêng, dài và không dùng lại ở dịch vụ khác.
  • Hostname: đặt tên dễ nhận biết, chẳng hạn web-01.

Tài liệu Vultr mô tả quy trình tạo Cloud Compute tại Vultr Cloud Compute Provisioning. Sau khi máy chủ tạo xong, ghi lại:

  • IPv4: thay ví dụ 203.0.113.10 trong bài bằng IP thật của VPS.
  • Tên miền: ví dụ example.com.
  • Tài khoản SSH: thường là root ở lần đăng nhập đầu tiên, hoặc tài khoản có quyền sudo nếu image của bạn đã tạo sẵn tài khoản đó.

Không mở MySQL trực tiếp ra Internet. WordPress và MySQL trong bài chạy cùng VPS nên database chỉ cần lắng nghe cục bộ.

Trỏ DNS

Tại nơi quản lý tên miền, tạo hoặc sửa các bản ghi sau:

LoạiTên/HostGiá trịMục đích
A@IPv4 của VPSTên miền chính
AwwwIPv4 của VPSTên miền có tiền tố www

Xóa hoặc sửa bản ghi A cũ trỏ sang máy chủ khác. Nếu VPS chưa cấu hình IPv6, hãy xóa bản ghi AAAA cũ; nếu không, một số trình duyệt có thể đi tới địa chỉ IPv6 sai. DNS có thể chưa cập nhật ngay, nhưng phải trỏ đúng trước khi xin chứng chỉ Let’s Encrypt.

Kiểm tra từ máy tính của bạn, không phải trong phiên SSH:

nslookup example.com
nslookup www.example.com

Kết quả phải chứa IPv4 của VPS. Thay example.com bằng tên miền thật của bạn.

Đăng nhập SSH và cập nhật máy chủ

Chạy trên Terminal của macOS/Linux hoặc PowerShell của Windows. Thay 203.0.113.10 bằng IP thật:

ssh root@203.0.113.10

Nếu đăng nhập bằng SSH key:

ssh -i ~/.ssh/ten-khoa root@203.0.113.10

Thay ~/.ssh/ten-khoa bằng đường dẫn khóa riêng trên máy bạn. Không gửi khóa riêng cho người khác và không dán khóa riêng vào bài hướng dẫn hoặc ticket hỗ trợ.

Sau khi thấy dấu nhắc lệnh của VPS, chạy trên VPS:

apt update && apt upgrade -y
apt install -y curl unzip ca-certificates software-properties-common ufw
hostnamectl set-hostname web-01

Kiểm tra hệ thống:

lsb_release -a
free -h
df -h

Nếu hệ thống yêu cầu khởi động lại sau cập nhật nhân, hãy thực hiện:

reboot

Chờ khoảng 30–60 giây rồi đăng nhập SSH lại. Giữ một phiên SSH đang hoạt động khi thay đổi firewall; không bật firewall trước khi cho phép SSH.

2. Cài Apache, MySQL, PHP và OPcache

Cài các gói LAMP

Chạy trên VPS:

apt install -y apache2 mysql-server php libapache2-mod-php php-mysql php-curl php-gd php-imagick php-mbstring php-xml php-zip php-intl php-bcmath php-cli php-opcache

Bật dịch vụ khi khởi động và kiểm tra trạng thái:

systemctl enable --now apache2 mysql
systemctl is-active apache2
systemctl is-active mysql
php -v
mysql --version
php -m | grep -E 'curl|dom|fileinfo|gd|imagick|mbstring|mysqli|mysqlnd|openssl|xml|zip|Zend OPcache'

Kết quả mong đợi: hai lệnh is-active trả về active; php -v và mysql --version trả về phiên bản; danh sách module có các phần mở rộng cần thiết và Zend OPcache.

Ubuntu cung cấp hướng dẫn cài và kiểm tra MySQL qua Ubuntu Server Documentation: Install and configure a MySQL server.

Kiểm tra Apache xử lý PHP

Tạm tạo tệp kiểm tra trên VPS:

printf '%sn' '<?php echo "PHP OK ".PHP_VERSION; ?>' > /var/www/html/check.php
curl http://127.0.0.1/check.php

Kết quả phải bắt đầu bằng PHP OK và có phiên bản PHP. Xóa tệp ngay sau khi kiểm tra vì không nên công khai thông tin môi trường:

rm -f /var/www/html/check.php

Nếu curl trả về mã nguồn PHP thay vì kết quả, Apache chưa có bộ xử lý PHP đúng. Kiểm tra gói libapache2-mod-php, nhật ký Apache và khởi động lại Apache sau khi sửa.

Điều chỉnh giới hạn PHP và OPcache

Trên VPS, lấy đúng phiên bản PHP đang được cài rồi mở php.ini dành cho Apache:

PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
echo "$PHP_VERSION"
nano "/etc/php/$PHP_VERSION/apache2/php.ini"

Trong trình soạn thảo nano, tìm và đặt các giá trị sau. Nếu dòng bắt đầu bằng dấu chấm phẩy, xóa dấu đó:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
max_input_time = 120

post_max_size nên lớn hơn hoặc bằng upload_max_filesize. Lưu bằng Ctrl+O, nhấn Enter, thoát bằng Ctrl+X.

Kiểm tra tệp OPcache của PHP:

ls "/etc/php/$PHP_VERSION/mods-available/opcache.ini"
nano "/etc/php/$PHP_VERSION/mods-available/opcache.ini"

Đảm bảo có các dòng cơ bản sau; nếu đã có thì chỉ chỉnh giá trị:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

Khởi động lại Apache để nhận cấu hình:

systemctl restart apache2
php -i | grep -E 'memory_limit|upload_max_filesize|post_max_size|opcache.enable'

Không tăng các giới hạn quá cao trên VPS ít RAM. Nếu tải theme, plugin hoặc ảnh lớn vẫn lỗi, kiểm tra RAM bằng free -h và nhật ký Apache trước khi tăng tiếp.

3. Tạo database và tài khoản MySQL riêng

Không dùng tài khoản MySQL root trong WordPress. Trên VPS, mở trình khách MySQL bằng quyền hệ thống:

mysql

Khi thấy dấu nhắc mysql>, dán toàn bộ đoạn sau. Thay mật khẩu mẫu bằng một chuỗi dài, ngẫu nhiên và chỉ dùng cho database này:

CREATE DATABASE wp_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'THAY_BANG_MAT_KHAU_DAI_NGAU_NHIEN';
GRANT ALL PRIVILEGES ON wp_site.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Không dùng dấu ngoặc kép bao quanh toàn bộ mật khẩu trong lệnh SQL. Nếu mật khẩu có ký tự đặc biệt như dấu nháy đơn, hãy chọn một mật khẩu khác dễ dán an toàn hoặc xử lý việc tạo tài khoản bằng công cụ quản lý bí mật.

Kiểm tra từ shell của VPS:

mysql -u wp_user -p -e "SHOW DATABASES;"

Nhập mật khẩu database. Kết quả phải có wp_site. Hướng dẫn chính thức về database WordPress nằm tại Creating Database for WordPress.

4. Tải WordPress và cấu hình Apache

Tải mã nguồn WordPress chính thức

Chạy trên VPS. Các lệnh sau lưu trang Apache mặc định, tạo thư mục website và tải gói từ WordPress.org:

mv /var/www/html /var/www/html.apache-default
mkdir -p /var/www/html
cd /tmp
curl -fLO https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp -a wordpress/. /var/www/html/

latest.tar.gz là gói ổn định mà WordPress.org cung cấp tại thời điểm tải. Không dùng bản WordPress từ nguồn không rõ nguồn gốc.

Tạo Virtual Host

Đoạn dưới đây dùng tên miền mẫu example.com. Cách an toàn nhất là tạo tệp bằng heredoc trên VPS; hãy thay example.com ở cả tên tệp, ServerName và ServerAlias bằng tên miền thật trước khi chạy:

cp /etc/apache2/sites-available/000-default.conf /root/000-default.conf.backup
cat > /etc/apache2/sites-available/example.com.conf <<'APACHE'
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        AllowOverride All
        Options FollowSymLinks
        Require all granted
    </Directory>

    DirectoryIndex index.php index.html
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
APACHE

a2enmod rewrite
 a2dissite 000-default.conf
 a2ensite example.com.conf
 apache2ctl configtest
 systemctl reload apache2

Để tránh lỗi do dấu cách đầu dòng, chạy ba lệnh kích hoạt site riêng nếu cần:

a2dissite 000-default.conf
a2ensite example.com.conf
apache2ctl configtest && systemctl reload apache2

Kết quả của apache2ctl configtest phải là Syntax OK. AllowOverride All cho phép WordPress dùng .htaccess để xử lý permalink. Không reload nếu kiểm tra cú pháp thất bại.

Tham khảo cấu hình máy chủ WordPress tại WordPress Server Configuration. Trang này có tiêu đề nói về Nginx, nhưng tài liệu WordPress cũng trình bày các yêu cầu cấu hình máy chủ nói chung; trong bài này web server thực tế là Apache.

Thiết lập quyền tệp

WordPress cần máy chủ web đọc mã nguồn và ghi được một số thư mục cần thiết. Chạy:

chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} ;
find /var/www/html -type f -exec chmod 644 {} ;
chmod 640 /var/www/html/wp-config.php 2>/dev/null || true

wp-config.php chưa tồn tại trước trình cài đặt nên lệnh cuối có thể không tạo thay đổi. Sau khi WordPress tạo tệp này, chạy lại:

chmod 640 /var/www/html/wp-config.php
chown www-data:www-data /var/www/html/wp-config.php

Không dùng chmod -R 777. Quyền ghi quá rộng làm tăng rủi ro khi một plugin hoặc tiến trình bị khai thác.

5. Cấu hình firewall và chạy trình cài đặt WordPress

Mở đúng cổng mạng

Trên VPS, cho phép SSH trước rồi mới bật UFW:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

Kết quả phải cho phép TCP 22, 80 và 443. Nếu bạn dùng Vultr Firewall Group, cũng phải cho phép ba cổng này ở lớp firewall của Vultr. Quản lý quy tắc tại Vultr Firewall Rules. Không mở cổng 3306 ra Internet nếu MySQL chỉ phục vụ WordPress trên cùng VPS.

Nếu đang dùng một firewall khác ngoài UFW, không bật thêm UFW khi chưa hiểu quy tắc hiện có; hai lớp firewall có thể khiến việc chẩn đoán khó hơn.

Chạy trình cài đặt

Mở http://example.com trong trình duyệt, thay bằng tên miền thật. Chọn ngôn ngữ rồi nhập:

  • Tên website: tên hiển thị của website.
  • Tên người dùng: không dùng admin; chọn tên không dễ đoán.
  • Mật khẩu: dùng mật khẩu do WordPress tạo hoặc một mật khẩu dài, duy nhất.
  • Email: địa chỉ bạn còn truy cập được.

Nếu biểu mẫu hỏi database, nhập chính xác:

  • Database Name: wp_site
  • Username: wp_user
  • Password: mật khẩu đã tạo trong MySQL
  • Database Host: localhost
  • Table Prefix: có thể dùng tiền tố khác wp_, chẳng hạn site7_, nếu bạn hiểu lý do cần thay đổi

Địa chỉ WordPress và địa chỉ website ban đầu có thể là HTTP ở bước này. Chưa sửa trực tiếp database để đổi sang HTTPS; hãy dùng Certbot ở bước kế tiếp rồi xác nhận URL trong Cài đặt > Tổng quan.

6. Cấp HTTPS bằng Let’s Encrypt

Chỉ thực hiện khi:

  • example.com và www.example.com đều trỏ đúng IPv4 VPS;
  • cổng 80 được mở ở cả UFW và Vultr Firewall nếu có;
  • website mở được bằng HTTP từ mạng bên ngoài.

Trên VPS, cài Certbot và plugin Apache:

apt install -y certbot python3-certbot-apache
certbot --apache -d example.com -d www.example.com

Thay hai tên miền mẫu bằng tên miền thật. Khi được hỏi, nhập email, đồng ý điều khoản và chọn chuyển hướng HTTP sang HTTPS nếu bạn muốn mọi truy cập dùng HTTPS.

Kiểm tra chứng chỉ:

certbot certificates
systemctl status certbot.timer --no-pager
certbot renew --dry-run

Kết quả mong đợi của certbot renew --dry-run là quy trình mô phỏng hoàn tất không lỗi. Nếu cấp chứng chỉ thất bại, kiểm tra DNS, cổng 80, tên miền www và proxy/CDN đang dùng; không xóa dữ liệu WordPress để xử lý lỗi SSL.

Bạn có thể tham khảo hướng dẫn SSL Let’s Encrypt tự động gia hạn. WordPress có tài liệu về HTTPS tại WordPress HTTPS Documentation.

Sau khi Certbot chuyển hướng xong, mở https://example.com/wp-admin, vào Cài đặt > Tổng quan và xác nhận cả Địa chỉ WordPress lẫn Địa chỉ website đều bắt đầu bằng https://.

7. Xác minh website và xử lý lỗi thường gặp

Kiểm tra dịch vụ và HTTP

Chạy trên VPS:

apache2ctl configtest
systemctl is-active apache2
systemctl is-active mysql
curl -I https://example.com
curl -I https://example.com/wp-admin/

Hai lệnh dịch vụ phải trả về active. Các lệnh curl có thể trả 200, 301 hoặc 302 tùy chuyển hướng và trạng thái đăng nhập; mã 500 hoặc 503 cần xem nhật ký.

Kiểm tra permalink và tải tệp

Trong WordPress, vào Cài đặt > Đường dẫn tĩnh, chọn Tên bài viết, bấm Lưu thay đổi, rồi mở một bài viết trong cửa sổ riêng tư. Thử tải một ảnh và cài một plugin từ nguồn hợp pháp.

Nếu bài viết trả 404:

a2enmod rewrite
apache2ctl configtest
systemctl reload apache2
ls -la /var/www/html/.htaccess

Nếu tải tệp thất bại, đối chiếu upload_max_filesize, post_max_size, quyền thư mục và danh sách module:

PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
php -m
php -i | grep -E 'memory_limit|upload_max_filesize|post_max_size|max_execution_time'
ls -ld /var/www/html /var/www/html/wp-content

Không cần để tệp kiểm tra PHP công khai sau khi xác minh. Với tối ưu hình ảnh, xem cách giảm tải máy chủ khi đăng ảnh AVIF và HEIC. Với kiểm tra giao diện, xem cách kiểm tra responsive breakpoints trong WordPress.

Chẩn đoán theo triệu chứng

Triệu chứngChẩn đoánCách xử lý an toàn
Không SSH đượcKiểm tra IP, SSH key, cổng 22, trạng thái VPS và Vultr Firewall.Giữ phiên SSH dự phòng; không đổi cổng hoặc bật chính sách mới khi chưa có đường truy cập thay thế.
403 ForbiddenKiểm tra DocumentRoot, quyền thư mục và Require all granted.Chạy apache2ctl configtest rồi xem nhật ký lỗi; không cấp quyền 777.
500, 502 hoặc trang trắngKiểm tra trạng thái Apache, PHP module và nhật ký Apache.Hoàn tác thay đổi gần nhất trong php.ini hoặc Virtual Host, sau đó reload khi configtest báo hợp lệ.
Không kết nối databaseĐối chiếu database, username, mật khẩu và host trong wp-config.php.Thử mysql -u wp_user -p -e "SHOW DATABASES;"; không đưa mật khẩu vào URL hoặc nhật ký.
Không cấp được SSLKiểm tra A/AAAA, DNS, cổng 80, tên miền www và proxy.Sửa DNS hoặc firewall rồi chạy lại Certbot; không xóa thư mục WordPress.
Permalink trả 404Kiểm tra module rewrite, AllowOverride All và file .htaccess.Bật rewrite, kiểm tra cú pháp và reload Apache.
Tải plugin/theme thất bạiKiểm tra PHP extensions, quyền www-data và giới hạn tải tệp.Đọc nhật ký trước khi tăng giới hạn; chỉ dùng plugin/theme từ nguồn hợp pháp và đáng tin cậy.

Xem nhật ký Virtual Host trên VPS:

tail -n 50 /var/log/apache2/example.com-error.log
tail -n 50 /var/log/apache2/example.com-access.log

Thay example.com bằng tên miền thật nếu bạn đã đặt tên log khác. Để quản lý plugin an toàn hơn, xem quy trình kiểm tra plugin trong 24 giờ trước khi cập nhật. Để tăng lớp phòng thủ trước bot và crawler lạ, xem cách bảo mật WordPress trước bot AI và crawler.

8. Sao lưu và rollback

Tạo bản sao lưu trước khi cập nhật

Sao lưu cả database và tệp. Chạy trên VPS; lệnh sẽ hỏi mật khẩu MySQL:

mkdir -p /root/backup-wordpress
mysqldump --single-transaction -u wp_user -p wp_site | gzip > "/root/backup-wordpress/wp_site-$(date +%F).sql.gz"
tar -czf "/root/backup-wordpress/wp-files-$(date +%F).tar.gz" /var/www/html
ls -lh /root/backup-wordpress

Bản sao lưu duy nhất trên cùng VPS không bảo vệ bạn khi VPS hỏng hoặc bị xóa. Tải tệp sao lưu về máy cá nhân hoặc lưu sang nơi khác, kiểm soát quyền truy cập và kiểm tra việc giải nén/khôi phục định kỳ.

Khôi phục khi cập nhật gây lỗi

Trước khi khôi phục, tạo thêm bản sao lưu hiện trạng. Với tệp, giải nén vào thư mục tạm để kiểm tra trước:

mkdir -p /root/restore-check
 tar -xzf /root/backup-wordpress/wp-files-YYYY-MM-DD.tar.gz -C /root/restore-check
ls -la /root/restore-check/var/www/html

Thay YYYY-MM-DD bằng ngày thật của bản sao lưu. Chỉ thay thư mục website sau khi xác nhận đúng bản sao lưu và có bản lưu hiện trạng:

mv /var/www/html /var/www/html.failed-$(date +%F-%H%M)
mkdir -p /var/www/html
tar -xzf /root/backup-wordpress/wp-files-YYYY-MM-DD.tar.gz -C /
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} ;
find /var/www/html -type f -exec chmod 644 {} ;
apache2ctl configtest && systemctl reload apache2

Thay tên tệp sao lưu cho đúng. Với database, không ghi đè ngay database đang chạy nếu chưa xác nhận chắc chắn; tạo database tạm để kiểm tra hoặc dừng website trong thời gian bảo trì, rồi khôi phục đúng bản sao lưu theo kế hoạch. Nếu lỗi chỉ xuất hiện sau khi sửa Virtual Host, khôi phục tệp cấu hình đã lưu tại /root/000-default.conf.backup, chạy apache2ctl configtest, rồi mới reload.

9. Checklist hoàn tất

  • VPS Ubuntu 24.04 LTS đã tạo và IPv4 đã được ghi lại.
  • DNS A của tên miền chính và www trỏ đúng VPS; không còn AAAA cũ trỏ sai.
  • SSH đăng nhập được; phiên quản trị vẫn còn sau khi cấu hình firewall.
  • Apache và MySQL đều trả về active.
  • PHP có các module cần thiết và OPcache đã bật.
  • memory_limit, upload_max_filesize và post_max_size đã được kiểm tra sau khi reload Apache.
  • Database WordPress dùng tài khoản riêng, không dùng MySQL root.
  • Virtual Host trả về Syntax OK và website mở được.
  • Firewall chỉ mở các cổng cần thiết: 22, 80 và 443.
  • Website mở bằng HTTPS, chứng chỉ đúng tên miền và certbot renew --dry-run thành công.
  • Đăng nhập wp-admin, mở permalink và tải thử tệp đều hoạt động.
  • Đã có bản sao lưu database và tệp ở ngoài VPS, đồng thời biết vị trí bản sao lưu để rollback.

Nếu mục tiêu của bạn chỉ là có website chạy nhanh và chưa muốn quản trị Apache, MySQL, PHP, firewall và Certbot, One-Click WordPress trong Vultr Marketplace là lựa chọn dễ hơn. Dù dùng image dựng sẵn, bạn vẫn nên kiểm tra phiên bản, tài khoản, cập nhật, HTTPS, firewall và sao lưu. Cài thủ công phù hợp hơn khi bạn muốn kiểm soát từng thành phần và có khả năng tự chẩn đoán sự cố.

Nguồn tham khảo

  • How to Provision Vultr Cloud Compute Instances
  • How to Create Vultr Firewall Rules
  • Install and configure a MySQL server — Ubuntu Server documentation
  • Requirements — WordPress.org
  • How to install WordPress — Developer.WordPress.org

Chú thích cho quảng cáo
Apache LAMP Stack MySQL Nổi bật PHP SSL Let’s Encrypt Ubuntu VPS Vultr WordPress Xu hướng
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Bài trước đóHướng dẫn kết nối tên miền với VPS Vultr chi tiết từ A đến Z
Nuj Coom
  • Website
  • Facebook
  • X (Twitter)
  • Instagram

I'm a doctor, for sure. But I also love writing and sharing knowledge, life experiences, web tricks, and useful lectures. Let's cheer for your passion.

Bài viết liên quan

Hướng dẫn kết nối tên miền với VPS Vultr chi tiết từ A đến Z

08/09/2026

Hướng dẫn đăng ký và cài đặt VPS Vultr từ A đến Z

07/09/2026

Docker Minimus migration: Kế hoạch chuyển sang Docker Hardened Images

07/09/2026
Add A Comment
Leave A Reply Cancel Reply

Bài gần đây

Cách cài đặt LAMP Stack trên Ubuntu: Linux, Apache, MySQL và PHP

Top 6 chủ đề WordPress tốt nhất cho người mới

Kubernetes cho website vừa và nhỏ: Chọn managed hosting hay VPS?

Kiểm tra plugin WordPress trước khi cập nhật: Quy trình 24 giờ

Cài đặt SSL Let’s Encrypt tự động gia hạn trên Ubuntu và OpenLiteSpeed

Advertisement
Chú thích cho quảng cáo

ĐĂNG KÝ THÔNG BÁO

Nhận tin tức sáng tạo mới nhất từ ​​SaibABC.Com về các thủ thuật, thiết kế và kinh doanh trên web.

Copyright © 2024. Designed by NujCoom.
  • Trang chủ
  • Chính sách
  • Liên hệ
  • Hmoob
  • English

Type above and press Enter to search. Press Esc to cancel.