25/02/2022

Moodle – Tài liệu hướng dẫn cài đặt Moodle trên CentOS 7

1. Giới thiệu về Moodle – công cụ quản lý học tập trực tuyến hàng đầu

1.1. Moodle là gì?

Moodle LMS là một nền tảng E-Learning hỗ trợ quản lý học tập trực tuyến rất phổ biến và vô cùng linh hoạt, đáp ứng được nhu cầu học tập, đào tạo của tất cả mọi người, từ cá nhân tới các tổ chức trên mọi lĩnh vực, ngành nghề.

Moodle (Modular Object-Oriented Dynamic Learning Emviroment) được Martin Dougiamas phát triển năm 1999, công bố phiên bản đầu tiên vào năm 2002. Sau 3 thập kỷ phát triển, tính tới năm 2020 , theo số liệu thống kê mới nhất từ trang chủ, , Moodle đã có hơn 180 triệu người dùng, được sử dụng trên 232 nước trên toàn thế giới và hơn 100.000 trang Web được triển khai từ công cụ này. Một con số thống kê cho thấy Moodle xứng đáng là một trong những nền tảng quản lý học tập trực tuyến hàng đầu thế giới !

Moodle được sử dụng rộng rãi trên toàn thế giới

1.2. Các ưu điểm của Moodle

Tất cả các ưu điểm nổi bật nhất của phần mềm quản lý đào tạo học tập trực tuyến hàng đầu thế giới này có thể được gói gọn trong 3 gạch đầu dòng dưới đây :

  • Được cung cấp hoàn toàn MIỄN PHÍ.
  • Được xây dựng trên nền tảng NGUỒN MỞ, do đố Moodle được hỗ trợ bởi cộng đồng nguồn mở có quy mô rất lớn.
  • Linh hoạt, giàu tính năng và dễ sử dụng, do đó Moodle có khả năng TƯƠNG THÍCH với mọi nhu cầu của người dùng.

Moodle là phần mềm được xây dựng trên nền tàng mã nguồn mở được phân phối theo giấy phép Public GNU, do vậy nó hoàn toàn miễn phí . Người dùng có quyền được sử dụng, nghiên cứu, chia sẻ và sửa đổi phần mềm tùy theo nhu cầu cá nhân.

Là công cụ được xây dựng trên nền tảng mã nguồn mở, một trong những lợi thế lớn nhất đó là tính cộng đồng. Moodle có một cộng đồng người dùng khổng lồ. Với 380 triệu bài đăng trên diễn đàn, hơn 20 triệu khóa học và hơn 1,9 tỷ bài Quiz, người dùng hoàn toàn yên tâm về câu hỏi của mình sẽ luôn có câu trả lời !

1.3. Các cách triển khai hệ thống Moodle

Đối với người mới tìm hiểu Moodle, để triển khai một hệ thống Moodle hoàn chỉnh theo tài liệu chính thức sẽ gặp rất nhiều khó khăn.

Team Cloud365 sẽ giới thiệu 2 cách để xây dựng một hệ thống Moodle cơ bản :

Cách 1 : Cài đặt hệ thống Moodle trên Centos 7

Tham khảo tài liệu cài đặt Moodle của team Cloud365

Cách 1 phù hợp với người dùng muốn nắm chi tiết các bước triển khai hệ thống, thường được sử dụng để LAB hoặc triển khai với hệ thống nhỏ, không yêu cầu về hiệu năng và khả năng dự phòng.

Cách 2 : Triển khai hệ thống Moodle chỉ trong 1 phút với template Moodle trên Cloud365

Tham khảo tài liệu hướng dẫn sử dụng template Moodle của team Cloud365

Người dùng có thể sử dụng template Moodle đã có trên Cloud365 Nhân Hòa để triển khai hệ thống Moodle hoàn chỉnh.

Với cách 2, hệ thống Moodle sẽ có các ưu điểm sau :

  • Thời gian triển khai cực nhanh
  • Được tùy chỉnh và tối ưu về cấu hình
  • Có hiệu năng cao và ổn định
  • Có khả năng dự phòng cho hệ thống.
  • Được hỗ trợ quản lý và sử dụng 24/7 bởi đội ngũ kỹ thuật Nhân Hòa.

