Moodle – Phần 1 – Hướng dẫn cài đặt Moodle 3.10 trên CentOS-7

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

  1. Chuẩn bị môi trường
  2. Cài đặt Databases (MariaDB)
  3. Cài đặt Web Server (Apache)
  4. Cài đặt PHP
  5. Cài đặt Moodle

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.

2 thoughts on “Moodle – Phần 1 – Hướng dẫn cài đặt Moodle 3.10 trên CentOS-7”

Leave a Comment