Chuyên mục
Playground

Hướng dẫn di chuyển Discourse sang máy chủ mới

Cài đặt Discourse đã phức tạp, muốn dọn nhà Discourse từ máy chủ hiện tại sang máy chủ mới còn rắc rối hơn. Bài viết này mình sẽ hướng dẫn cách di chuyển Discourse sang máy chủ mới.

1. Update Discourse lên phiên bản mới nhất

Đầu tiên bạn cần cập nhật Discourse lên phiên bản mới nhất trên máy chủ hiện tại. Thao tác này giúp hạn chế lỗi không tương thích khi di chuyển file và cơ sở dữ liệu sang máy chủ mới (sẽ được cài đặt Discourse mới nhất).

Discourse đã được cập nhật lên phiên bản mới nhất

2. Backup Discourse trên máy chủ hiện tại

Kế tiếp, cần phải backup (sao lưu) lại toàn bô dữ liệu trên máy chủ hiện tại. Chúng ta sẽ dùng file này để phục hồi nguyên trạng Discourse trên máy chủ ở bước sau.

Bấm nút Backup để tiến hành sao lưu dữ liệu
Chọn YES

Đợi vài phút để hệ thống zip toàn bộ dữ liệu thành một file tar.gz

3. Cài đặt Discourse trên máy chủ mới

Bên máy chủ mới, chúng ta cần chuẩn bị sẵn hệ điều hành Ubuntu 14.04 với Docker đã được cài sẵn.

sudo apt-get update
 sudo apt-get -y install linux-image-extra-$(uname -r)
 sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
 sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\ > /etc/apt/sources.list.d/docker.list"
 sudo apt-get update
 sudo apt-get -y install lxc-docker

Tiếp theo, tải Discourse về máy chủ

sudo -s
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Trước khi cài đặt Discourse, chúng ta cần copy file cấu hình app.yml từ máy chủ cũ để bảo đảm thông tin chính xác bằng cách sử dụng lệnh rsync

cd /var/discourse/containers
rsync -avz root@xxx.xxx.xxx.xxx:/var/discourse/containers/app.yml

Nhớ thay thế xxx.xxx.xxx.xxx bằng địa chỉ IP của máy chủ hiện tại đang chạy Discourse. Sau đó bắt đầu tiến hành cài đặt Discourse

./launcher rebuild app

4. Copy file backup qua máy chủ mới

Sau khi máy chủ mới hoàn thành việc cài đặt, chúng ta sẽ tiến hành copy file backup từ máy chủ hiện tại sang. File backup được lưu trong thư mục /var/discourse/shared/standalone/backups/default/.

root@vps344586:/var/discourse/shared/standalone/backups/default# ls
club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-16-033652-v20170526125321.tar.gz
club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-18-033243-v20170526125321.tar.gz
club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-20-033123-v20170526125321.tar.gz
club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-21-112847-v20170526125321.tar.gz
tmp

Chúng ta cần copy file backup vừa mới tạo ở bước 2 nằm trong thư mục này từ máy chủ hiện tại sang máy chủ mới. Ở đây, file mình cần chép là club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-21-112847-v20170526125321.tar.gz

Sử dụng lệnh rsync để copy file giữa hai máy chủ, khỏi mất thời gian tải về máy tính cá nhân rồi tải lên máy chủ khác. Hãy chuyển qua màn hình terminal của máy chủ mới và bắt đầu copy file

cd /var/discourse/shared/standalone/backups/default
rsync -avz root@xxx.xxx.xxx.xxx:/var/discourse/shared/standalone/backups/default/club-c-ng-d-ng-chia-s-kinh-nghi-m-ch-y-b-2017-06-21-112847-v20170526125321.tar.gz .

Nhớ thay thế xxx.xxx.xxx.xxx bằng địa chỉ IP của máy chủ hiện tại đang chạy Discourse và tên club…tar.gz bằng tên file trên hệ thống của bạn.

5. Restore file backup trên máy chủ mới

Để restore file backup vừa mới copy, cách nhanh nhất là dùng dòng lệnh ngay trong terminal.

cd /var/discourse
./launcher enter app
discourse enable_restore
discourse restore <ten.file.backup.ban.vua.copy.tar.gz> 
discourse disable_restore

Nếu suôn sẻ, hệ thống sẽ có thông báo như dưới đây

Reconnecting to the database...
Reloading site settings...
Clearing emoji cache...
Disabling readonly mode...
Extracting uploads...
Notifying 'system' of the end of the restore...
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2017-06-21-131347' directory...
Unpausing sidekiq...
Marking restore as finished...
Finished!
[SUCCESS]
Restore done.

Nếu gặp lỗi, các bạn xem kỹ báo lỗi là gì, sau đó tìm trên Google để biết cách khắc phục hoặc có thể comment dưới đây, mình sẽ hướng dẫn (nếu có thể).

6. Thay đổi DNS trỏ về IP của máy chủ mới

Việc cuối cùng bạn cần làm là thay đổi DNS trỏ về IP của máy chủ mới. Công việc dọn nhà cho Discourse xem như hoàn tất.

Chúc các bạn thành công.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *