如何在 Ubuntu 20.04 上安裝 Moodle

表情包 是一個免費的開源學習管理系統(LMS)。 它是用 PHP 編程語言編寫的。 許多學校、大學和組織都使用 Moodle 來獲得更好的學習體驗。

Moodle提供 內容管理、用戶友好的用戶界面、報告、測驗、反饋、出勤列表等。

本指南介紹瞭如何設置您自己的 表情包 服務器從零開始 Ubuntu 20.04 通過使用 LEMP 堆。

在 Ubuntu 上安裝 LEMP 堆棧

LEMP 是一組開源軟件,包括 Linux、Nginx、MySQL/MariaDB 和 PHP。 LEMP 本質上是 LAMP 堆棧的替代品,使用 Nginx 作為網絡服務器而不是 Apache.

對於 Linux,我們在本指南中使用 Ubuntu 20.04。 確保您準備好與具有以下功能的用戶一起使用 sudo 能力。

安裝 Nginx

nginx 需要通過網絡提供學習資源。 如果您沒有現有的 NGINX Web 服務器實例,請按照此其他指南中的步驟在 Ubuntu 20.04 上安裝 NGINX。 使用註冊的域名成功配置 NGINX 後,您可以返回本指南並繼續執行以下後續步驟。

安裝 MySQL/MariaDB

需要一個數據庫來存儲moodle數據。 Moodle 最常用的數據庫通常是 MySQL/MariaDB 或 Postgres。

Moodle 數據庫表包括有關用戶、課程、站點信息和用於分析的數據的信息。

我們將安裝 MariaDB,它是一個源自 MySQL 的開源數據庫管理系統。

運行以下命令以 安裝 MariaDB 在 Ubuntu 上:

$ sudo apt-get install mariadb-server mariadb-client

下一個命令將執行一個內置腳本,用於配置和保護您的 mariadb 安裝。

$ sudo mysql_secure_installation

仔細閱讀說明很重要。 首先,系統會提示您輸入 mysql root 用戶的當前密碼。 由於這是全新安裝,mysql root 用戶的密碼為空。 所以按回車鍵繼續。

Enter root 的當前密碼(輸入無):好的,成功使用密碼,繼續……

第二步是設置mariadb的root密碼。 Enter 然後鍵入您想要的密碼。

設置root密碼? [Y/n]
新密碼:重新輸入新密碼:密碼更新成功! 重新加載權限表… …成功!

接下來,刪除匿名用戶。 Enter 確認。

刪除匿名用戶? [Y/n]
… 成功!

下一步是關於遠程禁用 root 登錄。 Enter 確認。

禁止遠程root登錄? [Y/n]
… 成功!

Enter 以確認刪除測試數據庫。

刪除測試數據庫並訪問它? [Y/n] y 刪除測試數據庫…………成功! 刪除測試數據庫的權限…… 成功!

最後一步是重新加載權限表,以使您的更改生效。 Enter 確認。

現在重新加載權限表? [Y/n]
… 成功! 清理……一切都完成了! 如果您已完成上述所有步驟,那麼您的 MariaDB 安裝現在應該是安全的。 感謝您使用 MariaDB!

您現在可以登錄到 mariadb 並創建一個數據庫來存儲 Moodle 數據。 運行以下命令並在出現提示時輸入 mariadb root 密碼。

$ sudo mysql -u 根 -p

登錄後,運行以下命令以創建數據庫。

> 創建數據庫模式;

接下來,在 mariadb 中為 Moodle 創建一個用戶帳戶,如下所示。 記得更換 超級心情密碼 用你自己的價值觀。

> CREATE USER ‘moodlesuper’@’localhost’ IDENTIFIED BY ‘password’;

下一個命令為新創建的用戶帳戶授予必要的權限。

> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON Moodle.* TO ‘moodlesuper’@’localhost’;

按如下方式註銷 mariadb。

> 退出

安裝 PHP

PHP 需要動態處理用戶對 Moodle 內容的請求。 NGINX 通過使用 PHP-FPM(即 FastCGI 進程管理器)與 PHP 協同工作。

通過運行以下命令安裝所需的 PHP 組件。

$ sudo apt-get 安裝 php-fpm php-mysql php-xml

安裝後,下一步是配置 NGINX 以將 PHP 請求轉發到 PHP-FPM。 為此,您需要編輯 Moodle 網站的 NGINX 服務器塊文件。 為了 example,下面的命令將打開我的“cloudindevs.com”Moodle 網站的服務器塊文件。

$ sudo nano /etc/nginx/sites-available/cloudindevs

在服務器塊文件中,添加 索引.php 到以 index 開頭的行。 此外,複製以下配置指令並將其粘貼到服務器塊文件中現有位置指令的正下方。

# pass PHP scripts to FastCGI server
location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

