Trong quá trình sử dụng, thỉnh thoảng chúng ta sẽ gặp phải trường hợp khách hàng muốn làm một web giống với một web mà chúng ta đã làm trước đó. Vậy bài viết này sẽ hướng dẫn cách clone source code và database qua một hosting mới trong cùng một VPS/server chạy DirectAdmin bằng command line.
Bước 1 : xác định rõ username của web gốc và web mới
Nếu dùng tài khoản admin, ta vào mục Show All Users :
Nếu dùng tài khoản reseller, ta vào mục List Users :
Ví dụ ở bài viết này, ta cần clone web 123host.test qua web abcxyz.local. Vậy theo như hình này thì ta có :
123host.test có username là host123
abcxyz.local có username là abcxyz
Ta cần nhớ thêm một thông số nữa, đó là database name của web cũ. Ta vào hosting cũ, vào mục MySQL Managerment :
Trường hợp trong 1 hosting có nhiều web, và có nhiều database thì ta cần tìm lại xem web mình muốn chuyển chính xác đang dùng database nào.
Ví dụ ở đây hosting chỉ có 1 web là 123host.test, và web này chỉ dùng 1 database là host123_new
Bước 2 : truy cập vào VPS/server để chuyển dữ liệu
Ta thực hiện theo hướng dẫn sau để truy cập SSH vào VPS/server :
Sau khi SSH vào VPS/server, ta di chuyển đến thư mục của web mới, ta dùng lệnh sau :
cd /home/<username của web mới >/domains/<domain của web mới>/
Ví dụ : web mới là abcxyz.local và có username là abcxyz thì ra dùng lệnh :
cd /home/abcxyz/domains/abcxyz.local/
Đổi tên thư mục public_html hiện có thành tên khác, dùng lệnh :
mv public_html public_html.bak
Copy dữ liệu từ hosting của web cũ qua, dùng lệnh :
cp -R /home/<username>/domains/<domain>/public_html .
Ví dụ : chuyển từ user host123 qua user abcxyz thì ta dùng lệnh :
cp -R /home/host123/domains/123host.test/public_html .
**Lưu ý : có dấu .
Phân quyền cho các thư mục và file vừa copy qua :
chown -R <username của web mới>:<group name của web mới> <đường dẫn tới thư mục chứa code của web mới>
Ví dụ : vừa chuyển dữ liệu qua user abcxyz, và mặc định thì dùng lệnh :
chown -R abcxyz:abcxyz /home/abcxyz/domains/abcxyz.local/
Bước 3 : import database từ hosting của web cũ qua hsoting web mới
Ta tạo database rỗng ở web mới theo hướng dẫn sau :
Ví dụ ở đây ta sẽ tạo 1 database rỗng ở hosting của web mới với database name là abcxyz_new
Quay lại giao diện SSH, ta dùng lệnh sau để export database của web cũ :
mysqldump <database name của web cũ> > <tên file>
Ví dụ : database name của web cũ là host123_new, dùng lệnh :
mysqldump host123_new > backup.sql
**Lưu ý : ở mục <tên file> thì có thể đặt tùy thích, nhưng tốt nhất nên đặt đuôi .sql để nếu muốn import vào các hệ thống khác thì sẽ dễ import hơn.
Import database cũ vào database rỗng vừa mới tạo ở trên :
mysql <database name web mới> < <tên file>
Ví dụ : vừa export database cũ ra file backup.sql, giờ muốn import vào database rỗng tên là abcxyz_new thì dùng lệnh :
mysql abcxy_new < backup.sql
Giờ ta chỉ cần cấu hình gắn database mới vào code là xong.