2. Tính năng của Moodle

Moodle được người dùng ưa chuộng bởi sự linh hoạt và đa dạng. Với hơn 1600 plugin, người dùng có thể dễ dàng tùy chỉnh hệ thống Moodle theo đặc điểm của cá nhân, tổ chức sử dụng.

Moodle có thiết kế theo kiểu module, người dùng thể lựa chọn bổ sung các tính năng bằng cách sử dụng Plugin. Mặc định Moodle có các tính năng chính sau đây :

Thiết kế tổng thể

  • Tương thích với các lớp học trực tuyến, xây dựng các khóa học kết hợp với các lớp học truyền thống
  • Sử dụng đơn giản, giao diện thân thiện với người dùng, dễ cài dặt và cấu hình
  • Giao diện quản lý khóa học thông minh và tiện lợi cho người dùng. Một hệ thống Moodle có thể hỗ trợ hàng nghìn khóa học nhưng vẫn đem tới hiệu quả sử dụng cao.
  • Tính bảo mật cao. Các biểu mẫu được kiểm tra tính hợp lệ, các cookies, mật mã đều được mã hóa
  • Các định dạng văn bản phổ biến, trang web có thể được soạn thảo bằng accsh sử dụng WYSIWYG HTML editor.

Quản lý site

  • Site được quản trị bởi Super Admin và được quy định trong quá trình cài đặt phần mềm
  • Các plug-in Giao diện, cho phép người quản trị tùy chỉnh giao diện của site như : màu, font chữ, bố cục… theo nhu cầu
  • Các các plug-in Ngôn ngữ với hơn 70 ngôn ngữ khác nhau, người dùng có thể hiển thị đa ngôn ngữ trên site.
  • Code được biết bởi ngôn ngứ PHP với license GPL, người phát triển có thể dễ dàng chỉnh sửa theo nhu cầu.

Quản lý người dùng

  • Moodle hỗ trợ các phương thức xác thực người dùng khác nhau thông qua các plug-in xác thực, cho phép tích hợp với các hệ thống xác thực đã có.
  • Các học sinh có thể tự chỉnh sửa các thông tin các nhân như : ảnh, mô tả… Địa chỉ email có thể được giấu đi nếu được yêu cầu.
  • Quản lý Role cho user thông minh và hợp lý. Người dùng có thể đóng các vai trò khác nhau trong hệ thống tùy theo hoàn cảnh thực tế.
  • Việc tham gia khóa học có thể được xử lý bằng nhiều phương thức khác nhau và được quản lý chặt chẽ bởi người quản trị.

Quản lý khóa học

  • Việc quản lý khóa học có thể được thực hiện bởi các người dùng đóng vai trò là Teacher (giáo viên) và được tùy chỉnh tùy theo mục tiêu khóa học.
  • Các hoạt động diễn ra trong khóa học như : các hành động của người tham gia, các thông số thống kê về bài thi, kết quả… đều được ghi log lại bằng văn bản và đưa lên biểu đồ.
  • Các module về bài tập được tùy chỉnh theo nhu cầu của giáo viên và mục tiêu khóa học, đảm bảo tính chặt chẽ nhưng vẫn thân thiện và dễ hiểu.
  • Người tham gia khóa học có thể trao đổi trực tiếp với nhau thông qua các module Chat. Các chủ đề trao đổi có thể được ghi lại và tương tác như một mạng xã hội thu nhỏ qua module Forum.
  • Các module như : Lesson, Quiz, Resource, Wiki… là các module chính và quan trọng nhất trong Moodle, cung cấp tài nguyên học tập cho giáo viên và học sinh.

Trong bài này chúng tôi sẽ giới thiệu với bạn triển khai moodle theo cách 1: Cài đặt từng thành phần

