Chuyển WordPress từ host về localhost

Bạn đang tìm cách giải quyết bài toán: làm thế nào để chuyển website wordpress từ localhost lên host một cách đầy đủ nhất và không bị lỗi?

Lời giải cho bài toán trên là: chúng ta sẽ cùng nhau thực hiện 6 bước sau để chuyển một website wordpress từ localhost lên host. Sau khi đi hết các bước bạn sẽ có một website hoàn thiện trên host và bạn sẽ dễ dàng giới thiệu website của mình đến với khách hàng, độc giả và bạn bè của bạn.

BƯỚC 1: Xuất cơ sở dữ liệu (CSDL) từ localhost  sang file có định dạng .sql

Bạn mở XAMPP  và truy cập vào vào http://localhost/phpmyadmin/. Sau đó, chọn CSDL mà bạn muốn xuất ra -> Chọn công cụ Export – > Nhấn Go (-> hiển thị bảng lưu CSDL có định dạng .sql. Bạn cần nhớ nơi lưu file để bước sau chúng ta sẽ tải nó lên host).

Kết thúc bước 1: bạn có file lưu CSDL có định dạng .sql

Xem thêm: Hướng dẫn cài đặt Google AMP WordPress Plugin

BƯỚC 2: TẠO CSDL trên host

Bạn đăng nhập vào cPanel của webhosting -> Chọn MySQL Databases để tạo CSDL và user quản lý CSDL. Cụ thể, trong MySQL Databases bạn đặt tên cho CSDL -> Create Database.

Tiếp theo bạn tạo User quản lý CSDL (tên của CSDL và tên của User tùy bạn đặt, có thể giống hoặc khác nhau). User vừa tạo xong chưa có quyền quản lý CSDL, vì vậy bạn cần phải cấp quyền quản trị cho user bằng cách kéo xuống mục Add a User  to a Database ->chọn tên CSDL và tên User -> Add -> Hiển thị bảng cấp quyền (Bạn nên chọn tất cả để user có tất cả quyền quản trị) -> Make Changes.

Kết thúc bước 2: bạn tạo được CSDL và User quản lý CSDL trên host.

Xem thêm: Học WordPress: language_attributes thêm thuộc tính ngôn ngữ cho HTML

BƯỚC 3: Chuyển cơ sở dữ liệu (file .sql ở bước 1) lên host

Bạn truy cập vào phpMyAdmin trong cPanel -> chọn CSDL (đã tạo ở bước 2)- > Importer -> chọn tệp:  .sql chúng ta đã exporter ở bước 1 -> kéo xuống cuối trang và chọn tải nó lên.

Sau khi tải lên, bạn sẽ thấy CSDL ở phpMyAdmin trên cPanel giống trong phpMyAdmin trên localhost.

Kết thúc bước 3: bạn Importer được file .sql vào CSDL.

Kết thúc 3 bước trên là bạn đã chuyển thành công CSDL từ localhost lên host rồi. Những bước tiếp theo chúng ta sẽ chuyển file wordpress từ localhost lên host.

BƯỚC 4: Nén file wordpress ở localhost thành file có định dạng .zip

Bạn vào thư mục chứa file wordpress của bạn: C:\xampp\htdocs\thu_muc_file_cua_ban. Sau đó, chọn và nén tất cả các file ngay trong thu_muc_file_cua_ban thành file có định dạng .zip

Xem thêm: 

BƯỚC 5: Chuyển file wordpress có định dạng .zip lên host và giải nén

Trong cPanel bạn chọn thư mục File Manager -> Public_html -> Upload-> chọn file .zip.

Sau khi upload xong bạn tiến hành giải nén file. Nháy chuột phải -> Chọn Compress

BƯỚC 6: Sửa tập tin cấu hình của wordpress

Nếu bạn để ý bạn sẽ thấy thông tin của  CSDL và User quản lý đã khác so với CSDL và User quản lý trong localhost (ví dụ: trong localhost: username: root, password: ‘’. Còn ở bước 2 bạn đã tạo username với tên khác, password không còn trống nữa). Vì vậy, để kết nối được với CSDL bạn đã tạo ở trên, bạn cần chỉnh sửa chúng.

