Dựng Moodle
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
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
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:
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
Để 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
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.
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:
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
Thêm vào như hình:
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):
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
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;
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';
Thoát MySQL khi bạn hoàn tất:
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
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/
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
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
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;
}
}
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/
Và khởi động lại nginx để kích hoạt các thay đổi
sudo systemctl restart nginx.service
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.
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.
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.
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.
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.
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.