Moodle – Phần 3 – Hướng dẫn cấu hình domain và cài đặt SSL cho hệ thống Moodle

Trong bài viết này, HocChuDong sẽ hướng dẫn cách cấu hình domain và cài đặt SSL miễn phí bằng Let’s Encrypt cho hệ thống Moodle.

Đối với các hệ thống Moodle với mục đích sử dụng cho người dùng ngoài chứ không phải người dùng nội bộ thì sẽ cần thực hiện việc trỏ tên miền. Việc trỏ tên miền này sẽ giúp người dùng dễ dàng nhớ địa chỉ truy cập hệ thống cũng như giúp người quản trị cấu hình thêm được bảo mật SSL cho hệ thống Moodle của mình.

1. Chuẩn bị

  • Sở hữu một tên miền bạn muốn sử dụng cho hệ thống Moodle của mình.
  • Một hệ thống Moodle đang chạy với IP Public

Nếu chưa cài đặt Moodle, bạn có thể xem thêm bài viết: Hướng dẫn cài đặt Moodle 3.10 trên CentOS-7

2. Trỏ và cấu hình domain cho hệ thống Moodle

Bước 1: Kiểm tra truy cập Moodle

Truy cập hệ thống Moodle bằng IP Public của bạn trên trình duyệt:

Bước 2: Thực hiện trỏ tên miền về IP Public hệ thống Moodle

Ở bài viết này, mình sẽ sử dụng tên miền moodle.hocchudong.xyz

Thực hiện trỏ bản ghi A tên miền về IP Public của hệ thống Moodle

Lưu ý: Việc trỏ tên miền trên sẽ thực hiện trên giao diện quản lý tên miền của bạn. Tùy vào các nhà cung cấp sẽ có giao diện khác nhau.

Sau khi thực hiện trỏ tên miền xong, ta cần đợi một vài phút để hệ thống tên miền cập nhật bản ghi cho bạn. Bạn có thể kiểm tra tên miền đã trỏ thành công hay chưa bằng cách truy cập MXToolBox. Nhập tên miền bạn cần kiểm tra vào mục DNS Lookup for IP address (kiểmtra bản ghi A) rồi Enter:

Kết quả như hình dưới đây là đã trỏ thành công:

Truy cập hệ thống Moodle bằng tên miền vừa trỏ. Tuy nhiên, thanh địa chỉ vẫn hiển thị là IP của hệ thống chứ không phải tên miền:

Bước 3: Cấu hình domain dưới hệ thống Moodl

1. SSH đến hệ thống Moodle

2. Truy cập và sửa file sau: /var/www/html/moodle/config.php

Tìm đến dòng:

$CFG->wwwroot = 'http://<IP_Public_Moodle>';

Sửa thành:

$CFG->wwwroot = 'http://<domain_Moodle_>';

Trong bài viết này, mình sẽ sửa thành:

$CFG->wwwroot = 'http://moodle.hocchudong.xyz';

Sau khi sửa và lưu lại file cấu hình. Ta thực hiện truy cập hệ thống Moodle bằng tên miền vừa trỏ. Ở đây là moodle.hocchudong.xyz:

3. Cài đặt SSL bằng Let’s Encypt cho hệ thống Moodle

Bước 1: Cài đặt Let’s Encrypt

Thêm kho lưu trữ EPEL

yum install -y epel-release

Cài đặt Certbot Let’s Encrypt Client:

yum -y install certbot python2-certbot-apache mod_ssl

Bước 2: Thiết lập chứng chỉ miễn phí từ Let’s Encrypt

certbot --apache -d moodle.hocchudong.xyz

Nhập thông tin email và đồng ý các điều khoản.

Truy cập lại trang Moodle ta sẽ thấy chứng chỉ được cài đặt:

Tuy nhiên, giao diện bị vỡ và lỗi.

Bước 3: Cấu hình redirect https

Sửa file /var/www/html/moodle/config.php

Tìm đến dòng:

$CFG->wwwroot = 'http://<domain_Moodle_>';

Sửa từ http thành https:

$CFG->wwwroot = 'https://<domain_Moodle_>';

Kiểm tra bằng cách truy cập lần lượt các đường dẫn http và https thì đều đã redirect về https:

Bước 4: Cấu hình gia hạn tự động Let’s Encrypt

Thực hiện lệnh dưới đây để tác vụ gia hạn tự động vào crontab:

echo "0 1,13 * * * root certbot renew" >> /etc/crontab

Trên đây là hướng dẫn cách cấu hình domain và SSL cho hệ thống Moodle.

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

Leave a Comment