Trước tiên, bạn hãy đăng nhập  vào FTP bằng FileZilla, vào thư mục chứa mã nguồn wordpress chúng ta vừa tải lên và tìm đến file  wp-config.php -> View/Edit.

Tiếp theo, bạn vào CSDL trong phpMyAdmin trên host -> wp_options -> đổi đường dẫn siteurl và home

VÀ giờ bạn hãy mở website của bạn xem thành quả nhé 😀

Lưu ý: nếu bạn mở ra mà website bị trắng có nghĩa là đường dẫn tĩnh trong website chưa được cập nhật. Bạn hãy truy cập vào: http://ten_website_cua_ban/wp-admin -> cài đặt -> Đường dẫn tĩnh -> Lưu thay đổi để cập nhật đường dẫn tĩnh.

GIỜ thì bạn hãy tải lại website của mình để ngắm nhìn thành quả nhé.

LỜI KẾT

Như vậy là chúng ta đã cùng nhau trải qua 6 bước để đưa 1 website wordpress từ localhost lên host. Giờ thì bạn có thể dễ dàng giới thiệu website của mình đến với khách hàng, độc giả và bạn bè của bạn rồi.

Thiết kế website Wordpress trên localhost sẽ giúp bạn đẩy nhanh tiến độ phát triển và dễ dàng chỉnh sửa file cũng như hình ảnh. Nếu bạn đã xác định trước tên miền cho website thì bạn nên tạo một virtual host trong Apache để sau này khi upload lên hosting bạn không cần phải thay đổi lại tên miền còn nếu chưa xác định trước tên miền tức bạn dùng tên miền localhost việc upload lên server sẽ có phần phức tạp hơn đôi chút. Trong bài viết này tôi sẽ hướng dẫn các bạn cách upload một website Wordpress từ localhost lên webhosting.

Các bước chuẩn bị:

Để đưa một website từ localhost lên hosting bạn cần phải chuẩn bị:

  • Một webhosting, bạn có thể đăng ký một Wordpress hosting tại StableHost, Godaddy, HostGator.
  • Một tên miền, bạn có thể đăng ký tại Namesilo để được miễn phí Whois Privacy
  • Phần mềm FTP Client, bạn có thể download phần mềm File Zilla tại đây

Bây giờ chúng ta sẽ bắt đầu di chuyển website lên hosting nhé.

Bước 1: Xuất CSDL sang file .sql. Bạn truy cập vào http://localhost/phpmyadmin, sau khi chọn CSDL bạn bấm vào menu export, sau đó bấm GO để xuất CSDL ra file .sql. Trong trường hợp CSDL quá lớn bạn nên nén lại dưới dạng .gzip để có thể upload lên hosting. Nếu CSDL của bạn lên đến vài GB bạn có thể gửi cho nhà cung cấp dịch vụ hosting họ sẽ import giúp bạn.

Chuyển WordPress từ host về localhost

Bước 2: Import CSDL vào hosting. Bạn truy cập vào Cpanel của webhosting và bấm vào mục MySQL Databases để tạo CSDL và user quản lý CSDL.

Chuyển WordPress từ host về localhost

Bạn đặt tên cho CSDL

Chuyển WordPress từ host về localhost

Sau đó bạn kéo xuống để tạo user quản lý CSDL, lúc này user vẫn chưa có quyền hạn thao tác với CSDL, bạn sẽ phải cấp quyền hạn cho user sau đó.

Chuyển WordPress từ host về localhost

Bạn kéo xuống dưới cùng và chọn user và CSDL mình vừa tạo sau đó cấp quyền thao tác trên CSDL cho user vừa tạo. Bạn nên chọn tất cả các quyền.

Chuyển WordPress từ host về localhost

Bạn quay trở lại trang chủ của cpanel và chọn vào PHP MyAdmin để import CSDL vào như hình bên dưới. Trong phpMyAdmin bạn bấm vào tab Import. Trong trường hợp CSDL quá lớn bạn có thể upload CSDL dưới các định dạng  gzip, bzip2 hoặc zip.

