Quản trị WordPress bằng lệnh với WP-CLI

Thân chào các anh em đang sử dụng VPS không có control panel để quản lý, vả không có FTP 😀

Mỗi khi cần cài WordPress vào website thì đa phần chúng ta sẽ upload mã nguồn thủ công lên hoặc sử dụng lệnh wget để tải mã nguồn về máy chủ, sau đó giải nén ra và cài đặt như cách thông thường.

Nếu bạn đã quen với việc sử dụng lệnh UNIX để quản trị thì ở bài này mình sẽ giới thiệu bạn một script cực kỳ hữu ích tên là WP CLI phục vụ cho việc cài đặt và quản trị WordPress mà bạn sẽ không cần phải mở website lên, mọi thứ sẽ diễn ra ở các dòng lệnh.

Cũng giống như các UNIX script khác, bạn có thể sử dụng nó trên các hệ điều hành sử dụng môi trường UNIX như , Linux, OS X,…

Giới thiệu WP CLI

WP CLI là một UNIX script chuyên cho việc quản trị WordPress, các chức năng của nó bao gồm hỗ trợ cài đặt nhanh chóng, cài và quản lý plugin/theme, tối ưu database, quản lý comments/posts và hàng tá công cụ khác chuyên dành cho các kỹ thuật viên.

Khi làm việc với WP CLI, bạn sẽ quên đi các giao diện control panel phức tạp mà mọi thứ chỉ đơn thuần thực hiện qua từng dòng lệnh ngắn ngủi.

Chuẩn bị trước khi cài đặt

Trong bài này mình chỉ tập trung hướng dẫn cho những ai đã có kinh nghiệm sử dụng Linux, VPS hoặc chí ít là cũng đã có thể tự cài một máy chủ cho riêng mình.

Trước khi cài WP CLI, bạn cần một webserver (Apache hoặc NGINX), MySQL và PHP. Bạn có thể xem qua hai bài dưới để cài webserver:

Còn trên máy tính bạn chỉ cần có localhost là đủ. Nhưng chống chỉ định dùng với MAMP nhé, rất phiền phức và lỗi linh tinh.

Dành cho người dùng Windows

Nếu bạn không dùng UNIX mà muốn sử dụng WP CLI trên Windows thì có thể sử dụng thêm cái script WP-PowerShell để bạn có thể chạy WP CLI trên ứng dụng Windows PowerShell.

Trong bài này mình sẽ sử dụng trên VPS cài đặt Centminmod.

Cài đặt WP CLI

Để cài đặt WP-CLI vào máy chủ thì bạn chạy lần lượt các lệnh sau:


curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/bin/wp

Sau khi chạy xong các dòng đó, hãy thử gõ lệnh wp xem nó có hiển thị gì không. Nếu nó hiển thị như hình phía dưới.

wpcli-run-root

Thông báo này thường xảy ra nếu bạn cài WP CLI trên VPS. Để khắc phục, bạn phải thêm --allow-root vào cuối mỗi dòng lệnh bạn làm việc trên WP-CLI, ví dụ:


wp --allow-root

Dĩ nhiên ở trong ví dụ này, mình sẽ viết lệnh bao gồm đoạn trên vào vì mình sử dụng trên VPS. Nếu bạn đã cài WP CLI thành công vào thì khi gõ wp --allow-root nó sẽ ra bảng thế này:

wpcli-command-menu

Ok, kết thúc bước cài đặt WP CLI tại đây.

Một số quy tắc khi sử dụng lệnh WP CLI

  • Mọi lệnh luôn bắt đầu là wp.
  • Kết thúc là --allow-root nếu dùng user root.
  • Mỗi chức năng sẽ có một lệnh tương ứng đứng đằng sau lệnh wp.
  • Thiết lập giá trị với dấu =.

Cứ học thuộc 4 dòng trên đi rồi bạn sẽ dễ dàng hiểu hơn về sau.

Cài WordPress mới vào WP CLI

Trước hết bạn cần chuẩn bị sẵn một database, một database user như cài WordPress thông thường nhé.

