Dựng Moodle

Last modified by Admin on 2024/06/11 14:41

Cài đặt Moodle trên ubuntu 20

Bước 1 - Cài đặt máy chủ web Nginx

          sudo apt update

          sudo apt install nginx

1712285235444-381.png

1712285235447-889.png

Sau khi cài đặt nginx, chúng tôi sẽ dừng, khởi động và kích hoạt nginx để luôn khởi động khi khởi động:

          sudo systemctl stop nginx.service

          sudo systemctl start nginx.service

          sudo systemctl enable nginx.service

1712285235448-279.png


Bước 2 – Cài đặt MariaDB

Moodle cũng cần một máy chủ cơ sở dữ liệu để lưu trữ và quản lý một phần dữ liệu của nó. Đối với điều này, chúng tôi sẽ sử dụng MariaDB. Để cài đặt nó, hãy chạy như sau:

1712285235448-109.png

sudo apt install mariadb-server mariadb-client

Như chúng ta đã làm với Apache, sau khi cài đặt nó, chúng ta sẽ dừng, khởi động và kích hoạt MariaDB để đảm bảo nó khởi động khi khởi động máy chủ

          sudo systemctl stop mariadb.service

          sudo systemctl start mariadb.service

          sudo systemctl enable mariadb.service

1712285235449-908.png

Để bảo mật quá trình cài đặt, MariaDB đi kèm với một tập lệnh giúp điều chỉnh một số giá trị mặc định không an toàn. Bắt đầu tập lệnh bằng cách chạy:
 

          sudo mysql_secure_installation

1712285235450-512.png

Nếu bạn chưa đặt mật khẩu MariaDB và được nhắc Nhập mật khẩu hiện tại cho root (không nhập), sau đó chỉ cần nhấn enter để tiếp tục - bạn sẽ đặt mật khẩu tiếp theo.

1712285235450-993.png
Bạn sẽ được nhắc đặt mật khẩu gốc cho MariaDB. Trả lời Y cho điều này.

Và đặt mật khẩu của bạn. Đảm bảo rằng nó khác với mật khẩu SSH của bạn vì lý do bảo mật.

Bạn cũng sẽ được nhắc trả lời một số câu hỏi để xóa/giữ một số giá trị mặc định. Chúng tôi khuyên bạn nên trả lời chúng như sau:

1712285235451-246.png

Chúng tôi cũng cần định cấu hình MariaDB để tương thích với Moodle. Để thực hiện việc này, chúng tôi sẽ mở tệp cấu hình mặc định của MariaDB:

          sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Và chúng tôi sẽ thêm các dòng sau trong Cài đặt cơ bản, trong phần [mysqld]:

default_storage_engine = innodb

innodb_file_per_table = 1

innodb_file_format = Barracuda

innodb_large_perfix = 1

1712285235451-571.png

Thêm vào như hình:

1712285235452-986.png

Lưu và thoát tệp khi bạn hoàn tất.

Khởi động lại MariaDB để áp dụng các thay đổi:

Bước 3 – Cài đặt PHP7.1-FPM và các mô-đun liên quan

Vì PHP7.1 có thể không có sẵn trong kho lưu trữ mặc định của Ubuntu, nên chúng tôi sẽ phải thêm kho lưu trữ của bên thứ ba để cài đặt nó.

Trước tiên, chúng tôi sẽ thực hiện việc này bằng cách cài đặt software-properties-common , vì lệnh add-apt-repository yêu cầu và sau đó chúng tôi sẽ thêm kho lưu trữ:

          sudo apt-get install software-properties-common

          sudo add-apt-repository ppa:ondrej/php

Bây giờ hãy cập nhật chỉ mục gói của bạn

          sudo apt update

Và cài đặt PHP7.1 và các module liên quan:

          sudo apt install php7.1-fpm php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-gd php7.1-xml php7.1-intl php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Sau này, chúng tôi sẽ điều chỉnh một số giá trị mặc định của PHP bằng cách chỉnh sửa /etc/php/7.1/fpm/php.ini.

          sudo nano /etc/php/7.1/fpm/php.ini

