WordPress là một trong những nền tảng CMS phổ biến nhất hiện nay, giúp bạn dễ dàng xây dựng website chỉ trong vài phút. Trên Ubuntu 24.04, việc cài đặt WordPress thủ công có thể mất thời gian. Vì vậy, trong hướng dẫn này, bạn sẽ học cách cài đặt nhanh WordPress vào thư mục /var/www/html bằng các lệnh bash, giúp tiết kiệm thời gian và hợp lý cho hầu hết các trường hợp sử dụng VPS.
Script cài đặt nhanh (chạy 1 lần là xong)
#!/usr/bin/env bash
set -euo pipefail
# ========= CẦN SỬA THEO MÔI TRƯỜNG CỦA BẠN =========
DB_NAME="wordpress"
DB_USER="wpuser"
DB_PASS="matkhau_cuc_manh"
DB_HOST="localhost"
# Tuỳ chọn: tạo DB/User tự động (true/false)
CREATE_DB="true"
# ================================================
# 1) Tạo DB/User nếu cần (yêu cầu đã có quyền mysql root)
if [[ "$CREATE_DB" == "true" ]]; then
sudo mysql <<SQL
CREATE DATABASE IF NOT EXISTS \`$DB_NAME\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';
GRANT ALL PRIVILEGES ON \`$DB_NAME\`.* TO '$DB_USER'@'localhost';
FLUSH PRIVILEGES;
SQL
fi
# 2) Tải WordPress mới nhất
cd /tmp
rm -f latest.tar.gz latest.zip
wget -q https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
# 3) Đưa mã nguồn vào /var/www/html (ghi đè sạch)
sudo rm -rf /var/www/html/*
sudo rsync -a wordpress/ /var/www/html/
# 4) Tạo wp-config.php với thông số DB
cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo sed -i "s/database_name_here/$DB_NAME/" wp-config.php
sudo sed -i "s/username_here/$DB_USER/" wp-config.php
sudo sed -i "s/password_here/$DB_PASS/" wp-config.php
sudo sed -i "s/localhost/$DB_HOST/" wp-config.php
# 5) Chèn khóa bảo mật (SALT)
SALT=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)
# Xoá block placeholder và chèn SALT ở ngay sau dòng "/**#@+*/" nếu có, nếu không thì chèn cuối file
if grep -q "put your unique phrase here" wp-config.php; then
sudo sed -i "/put your unique phrase here/d" wp-config.php
fi
if grep -n "/\*\*#@+\*/" wp-config.php >/dev/null; then
LINE=$(grep -n "/\\*\\*#@+\\*/" wp-config.php | cut -d: -f1)
sudo awk -v n="$LINE" -v s="$SALT" 'NR==n{print; print s; next}1' wp-config.php | sudo tee wp-config.php >/dev/null
else
echo "$SALT" | sudo tee -a wp-config.php >/dev/null
fi
# 6) Tuỳ chọn: bật ghi file trực tiếp (hữu ích trên VPS)
if ! grep -q "FS_METHOD" wp-config.php; then
sudo sed -i "1a define('FS_METHOD','direct');" wp-config.php
fi
# 7) Phân quyền chuẩn
sudo chown -R www-data:www-data /var/www/html/
sudo find /var/www/html/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/ -type f -exec chmod 644 {} \;
# 8) Hoàn tất
echo "Done. Truy cập http://<IP-VPS>/ để cài đặt WordPress."
Cách dùng
- Tạo file:
nano install-wp.sh, dán toàn bộ script vào, sửa các biến DB_* theo môi trường.
- Chạy:
bash install-wp.sh.
- Mở trình duyệt tới IP VPS để hoàn tất wizard cài đặt WordPress.
Lưu ý quan trọng
- Bạn đã có sẵn Apache/Nginx, PHP và MySQL/MariaDB hoạt động ổn trước khi chạy script.
- Nếu dùng Nginx hoặc cấu hình Apache tuỳ biến, đảm bảo
/var/www/html là DocumentRoot.
- Nếu không muốn script tạo DB/User, đặt
CREATE_DB="false" và đảm bảo thông tin DB_* hợp lệ.
- Permalink đẹp với Apache cần
mod_rewrite và AllowOverride All cho thư mục site (đã thiết lập ở phần cấu hình webserver trước đó).
Gỡ lỗi nhanh
- Lỗi kết nối DB: kiểm tra
DB_NAME/DB_USER/DB_PASS/DB_HOST trong wp-config.php và quyền user trong MySQL.
- Lỗi phân quyền upload: xác nhận owner
www-data:www-data và quyền 755/644 như trên.
- Permalink 404: kiểm tra cấu hình rewrite của webserver và file
.htaccess.
Bình luận