Chuyển tới nội dung chính
Version: 4.1

Trình quản lý Moodle

Cài và quản lý Moodle — hệ thống quản lý học tập (LMS) mã nguồn mở — trên một tên miền có sẵn, qua trình cài đặt CLI riêng của Moodle. Có cài đặt, trang tổng quan chỉ đọc với trạng thái trực tiếp, xoá bộ nhớ đệm, nhật ký lỗi, chế độ bảo trì, hệ thống sao lưu/khôi phục riêng, nhân bản, tự cập nhật và gỡ cài đặt.


Cài Moodle​

Vào HiTechCloud > Trình cài đặt tự động và nhấn Install Moodle.

Trên trang cài đặt, cấu hình:

  • Tên miền – Tên miền (và thư mục con tuỳ chọn) để cài vào. Để trống thư mục con để cài tại gốc tên miền.
  • Tên website / tên ngắn của website – Tên đầy đủ và tên ngắn của website Moodle.
  • Phiên bản Moodle – Mới nhất, hoặc một dòng phát hành cũ hơn như 4.5 LTS, liệt kê trực tiếp từ các tag GitHub của Moodle. Bản build mới nhất của dòng bạn chọn sẽ được cài (chọn 4.5.2 sẽ cài bản 4.5.x hiện tại).
  • Tên đăng nhập / mật khẩu / email quản trị – Tài khoản quản trị ban đầu mà Moodle tạo trong lúc cài. Để trống mật khẩu để tạo tự động.

Phía sau, thao tác này tải về tarball đóng gói của dòng phát hành đó từ download.moodle.org (bản sao trong bộ nhớ đệm của máy chủ được dùng lại tối đa một ngày, nên bản cài luôn nhận bản vá hiện tại của dòng), và giải nén vào một thư mục "app root" nằm cạnh docroot của tên miền thay vì vào chính docroot. Bố cục được đọc từ chính bản phát hành: từ Moodle 5.1, các tệp được phục vụ qua web nằm trong thư mục con public/, còn config.php và admin/cli/ nằm ở cấp trên (ngoài web root, theo thiết kế); đến 5.0, kể cả 4.5 LTS, toàn bộ cây được phục vụ. HiTechCloud thay docroot (trống) bằng symlink tới web root đó — <approot>/public hoặc <approot> — để webserver phục vụ đúng những gì Moodle muốn. Nếu phiên bản PHP của tên miền cũ hơn yêu cầu của bản phát hành (đọc từ lib/phpminimumversionlib.php của chính Moodle), việc cài dừng tại đây và cho biết cần chuyển sang phiên bản PHP nào. Sau đó nó tạo một cơ sở dữ liệu MySQL/MariaDB riêng và chạy admin/cli/install.php của Moodle ở chế độ không tương tác với thông tin bạn đã cung cấp. Cuối cùng, nó đăng ký một tác vụ cron mỗi phút chạy admin/cli/cron.php — Moodle không làm gì cả (không gửi thư, không ghi danh, không chạy tác vụ theo lịch) nếu thiếu nó. Tiến trình được hiển thị trực tiếp khi từng bước hoàn tất.

Quản lý website Moodle​

Mọi bản cài Moodle đều xuất hiện trên trang chung Trình quản lý website (/sites) cùng các website khác của bạn. Nhấn Quản lý trên một website Moodle để mở trang tổng quan của nó:

  • Thẻ Screenshot và các thẻ trạng thái Moodle / PHP / MariaDB / Created, giống các trình quản lý CMS khác.
  • Tệp – Docroot là symlink tới web root của Moodle (thư mục public/ của app root từ 5.1, chính app root ở các bản trước); lối tắt tới Trình quản lý tệp, và dung lượng thư mục theo thời gian thực.
  • Cơ sở dữ liệu – Tên và tiền tố bảng, đọc trực tiếp từ config.php của app root (không lưu riêng ở đâu khác), cùng lối tắt tới phpMyAdmin.
  • Phiên bản PHP – Sửa được với bản cài ở gốc; bản cài trong thư mục con kế thừa phiên bản PHP của tên miền.

Bộ nhớ đệm​

Widget Cache chạy admin/cli/purge_caches.php đi kèm Moodle, cách chuẩn có tài liệu để xoá mọi bộ nhớ đệm của Moodle mà không cần trình duyệt.

Nhật ký​

Tab Nhật ký hiển thị phần cuối của tệp nhật ký mới nhất trong moodledata (thư mục dữ liệu riêng của Moodle — xem bên dưới). Moodle ghi hầu hết sự kiện ứng dụng vào cơ sở dữ liệu riêng, chỉ đọc được qua giao diện quản trị của nó, thay vì một tệp nhật ký phẳng, nên tab này hiển thị các lỗi ở cấp PHP. Website mới cài và hoạt động tốt thường chưa có mục nào.

Chế độ bảo trì​

Công tắc Maintenance mode bật hoặc tắt trang bảo trì front-end riêng của Moodle, qua admin/cli/maintenance.php --enable / --disable — cùng cơ chế mà quy trình Cập nhật tự động dùng trong lúc chạy. Trạng thái được đọc lại bằng cách kiểm tra tệp đánh dấu climaintenance.html của Moodle có tồn tại trong moodledata hay không, thay vì phân tích đầu ra của script.

Bản sao lưu​