Sau đó tìm kiếm và điều chỉnh các dòng sau cho phù hợp (bạn có thể thay đổi một số giá trị tùy theo yêu cầu của mình):

1712285235453-164.png

Hãy nhớ bỏ ghi chú cgi.fix_pathinfo bằng cách xóa ; từ đầu dòng.

Bước 4 – Tạo cơ sở dữ liệu cho Moodle

Bây giờ chúng ta đã cài đặt và định cấu hình MariaDB trên máy chủ của mình, chúng ta cần tạo cơ sở dữ liệu để Moodle có thể lưu trữ và quản lý dữ liệu.

Đầu tiên hãy đăng nhập vào MySQL và nhập mật khẩu MySQL của bạn khi được nhắc.

          mariadb -u root -p

1712285235453-987.png

Sau khi đăng nhập, chúng tôi sẽ tạo cơ sở dữ liệu. Chúng tôi sẽ gọi nó là moodle nhưng bạn có thể gọi nó là gì bạn muốn.

          CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

1712285235454-192.png

Bây giờ chúng ta sẽ tạo người dùng Moodle và gán mật khẩu cho nó. Chúng tôi sẽ gọi nó là moodle_admin và gán nó là M00dle_p@ssw0rd, nhưng bạn có thể thay thế người dùng và mật khẩu bằng bất cứ thứ gì bạn thích.

          GRANT ALL ON moodle.* TO 'moodle_admin'@'localhost' IDENTIFIED BY 'M00dle_p@ssw0rd';

1712285235455-964.png

Thoát MySQL khi bạn hoàn tất:

1712285235455-967.png

Bước 5 – Tải xuống và cài đặt Moodle

Trước khi cài đặt Moodle, chúng ta sẽ phải tải xuống bản phát hành mới nhất.

Để thực hiện việc này, hãy truy xuất liên kết tải xuống cho bản phát hành Moodle mới nhất bằng cách truy cập Trang tải xuống bản phát hành mới nhất trong trình duyệt của bạn và truy xuất .tgz mới nhất.

Phiên bản mới nhất tại thời điểm viết bài là Moodle 3.6.2+ và liên kết trông như thế này:

https://download.moodle.org/download.php/stable36/moodle-latest-36.tgz

Chúng tôi giả định rằng bạn đang ở trên máy chủ và chỉ có quyền truy cập vào dòng lệnh, vì vậy để tải xuống gói, chúng tôi sẽ sử dụng wget. Tuy nhiên, liên kết đó không phải là liên kết tải xuống trực tiếp. Để có được liên kết tải xuống trực tiếp, chúng tôi sẽ thêm direct/ sau download.php/. Liên kết cuối cùng sẽ như sau:

https://download.moodle.org/download.php/direct/stable36/moodle-latest-36.tgz

Bây giờ chúng ta đã sẵn sàng tải Moodle về máy Ubuntu của mình.

Bây giờ chúng ta sẽ thay đổi thư mục hiện tại thành /tmp, để giữ mọi thứ gọn gàng khi tải xuống các tệp tạm thời và sau đó tải xuống Moodle bằng wget:

         cd /tmp

         wget https://download.moodle.org/download.php/direct/stable36/moodle-latest-36.tgz

1712285235456-771.png

Tiếp theo, chúng tôi sẽ giải nén kho lưu trữ đã tải xuống vào thư mục gốc tài liệu web của chúng tôi. Rất có thể đó là /var/www/html. Nếu gốc tài liệu web của bạn khác, hãy thay thế /var/www/html bằng gốc của bạn.

          sudo tar -xvzf moodle-latest-36.tgz -C /var/www/html