Oke, bây giờ mình tiến hành cd vào thư mục cần cài, ví dụ:

cd /var/www/wordpress

Sau đó tiến hành chạy lệnh dưới đây để tải bản WordPress mới nhất về máy chủ, yên tâm là nó sẽ tự giải nén ra nhé.


wp core download --allow-root

wpcli-download-core

Nếu bạn muốn tải WordPress ở phiên bản nào đó thì tải bằng lệnh sau:


wp core download --version=3.8 --allow-root

Bây giờ bạn thử truy cập vào địa chỉ website xem nó có ra giao diện cài đặt WordPress thông thường chưa. Nhưng đừng cài đặt ở đó nhé.

Trước khi cài đặt, chúng ta phải tạo file wp-config.php cho nó cái đã. Giống như cài thông thường thì file này ta sẽ điền các thông tin của database, chạy lệnh dưới đây để thiết lập file wp-config.php kèm theo thông tin database:


wp core config --dbname=dbname --dbuser=dbuser --dbpass=thachpham --allow-root
Trong đó, các giá trị đằng sau dấu bằng (=) là bạn thay thành thông tin database của bạn nhé.
Chạy xong thì nó sẽ báo file wp-config.php đã được thiết lập:
wpcli-config

Okay, bây giờ ta làm việc cuối nữa đó là cài đặt.

Ở bước cài đặt này ta sẽ sử dụng lệnh wp core install cùng các tham số sau:
  • --url: Địa chỉ website
  • --title: Tiêu đề website
  • --admin_user: Tên đăng nhập của admin.
  • --admin_password: Mật khẩu của admin.
  • --admin_email: Email của admin.

Đoạn lệnh sẽ như thế này:

wp core install --url=http://188.226.206.194/wordpress/ --title=ThachPhamBlog --admin_user=thachpham --admin_password=123456 --admin_email=contact@thachpham.com --allow-root

Nhớ thay đổi thành thông tin của bạn nhé.

wpcli-install

Xong rồi, bây giờ bạn có thể truy cập vào website bình thường nhé 😀

wpcli-after-install

Quản trị plugin với WP CLI

Cài plugin mới


wp plugin install contact-form-7 --activate --allow-root

Trong đó, wordpress-seo là slug của plugin trên đường dẫn trang plugin tại WordPress.org (http://wordpress.org/plugins/contact-form-7/)

Nếu bạn có một địa chỉ plugin khác thì có thể dùng lệnh


wp plugin install https://thachpham.com/plugin.zip --activate --allow-root

Deactivate Plugin


wp plugin deactivate contact-form-7 --allow-root

Xóa plugin khỏi host


wp plugin delete contact-form-7 --allow-root

Xem danh sách plugin

wpcli-listing-plugin


wp plugin list --allow-root

Xem thêm các lệnh quản trị plugin của WP CLI

Các chức năng khác

Ngoài ra WP CLI còn rất nhiều chức năng khác nữa mà cách sử dụng rất giống như cách quản trị plugin ở trên, bạn có thể xem thêm tại đây.

Thêm nữa, nếu bạn là người sử dụng WordPress chuyên nghiệp thì nên tham khảo qua các gói công cụ tích hợp WP CLI để có thêm nhiều tính năng hay thêm nữa nhé.

Lời kết

Bạn vừa xem qua hướng dẫn chi tiết cách sử dụng WP CLI để quản trị WordPress. Nếu bạn chỉ đọc chay bài này mà không thực hành cùng thì có thể chưa thấy được hết sự thú vị của nó nhưng khi bạn đã làm việc với VPS quen rồi, thì script này có thể là chiếc phao cứu sinh vô cùng quý giá dành cho bạn.

Thạch Phạm

Đam mê với web và lập trình, thích viết và chia sẻ, nghiện cà phê và xăm mình, hứng thú với nhạc dân ca và nhạc không lời.

Xem thêm bài viết Subscribe

Để lại bình luận

Hãy là người "bóc tem"

avatar
wpDiscuz
menu
menu