更改後,您的服務器塊文件的那部分應該類似於您在下圖中看到的內容。 新增內容以紅色標記。

配置 NGINX 以使用 PHP-FPM

要測試您的配置,請運行以下命令,在您的moodle 網站的根目錄中創建一個示例 index.php 文件。 請記住將“cloudindevs.com”替換為您自己的網站地址。

$ sudo nano /var/www/cloudindevs.com/index.php

將下面的示例 PHP 代碼複製並粘貼到 index.php 文件中。

<?php echo 'NGINX is working with PHP-FPM!'; ?>

Save 和 close index.php 文件。 在 Web 瀏覽器中訪問 yourwebsite.com/index.php,您應該會看到下面的示例頁面。

測試 PHP-FPM 配置測試 PHP-FPM 配置

要使用 SSL (https) 跟隨 Nginx 和 Let’s Encrypt。

在 Ubuntu 上安裝 Moodle

在撰寫本指南時, 最新的 Moodle 版本 是 3.10.1 並且可以是 下載 如下。

$ sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz

接下來,提取下載的包的內容並將其放置在您的 Moodle 網站的根目錄中。 這是一個 example.

$ sudo tar -zxvf Moodle-3.10.1.tgz -C /var/www/cloudindevs.com

有必要更改提取的 Moodle 文件夾的所有權和權限,如下所示。 默認的 NGINX 服務帳戶是 萬維網數據.

$ sudo chown -R www-data:www-data /var/www/cloudindevs.com/moodle $ sudo chmod -R 755 /var/www/cloudindevs.com/moodle

運行接下來的三個命令來創建一個具有適當權限的目錄,讓 Moodle 存儲上傳的文件和文件夾。 不應通過網絡訪問 Moodle 數據目錄。

$ sudo mkdir /var/moodledata $ sudo chown -R www-data: www-data/var/moodledata $ sudo chmod -R 755 /var/moodledata

Moodle配置

現在,是時候創建主要的 Moodle 配置文件了。 為此,請更改目錄,然後通過運行以下命令將示例配置文件複製到提取的 Moodle 文件夾中。

$ cd /var/www/cloudindevs.com/moodle $ sudo cp config-dist.php config.php

打開 config.php 文件進行編輯。

$ sudo 納米配置.php

在裡面 數據庫設置 在 config.php 文件的部分,執行以下操作。

  1. 代替 pgsql 使用 mariadb
  2. 代替 穆德爾 使用您在設置 mariadb 時創建的數據庫的名稱
  3. 改變 用戶名 到您之前創建的實際數據庫用戶名
  4. 改變 密碼 到您的數據庫密碼

按向下箭頭鍵,直到到達 網站位置 config.php 文件的部分。

代替 https://example.com/穆德爾https://yoursite.com/moodle

例如,我的是“https://cloudindevs.com/moodle”

進一步向下滾動到 數據文件位置 config.php 文件的部分。

改變 /家/example/moodledata 到您之前創建的moodle數據目錄。 我的是 /var/moodledata

訪問 Moodle 網頁界面

此時,您可以打開網絡瀏覽器並訪問 yoursite.com/moodle 以完成安裝。

這是我在 Web 瀏覽器中訪問“www.cloudindevs.com/moodle”時得到的信息。

Moodle 網頁安裝頁面Moodle 網頁安裝頁面

點擊 繼續 繼續。 在下一頁上,您可能會遇到有關缺少插件的錯誤。 看到一個 example 在下圖中。

Moodle服務器檢查Moodle服務器檢查

要解決問題,請單擊 必須安裝並啟用 並按照說明安裝所需的擴展。 安裝必要的擴展後,使用以下命令重新啟動 NGINX sudo systemctl 重啟 nginx 然後重新加載服務器檢查頁面以確認錯誤是否消失。

Moodle 服務器檢查通過Moodle 服務器檢查通過

如果錯誤消失,您可以單擊 繼續 繼續。

配置 Moodle 主管理員賬戶

成功安裝 Moodle 後,您將看到一個頁面來配置您的主管理員帳戶。 您需要指定用戶名、密碼和其他必需信息。

此外,系統會要求您配置站點名稱、首頁摘要、位置設置等。完成後,單擊 Save 變化 在頁面底部。

Save  表情設置Save 表情設置

Moodle的安裝到此結束。 這是我的新 Moodle 網站的樣子。

Moodle安裝成功Moodle安裝成功

結論

自 Covid-19 大流行開始以來,在線學習受到了很多關注——這是事實。 許多教育機構正在通過 Moodle 等在線學習管理系統創建電子學習平台。

在本指南中,我們已經在 Ubuntu 20.04 上從頭開始成功安裝和配置了 Moodle 服務器。 有關如何使用和管理您的 Moodle 網站的更多信息,請諮詢官方 Moodle 文檔.