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 trong nhiều lĩnh vực, ngành nghề.
Vậy làm sao để có thể cài đặt và sử dụng Moodle. Mời các bạn theo dõi chuỗi bài viết về Moodle của Học Chủ Động nhé.
Chuẩn bị
Chuẩn bị 1 máy ảo cài CentOS-7 với cấu hình:
- vCPU : 2
- RAM : 2 GB
- Disk: 50 GB
- Network: Có thể truy cập internet
Các bước cài đặt Moodle:
Lưu ý: Các thao tác cài đặt và cấu hình dưới đây thực hiện với quyền root
Cài đặt Moodle 3.10
1. Chuẩn bị môi trường:
Đặt hostname:
hostnamectl set-hostname hocchudong-moodle
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
Tắt Firewall và 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
Khởi động lại máy ảo:
init 6
2. Cài đặt Databases (MariaDB)
Thêm repo MariaDB 10.5:
echo '[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1' >> /etc/yum.repos.d/MariaDB.repo
yum -y update
Cài đặt MariaDB:
yum install -y MariaDB-server MariaDB-client
Khởi động dịch vụ MariaDB:
systemctl start mariadb
systemctl enable mariadb
Kiểm tra phiên bản MariaDB:
[[email protected] ~]# mariadb -V
mariadb Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using readline 5.1
Cài đặt bảo mật ban đầu cho databases:
mysql_secure_installation

Lưu ý: Ghi nhớ mật khẩu root của MariaDB vừa đặt ở trên
Phiên bản MariaDB 10.5 đã sử dụng xác thực bằng unix_socket
nhưng mình muốn mỗi khi truy cập Databases đều phải nhập mật khẩu nên ở đây mình sẽ thực hiện disable tính năng này đi để chuyển về xác thực qua mật khẩu. Thêm các dòng dưới đây vào file /etc/my.cnf
:
[mariadb]
unix_socket=OFF
Restart lại service:
systemctl restart mariadb
Truy cập vào MariaDB bằng mật khẩu đã đặt ở trên:

3. Cài đặt Web Server (Apache)
Cài đặt Apache:
yum install httpd -y
sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Khởi động dịch vụ:
systemctl start httpd.service
systemctl enable httpd.service
4. Cài đặt PHP 7.4
Cài đặt PHP 7.4:
yum install -y epel-release yum-utils
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
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
Kiểm tra phiên bản php:
[[email protected] ~]# php -v
PHP 7.4.16 (cli) (built: Mar 2 2021 10:35:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Điều chỉnh thông số upload_max_filesize
file trong /etc/php.ini
upload_max_filesize = 20M
post_max_size = 25M
5. Cài đặt Moodle 3.10
Khởi tạo Databases cho Moodle:
mysql -u root -p
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY '[email protected]';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
exit
Cài đặt Moodle 3.10:
cd
wget https://download.moodle.org/download.php/direct/stable310/moodle-latest-310.tgz
tar -zxvf moodle-latest-310.tgz -C /var/www/html
Tạo mới thư mục chứa dữ liệu của Moodle và phân quyền các thư mục cần thiết:
chown -R root:root /var/www/html/moodle
mkdir /var/moodledata
chown -R apache:apache /var/moodledata
chmod -R 755 /var/moodledata
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 moodle.hocchudong.local
ServerAlias www.moodle.hocchudong.local
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF
Cài đặt Moodle từ CLI:
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php \
--chmod=2777 --lang=en \
--wwwroot=http://x.x.x.x \
--dataroot=/var/moodledata \
--dbtype=mariadb --dbhost=localhost --dbname=moodle \
--dbuser=moodleuser [email protected] \
--fullname=MoodleHocChuDong --shortname=MHCD \
--adminuser=admin [email protected] \
[email protected] \
--agree-license
Lưu ý:
- wwwroot: Địa chỉ Moodle, điền IP truy cập máy ảo của bạn
- adminuser: Tài khoản quản trị
- adminpass: Mật khẩu tài khoản quản trị đăng nhập giao diện web
- adminemail: Email quản trị
Xem log thao tác từng bước tại đây.
Chỉnh sửa quyền file cấu hình Moodle:
chmod o+r /var/www/html/moodle/config.php
Khởi động lại service :
systemctl restart httpd.service
Kiểm tra
Truy cập bằng IP máy ảo trên trình duyệt sẽ có kết quả tương tự hình dưới đây:

Đăng nhập bằng tài khoản đã thiết lập. Trên giao diện, chọn Login:

Đăng nhập bằng tài khoản đã tạo: admin/[email protected]

Giao diện Moodle sau khi đăng nhập:

Trên đây là hướng dẫn cài đặt Moodle trên CentOS-7. Chúc các bạn thành công.
Rất mong các bạn theo dõi chuỗi bài viết về Moodle của Học Chủ Động để hiểu thêm về cách sử dụng cũng như cấu hình các tính năng khác của Moodle.
đã làm được. Chân thành cám ơn ad. Có điều mình truy cập tên miền thì nó lại trả lại tên ip, chứ ko phải là tên miền. Có thể sửa ở đâu vậy ad ?