Chuyển WordPress từ host về localhost

Bước 3: Cập nhật site URL. Trong PHP MyAdmin bạn tìm đến bảng wp_options. Nếu bạn đã thay đổi prefix cho bảng thì bạn sẽ tìm đến bảng tenprefix_options. Sau đó ở cột options_name bạn cần tìm đến 2 giá trị là siteurl và home, click vào edit và tiến hành đổi tên sang tên miền của bạn (ví dụ http://localhost/wordpres bạn đổi sang http://hoclaptrinhweb.org). Bấm vào nút Go để lưu lại. 

Chuyển WordPress từ host về localhost

Chuyển WordPress từ host về localhost

Bước 4: Upload mã nguồn website Wordpress lên hosting. Bạn mở FileZilla lên và nhập các thông số tài khoản FTP sau đó bấm Quickconnect để kết nối vào FTP server. 

Chuyển WordPress từ host về localhost

Ở bên trái bạn bấm CTR+A để chọn hết tất cả file ở localhost sau đó click phải và bấm vào upload để di chuyển file lên hosting. Trong trường hợp file trên website của bạn quá nhiều bạn có thể nén lại dưới dạng .zip để upload lên cho nhanh. Sau đó bạn vào trình quản lý file trong Cpanel để giải nén.

Chuyển WordPress từ host về localhost

Bước 5: Thay đổi thông tin cấu hình kết nối đến CSDL. Trên FileZilla ở panel bên phải bạn tìm đến file wp-config.php và thay đổi các thông số theo thông tin tài khoản CSDL mà bạn đã tạo.

define('DB_NAME', 'hoclaptrinhweb_org');

/** MySQL database username */
define('DB_USER', 'ecode');

/** MySQL database password */
define('DB_PASSWORD', '123456');

/** MySQL hostname */
define('DB_HOST', 'localhost');

 Ở đây bạn cần thay đổi lại tên CSDL, user truy cập CSDL, mật khẩu của user quản lý CSDL. DB_HOST bạn để là localhost, thông số này có thể thay đổi tùy theo các nhà cung cấp dịch vụ khác nhau. Ở đây tôi đang sử dụng StableHost.

Bước 7: Thay đổi lại đường dẫn trong file .htaccess. Đây là một bước mà đôi lúc chúng ta dễ bỏ qua. Nếu bạn cài đặt Wordpress trong một thư mục bên trong htdocs thì file .htaccess của bạn sẽ có nội dung như sau:

# BEGIN WordPress

RewriteEngine On
RewriteBase /ten_folder_cai_wordpres/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]


# END WordPress

 Sau khi upload lên hosting bạn sẽ cần phải thay đổi lại RewriteBase /wordpress sang RewriteBase /. Nếu bạn bỏ qua bước này bạn sẽ gặp phải lỗi 500 internal server khi chạy wordpress.

Bước 7: Cập nhật Permalink. Bạn truy cập vào trong Wordpress Admin và bấm vào Settings » General và click save options để đảm bảo các url được cập nhật lại. Sau đó bạn vào Settings » Permalink và click save để đảm bảo tất cả link của bài post sẽ được cập nhật lại.

Bước 8: Trong trường hợp các link hình ảnh và link trong bài viết vẫn là localhost bạn cần vào lại PHP MyAdmin và chạy câu lệnh SQL sau để câp nhật lại tên miền cho các bài viết của Wordpress.

UPDATE wp_posts SET post_content = REPLACE(post_content, 'localhost/wordpress/', 'www.tenmiencuaban.com/');

Bạn bấm vào tab SQL và paste câu lệnh SQL trên đây vào (nhớ thay đổi cho phù hợp website của bạn nhé). Sau đó click GO và kiểm tra lại website của bạn. 

Chuyển WordPress từ host về localhost

Chúc các bạn di chuyển website của mình thành công. Nếu gặp vấn đề gì khi di chuyển site bạn vui lòng để lại comment bên dưới nhé.