Website Moodle có hệ thống sao lưu riêng, tách biệt với tính năng Bản sao lưu ở cấp tài khoản. Nội dung thực sự của website — tệp tải lên, tệp khoá học, bộ nhớ đệm — nằm trong moodledata, không phải docroot (vốn chỉ chứa mã của bản phát hành gốc, giống hệt nhau ở mọi bản cài cùng phiên bản), nên đó là thứ được sao lưu:

  • Tạo bản sao lưu theo yêu cầu cho cơ sở dữ liệu, moodledata, hoặc cả hai. Bản sao lưu được lưu theo tên miền và thời điểm (backups/<domain>/<timestamp>/database.sql và/hoặc files.tar.gz) trên volume html_data của tài khoản.
  • Khôi phục bất kỳ ngày sao lưu nào trước đó. Khôi phục cơ sở dữ liệu sẽ xoá các bảng có tiền tố hiện có của website trước, rồi nhập database.sql; khôi phục tệp sẽ giải nén files.tar.gz đè lên thư mục moodledata hiện tại.

Nhân bản​

Thao tác Nhân bản sao chép một website Moodle sang tên miền (hoặc thư mục con) mới. Nó sao chép cả thư mục app root và moodledata, tạo cơ sở dữ liệu mới từ bản xuất của cơ sở dữ liệu nguồn, ghi lại tên/người dùng/mật khẩu cơ sở dữ liệu/wwwroot/dataroot trong config.php của bản sao, tạo symlink từ docroot đích tới web root của bản sao (public/ từ 5.1, app root ở các bản trước), đăng ký tác vụ cron riêng cho bản sao, và chạy thao tác tìm-thay URL chung trên cơ sở dữ liệu đã nhân bản — CLI của Moodle không có lệnh tương đương search-replace của WP-CLI, nên HiTechCloud tự xử lý.

Cập nhật​

Thao tác Cập nhật đưa website đã cài lên bản build mới nhất của chính dòng phát hành của nó — website 4.5 LTS vẫn ở 4.5. Chuyển lên một bản phát hành chính mới hơn (ví dụ từ 4.5 lên 5.x) là một bước riêng phải được yêu cầu rõ ràng (major=1 trong yêu cầu cập nhật), vì bản phát hành chính có thể cần phiên bản PHP mới hơn và, từ 5.1, chuyển web root vào public/.

Việc cập nhật tải về tarball đóng gói của dòng phát hành (bản sao trong bộ nhớ đệm được dùng lại tối đa một ngày), giải nén cạnh website và kiểm tra trước khi động tới bất cứ thứ gì:

  • nó phải mới hơn bản build đã cài — nếu không việc cập nhật dừng với "Already running the latest version", hoặc hoàn tất một lần nâng cấp cơ sở dữ liệu mà lần chạy trước còn dang dở;
  • phiên bản PHP của tên miền phải tối thiểu bằng phiên bản mà bản phát hành mới yêu cầu.

Sau đó nó bật chế độ bảo trì, thay bản phát hành mới vào cùng config.php của website (bản phát hành trước được giữ riêng trong lúc đó), trỏ docroot tới web root mới nếu bố cục thay đổi, chạy admin/cli/upgrade.php --non-interactive, và tắt chế độ bảo trì. Nếu upgrade.php dừng trước khi thay đổi cơ sở dữ liệu (ở các bước kiểm tra môi trường, tệp và plugin), bản phát hành trước được đặt lại và website tiếp tục chạy như cũ. Nếu nó thất bại giữa chừng khi nâng cấp cơ sở dữ liệu, bản phát hành mới được giữ nguyên; hãy khắc phục nguyên nhân được báo và chạy lại Cập nhật để hoàn tất. Chế độ bảo trì luôn được tắt trong mọi trường hợp. Chỉ config.php được mang sang: các plugin bổ sung đã cài vào mã phải được thêm lại vào bản phát hành mới.

Gỡ bỏ​

Nút Xoá ứng dụng trong tab Gỡ bỏ gỡ cài đặt hoàn toàn website: xoá tác vụ cron đã đăng ký, xoá cơ sở dữ liệu và người dùng cơ sở dữ liệu, xoá symlink docroot cùng các thư mục app root và moodledata, và gỡ nó khỏi Trình quản lý website. Không thể hoàn tác.


Không bao gồm​

Để giữ tính năng này đơn giản, những mục sau không thuộc phần hỗ trợ Moodle (khác với Trình quản lý WordPress):

  • Trang "Trình quản lý Moodle" riêng trên thanh bên — thay vào đó, hãy quản lý các website đã cài từ Trình quản lý website
  • "Login as Admin" một cú nhấp — hãy đăng nhập bằng thông tin quản trị bạn đã đặt lúc cài
  • Console lệnh admin/cli/* chung — chỉ có xoá bộ nhớ đệm và xem nhật ký
  • Quét hệ thống tệp để tìm các bản cài chưa được theo dõi
  • Quy tắc tăng cường bảo mật
  • Cố định việc cập nhật vào một bản vá cụ thể — Cập nhật cài bản build mới nhất của dòng phát hành của website, hoặc của dòng mới nhất khi có yêu cầu nâng cấp phiên bản chính
  • Chỉ hỗ trợ cơ sở dữ liệu MySQL/MariaDB (không hỗ trợ PostgreSQL)