Chuẩn bị máy ảo với hệ điều hành CentOS 7 với cấu hình:

  • CPU: 2
  • RAM: 2 GB
  • Disk: 100 GB
  • Network: 1 interface với IP public

Hoặc sở hữu VPS tại Nhân Hòa.

Cài đặt Moodle

Bước 1: Chuẩn bị

1. Đặt Hostname

hostnamectl set-hostname nhmoodle

2. Cập nhật OS và cài đặt các gói cần thiết

yum install epel-release -y
yum update -y
yum install wget -y

3. Tắt firewall, SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld


4. Khởi động lại máy ảo

reboot

Bước 2: Cài đặt và cấu hình MariaDB

1.  Cài đặt MariaDB 10.2

echo '[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1' >> /etc/yum.repos.d/MariaDB.repo
yum -y update
yum install -y mariadb mariadb-server

2. Khởi động dịch vụ

systemctl start mariadb
systemctl enable mariadb

Bước 3: Cài đặt Apache

1. Cài đặt

sudo yum install httpd -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

2. Khởi động dịch vụ

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Bước 4: Cài đặt PHP 7.2

1.  Cài đặt

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php72
yum install php php-common php-xmlrpc php-soap php-mysql php-dom php-mbstring php-gd php-ldap php-pdo php-json php-xml php-zip php-curl php-mcrypt php-pear php-intl setroubleshoot-server -y

2. Điều chỉnh upload_max_filesize file trong /etc/php.ini

upload_max_filesize = 20M
post_max_size = 21M

Bước 5: Cài đặt Moodle

1. Tạo mới Database

mysql -u root
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'Cloud365a@123';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'Cloud365a@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

2. Tải Source Moodle 3.8.1

cd
yum install -y wget
wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.tgz
sudo tar -zxvf moodle-latest-38.tgz -C /var/www/html

3. Tạo mới thư mục chứa dữ liệu

sudo chown -R root:root /var/www/html/moodle
sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata

4. Cấu hình Virtual Host

cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/moodle/
ServerName e-learning.workfromhome.vn
ServerAlias www.e-learning.workfromhome.vn
<Directory /var/www/html/moodle/>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
ErrorLog /var/log/httpd/e-learning.workfromhome.vn-error_log
CustomLog /var/log/httpd/e-learning.workfromhome.vn-access_log common
</VirtualHost>
EOF

Lưu ý:

  • Server name: Điền tên miền của bạn sở hữu

5. Cài đặt Moodle

sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php \
--chmod=2777 --lang=en \
--wwwroot=http://103.101.162.181 \
--dataroot=/var/moodledata \
--dbtype=mariadb --dbhost=localhost --dbname=moodle \
--dbuser=moodleuser --dbpass=Cloud365a@123 \
--fullname=MoodleNH --shortname=MNH \
--adminuser=admin --adminpass=Cloud365a@123 \
--adminemail=cloud365@nhanhoa.com \
--agree-license

Lưu ý:

  • wwwroot: Địa chỉ Moodle, trong bài máy ảo có IP 103.101.162.181
  • adminuser: Tài khoản quản trị
  • adminpass: Mật khẩu tài khoản quản trị
  • adminemail: Email quản trị
  • Nên xem log thao tác trước khi thực hiện

Lưu ý: Xem log thao tác tại đây

6. Chỉnh sửa quyền trên file cấu hình Moodle

sudo chmod o+r /var/www/html/moodle/config.php

7. Khởi động lại httpd

sudo systemctl restart httpd.service

Truy cập địa chỉ IP máy ảo. Ta được kết quả tương tự dưới đây

Đăng nhập sử dụng tài khoản admin/Cloud365a@123

Cài đặt Moodle sử dụng Template tích hợp sẵn trên Portal Cloud365 của Nhân Hòa

Chi tiết cách cài đặt Moodle sử dụng Template trên Portal Cloud365.

Xem thêm: Tài liệu hướng dẫn trỏ domain cho hệ thống Moodle


Khi cần hỗ trợ xin liên hệ với chúng tôi:

Công ty phần mềm Nhân Hòa