Chạy các lệnh sau để sửa đổi chủ sở hữu và quyền của thư mục:

          sudo chown -R www-data:www-data /var/www/html/moodle/

          sudo chmod -R 755 /var/www/html/moodle/

1712285235457-202.png

Chúng ta cũng sẽ tạo một thư mục để Moodle lưu trữ tất cả dữ liệu liên quan đến khóa học. Theo mặc định, thư mục dữ liệu được lưu trữ trong thư mục gốc của web, nhưng sẽ an toàn hơn nếu lưu trữ nó ra khỏi đó để không thể truy cập trực tiếp từ trình duyệt:

          sudo mkdir /var/moodledata

1712285235457-919.png

Sau đó đặt quyền sở hữu thành www-data và thay đổi quyền cho thư mục để chỉ chủ sở hữu mới có toàn quyền:

          sudo chown -R www-data /var/moodledata

          sudo chmod -R 0770 /var/moodledata

1712285235458-679.png

Bước 6 - Cấu hình Nginx cho Moodle

Bây giờ chúng tôi sẽ định cấu hình Khối máy chủ Nginx để phục vụ Moodle. Chúng tôi sẽ tạo một tệp cấu hình mới:

          sudo nano /etc/nginx/sites-available/moodle

Và thêm các nội dung sau, thay thế dracula.host bằng tên miền hoặc IP máy chủ của bạn:

server {

    listen 80;

    listen [::]:80;

    root /var/www/html/moodle;

    index  index.php index.html index.htm;

    server_name  dracula.host www.dracula.host;

    location / {

    try_files $uri $uri/ =404;

    }

    location /dataroot/ {

    internal;

    alias /var/www/html/moodledata/;

    }

    location ~ [^/]\.php(/|$) {

        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

    }

}

1712285235458-763.png

Lưu và thoát tệp khi bạn hoàn tất.

Bây giờ hãy kích hoạt trang web bằng cách tạo một liên kết tượng trưng vào /etc/nginx/sites-available:

           sudo ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/

1712285235459-238.png

Và khởi động lại nginx để kích hoạt các thay đổi

          sudo systemctl restart nginx.service

1712285235459-178.png

Bước 7 – Hoàn tất cài đặt Moodle trong trình duyệt

Để hoàn tất cài đặt Moodle, chúng ta cần thực hiện một số cấu hình cuối cùng trong trình duyệt. Để thực hiện việc này, hãy điều hướng đến IP hoặc tên miền của máy chủ của bạn trong trình duyệt.

Trong trường hợp của tôi, tôi sẽ điều hướng đến http://dracula.host. Bạn sẽ được chào đón bởi trang đầu tiên nơi bạn chọn ngôn ngữ và sau đó nhấp vào Tiếp theo để chuyển sang bước tiếp theo.

1712285235460-916.png

Tiếp theo chúng ta chọn thư mục cài đặt Moodle và thư mục dữ liệu. Nếu bạn đã làm theo hướng dẫn này, hãy đặt thư mục Moodle thành /var/www/html/moodle và thư mục dữ liệu thành /var/moodledata.

1712285235460-731.png

Tiếp theo, chúng tôi chọn trình điều khiển cơ sở dữ liệu, trong trường hợp của chúng tôi là MariaDB.

1712285235464-568.png

Bây giờ chúng tôi cung cấp cho trình cài đặt Moodle các chi tiết cơ sở dữ liệu mà chúng tôi đã thiết lập cho nó và giữ nguyên các chi tiết khác.

1712285235465-158.png

1712285235465-802.png

Trình cài đặt bây giờ sẽ thực hiện một số kiểm tra. Cuộn xuống và nhấp vào Tiếp tục.

1712285235467-950.png

Sau khi nhấp vào, sẽ mất một phút để thực hiện một số kiểm tra, sau đó bạn có thể tiếp tục.

Điều này sẽ dẫn bạn đến bước cuối cùng, nơi bạn thiết lập tài khoản quản trị viên của mình.

1712285235469-582.png