999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

構建基于Moodle在線學習平臺的關鍵技術

2019-10-12 05:50:52葉濤
中國教育技術裝備 2019年6期
關鍵詞:數據庫

葉濤

摘? 要 在線學習平臺是開展在線學習或混合學習的基礎。闡述目前應用最廣泛的開源在線學習平臺Moodle最新版本的構建過程及其中的關鍵技術,對新版本Moodle所依賴的基礎軟件環境及各模塊的關聯進行充分解釋與配置展示,為構建在線學習平臺和開展在線學習活動支持提供示范與參考。

關鍵詞 Moodle;在線學習;學習平臺;數據庫;MySQL;PHP

中圖分類號:G642? ? 文獻標識碼:B

文章編號:1671-489X(2019)06-0023-04

Key Technology about Constructing Online Learning Platform based Moodle//YE TaoAbstract Construction of online learning platform is the base of both?online learning and blend learning. The paper elaborates on the constructing process about open source online learning platform based on the latest version Moodle, including the key technology, infrastructure software and configure of dependent module. It pro-vides demonstration and reference for constructing online learning platform and carrying out online learning activity.

Key words Moodle; online learning; learning platform; data base; MySQL; PHP

1 前言

隨著信息技術的不斷發展,網絡速度不斷提升,無線網絡覆蓋面不斷擴大,智能移動終端普及流行,在線學習已迅速成為學校教學、社會教育、終身教育的有效學習模式。在高校中,線上學習與線下教學的混合教學模式日漸受到重視,而開展在線學習的基礎是構建有效的在線學習平臺。在線學習平臺構建方式主要有定制開發、購買商品平臺或利用免費開源平臺。因構建周期短、費用成本低,利用開源免費平臺的構建方式應用越來越廣泛,而對開源免費平臺,Moodle因其功能強大、更新快速而受到廣泛應用。

Moodle新版本具有許多新特性和新功能,其運行支持軟件環境的構建與原來版本有一些變化。下面以Moodle 3.4在Windows Server 2012 R2服務器上構建在線學習平臺為例,詳細介紹其構建過程與關鍵技術。平臺的環境框架如圖1所示。

平臺構建前,最好對服務器空間使用進行規劃,可選擇一個空白的、容量足夠大的磁盤分區作為Moodle運行環境與存放Moodle數據,以便于以后系統的管理與維護。如選擇3.5 T的E盤作為Moodle的運行環境與數據空間。根據Moodle 3.4的環境要求[1],確定軟件環境各模塊的版本要求如表1所示。

2 Apache服務器的構建

Windows Server 2012 R2自帶微軟的Web服務器IIS,

而Moodle是使用PHP語言開發的,PHP一般運行的Web服務器是Apache,因此需將Windows Server 2012 R2自帶的默認的Web服務器IIS關閉,安裝Apache服務器作為PHP運行的Web服務器,并使用IIS原來使用的80端口監聽請求。

根據表1的要求下載Windows X64的Apache 2.4.29 ZIP壓縮包[2]。將下載的Apache壓縮包httpd-2.4.29-o102n-

x64-vc14-r2.zip解包后,目錄下有一個readme_first.html說明文件與Apache24文件夾,Apache24文件夾內包含Apache運行所需要的文件,將其拷貝至服務器E盤根目錄上;然后打開readme_first.html,里面介紹了壓縮包版的Apache安裝方法及主要的安裝、啟動、停止、卸載等命令。

在服務器上運行CMD,打開命令行窗口,在命令窗口中輸入E:,回車進入E盤,輸入cd e:\Apache24\bin進入e:\Apache24\bin目錄中。輸入httpd-k install進行Apache服務安裝。一般地,沒有升級或打補丁的系統往往會提示沒有系統安裝VC運行庫,不能安裝。這是由于操作系統沒有安裝Apache安裝所需要的運行庫導致的,因此要上微軟官網上下載Visual C++ Redistributable for Visual

Studio 2015 Update 1[3]并安裝,即可解決此問題。安裝后,再運行httpd-k install命令,便可成功安裝。打開瀏覽器,在地址欄輸入http://localhost,會打開apache的說明網頁,說明Apache安裝成功。

3 安裝PHP環境

Moodle是使用PHP開發的,因此,它的運行需要配置PHP環境。Moodle 3.4版本對PHP的版本要求是7.0以上,具體下載的是x64版的php7.2 zip包[4],將解包后的文件夾復制至服務器E盤,將文件夾重命名為php7,并將e:/php7文件夾中的php-production.ini重命名為php.ini。PHP帶有兩個ini文件:一個是php.ini-development,面向開發時使用;一個是php-production.ini,面向生產使

用。根據需要,選用php-production.ini,將其重命名為php.ini。php.ini就是PHP初始化的自動檢測并據此進行相關配置的配置文件。為了Moodle在安裝時能找到php.ini文件,需要在環境變量Path中加入e:\php7;e:\php7\bin路徑,這樣系統在需要php.ini文件時,會根據Path的變量值在e:\php7;e:\php7\bin路徑下尋找php.ini文件。

配置完PHP后,還需要設置在Apache啟動時加載PHP模塊。在E:/Apache24/conf/下找到Apache的配置文件httdconf.ini文件,使用記事本打開,加入以下語句:

LoadModule php7_module “e:/php7/php7apache2_4.dll”

PHPIniDir “e:/php7”

AddHandler application/x-httpd-php.php

第一行語句加載PHP7模塊,第二行語句確定PHP初始目錄,第三行語句將擴展名為php的文件關聯到應用,使Apache通過PHP模塊進行解釋執行。

在e:/Apache24/conf/httpd.conf文件,這是Apache的配置文件,在標簽內,加入index.

php,并位于index.html之前,如下所示:

DirectoryIndex index.php index.html

上述語句作用是讓網站默認起始頁為index.php,且優先權先于index.html,因為Moodle的首頁就是index.php,這樣用戶訪問時不需要輸入起始頁,只需輸入域名或IP加虛擬目錄即可

保存修改后的httpd.conf文件,要使修改后httpd.conf文件起作用,必須重啟Apache服務,使用命令httpd -k restart重啟Apache服務器。

通過上面的配置,Apache應該具有處理PHP文件的能力,可以寫個測試的PHP文件來檢測,將下列代碼輸入記事本中,并保存為test.php文件放在Apache24/htdocs/目錄下:

<?php

phpinfo();

?>

在瀏覽器下輸入http://localhost/test.php,如果能夠看到相關PHP系統信息,說明PHP配置成功。

4 安裝數據庫MySQL

Moodle 3.4要求MySQL的版本最低為5.5.31,這里使用的是MySQL 5.7.21的Windows X64版本Zip壓縮包[5]。解包后將包含bin目錄的上一級文件夾拷貝至服務器E盤上,重命名該文件夾為mysql57,在系統變量path中增加e:/mysql57字串。這是關鍵,否則初始化時系統找不到MySQL的配置文件my.ini。

在E盤上建立MySQL數據庫及數據表存放的文件夾mysql57-data。與以往的版本有所不同,MySQL 5.7的ZIP包解壓后沒有my.ini文件,需要手工建立。打開記事本,輸入以下語句:

[mysqld]

basedir=d:\\mysql57

datadir=d:\\mysql57_data

命名為my.ini,保存在e:/mysql57文件夾中。上述指令告訴系統MySQL的基礎目錄與數據目錄的具體位置,用于初始化。有了my.ini文件后,可以進行MySQL初始化。運行cmd命令,打開命令行窗口,進入e:\mysql57\bin目錄,輸入如下指令:

Mysqld --defaults-file=”e:\mysql57\my.ini” –initialize

上述指令使用剛設置的my.ini文件進行初始化,若初始化成功,則會在d:\mysql57-data下建立系統數據庫等文件,并隨機產生數據庫root用戶的密碼,密碼存放在mysql57-data目錄下的[主機名].err文件中。[主機名]表示根據實際安裝所在的主機名命名的文件,其擴展名為err。用記事本打開這個文件,看到隨機產生的root密碼。初始化成功后就可以安裝MySQL服務了,在命令行窗口中使用以下命令安裝MySQL服務:

Mysqld-install

使用以下命令啟動MySQL服務:

Net start mysql

測試MySQL服務,在命令行窗口輸入如下指令:

Mysql-u root-p

輸入隨機密碼,成功進入MySQL界面,提示符為mysql>,

這時可用以下命令將系統隨機產生的密碼修改為自己設定的密碼:

mysql> ALTER USER ‘root@localhost IDENTIFIED BY ‘new_password;

至此,MySQL安裝完成。

5 PHP 7與MySQL 5.7的關聯

要使PHP與MySQL相關聯,必須在php.ini配置文件中設置,在命令行窗口中進入php所在的目錄,如E:/php7,

找到php.ini文件并用記事本打開,找到以下語句:

;extension_dir

將語句前的分號刪除,并在句后加入=“e:\php7\ext”,

如下所示:

extension_dir=“e:\php7\ext”

再找到如下語句:

;extension=mysqli

刪除句前的分號,保存文件。

上述修改所做的工作就是告訴PHP擴展目錄的具體位置,并明確告訴PHP要使用MySQLi擴展庫,這是連接PHP與MySQL的橋梁。

在命令行窗口進入E:\apache24\bin目錄,使用以下命令重啟Apache服務器以使修改過的php.ini配置生效:

httpd-k restart

重啟后要測試PHP能否成功連接MySQL,將下列代碼輸入記事本中:

<?php

$mysqli = new mysqli(“localhost”, “root”, “q9qXp%U,

ZodT”);

if(!$mysqli)? {

echo”database error”;

}else{

echo”php env successful”;

}

$mysqli->close();

?>

將文件命名為dbtest.php,保存在E:\Apache24\htdocs中。這段代碼是使用root賬號和初始化時隨機產生的密碼(如果修改過密碼則要用新密碼)連接本地的MySQL,如果連接成功,則提示php env successful,否則提示database

error。

在瀏覽器中輸入http://localhost/dbtest.php,如果出現php env successful,則說明PHP與MySQL鏈接成功。

至此,Moodle所需要的運行環境Apache、PHP、MySQL已經配置完成,可以進行Moodle的安裝。

6 Moodle的安裝

MySQL環境參數的設置? Moodle安裝之前,首先要對MySQL進行一些設置,使用以下命令檢查MySQL數據文件格式的設置:

SHOW GLOBAL VARIABLES WHERE variable_name IN (‘innodb_file_format, ‘innodb_large_prefix, ‘innodb_file_per_table);

如果顯示為以下內容,則數據文件格式設置適合,不用修改:

innodb_file_format:Barracuda

innodb_file_per_table:ON

innodb_large_prefix:ON

在上述參數中,innodb_file_format是指innodb文件所使用的格式,MySQL在5.7后innodb文件格式默認為Barracuda[6],這種格式支持許多新特性。早期版本的innodb文件所使用的格式稱為Antelope,以兼容早期版本,在這里只需確保使用Barracuda即可。innodb_file_per_table

值為ON時,表示系統會為每一張表使用一個單獨的文件,存入表的數據內容與索引內容。如果為OFF,則所有表的數據內容與索引內容會共享使用一個文件。這里需要確保innodb_file_per_table值為ON,在MySQL 5.6以后的版本,系統默認innodb_file_per_table值為ON。innodb_large_prefix為ON時,允許列索引最大達到3072 bytes,否則列索引最大只有767 bytes[7]。在這里,要確保innodb_large_

prefix為ON。

創建供Moodle使用的空的數據庫? 以root賬戶進入MySQL系統,使用以下命令創建空的數據庫:

mysql> CREATE DATABASE moodle DEFAULT CHARAC

TER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

上述命令的作用是創建一個名為moodle的數據庫,它默認使用的字符集是utf8mb4,排序規則為utf8mb4_unicode_

ci。utf8mb4兼容utf8,且比utf8能表示更多的字串,因此兼容性更好[8]。將創建的數據庫名字moodle記下,在Moodle安裝時需要輸入。

創建數據庫的使用者? 使用以下命令創建數據庫moodle

的使用者,并賦予其所需的權限:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,

CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,

ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY ‘yourpassword;

在上述命令中,創建一個名為moodleuser的用戶及密碼,然后賦予其具有對moodle數據庫中表數據具有選取、插入、更新、刪除、創建權限,賦予其具有創建臨時數據表,清除、索引、修改moodle數據庫中數據表的權限。記下這個用戶名與密碼,在Moodle安裝時需要輸入。

創建Moodle的數據目錄? 創建Moodle的數據目錄,如E:/moodledata,這個目錄專門用于存放Moodle在使用過程中客戶端上傳的文件。記下這個目錄名字,在Moodle安裝時需要輸入。

安裝Moodle? 下載Moodle 3.4 zip[9]包,解包后將Moodle目錄下文件拷貝到Apache24下的htdocs目錄中。這樣就可以基于Web形式安裝Moodle。打開瀏覽器,在地址欄中輸入http://localhost/install.php,依次按提示輸入上述步驟所設置的內容,如數據庫所在主機地址、Moodle

使用的數據庫名、Moodle使用的數據庫的用戶名與密碼等。Moodle安裝程序自動地進行一系列表的創建,最后成功安裝。

7 Moodle初次使用出現的三個問題及其解決方法

空白頁問題的解決? Moodle 3.4版安裝好后,使用http://localhost訪問。應該打開Moodle的首頁,即Apache24/htdocs下的index.php,瀏覽器卻跳至Apache24/

htdocs/admin/index.php頁,內容一直是空白,重安裝幾次都是這樣。劉興認為這是首頁的檢測語句引起的,“但是在首次安裝后進入首頁時,這些檢測的判斷語句過于復雜和冗余。可能會導致某些終端在安裝時出現頁面重定向循環問題”[10]。筆者并給出具體解決方法。

首次使用時,將以下引起重定向的檢測語句注釋掉:

if ((isset($_GET[cache]) and $_GET[cache] === 0)

......

} else {$cache = 1;}

通過注釋這段代碼,使得Moodle平臺在第一次安裝后進入該頁面,不去考慮cache值的設置,而直接進入平臺的主頁面;在目錄欄內輸入http://localhost/index.php?

cache=1。再對平臺進行操作時,這時數據庫和緩存中會有新生成數據的寫入。再在index.php文件中恢復上述注釋的代碼段[10]。再次打開Moodle平臺時,檢測機制會順利地通過,從而避免因檢測語句冗余而產生的頁面重定向循環問題。

遠程訪問時服務器IP轉為localhost問題及其解決方法? 在服務器上安裝Moodle,一直使用的是localhost作為服務器的地址,安裝完畢后在別的電腦訪問時就要使用服務器的IP來訪問Moodle,如在服務器上使用的http://localshot安裝與訪問,在別的計算機上訪問就要換成服務器的IP,如用http://192.168.170.247來進行訪問。

但是,筆者在電腦上使用IP訪問服務器,卻重定向至http://localhost,恰好本地也裝了Moodle,因此,本想訪問遠程服務器的Moodle,卻會跳轉至本地的Moodle上。一開始以為是Apache的httpd.conf文件的配置問題,但是反復檢查httpd.conf,設置沒問題;再檢查服務器Apache/

htdocs目錄下的Moodle的config.php文件,發現$CFG->wwwroot=http://localhost,也就是當遠程訪問至服務器首頁時,首頁會做設置后再按$CFG->wwwroot的值進行跳轉,這樣就會從服務器跳回本機。因此,需要將$CFG->wwwroot的值修改為服務器IP,如下所示:

$CFG->wwwroot=http://192.168.170.247

上述問題解決了,就可以從別的電腦遠程訪問服務器上的Moodle平臺首頁了。

Moodle上傳文件大小限制及其修改? 在初次使用Moodle時會發現文件上傳有大小限制,使得許多稍大的教學資源無法上傳。因此,需要重新設置上傳文件的大小限制。在服務器PHP 7目錄下打開php.ini,找到Upload_max_filesize和Post_max_size變量,根據實際需要重新設置參數值,如下所示,將上傳文件大小限制改為2048 M(2 G):

Upload_max_filesize=2048M

Post_max_size=2048M

修改后保存文件,并重啟Apache以使新設置生效,這樣就可以將上傳文件大小的限制改為2 G,滿足上傳大文件的需要。

8 結語

Moodle是使用較為普遍的一個免費開源平臺,它更新速度快,不斷添加新的功能與特性,但隨之要求的支撐環境也要升級更新。本文通過一個具體的較新版本的Moodle 3.4的構建案例,詳細描述基于新版本Moodle構建在線學習平臺的過程,對新版本Moodle所依賴的Apache、PHP、MySQL版本要求、新版本安裝方法等關鍵問題進行演示與解釋,特別是與大多數使用一體化安裝程序自動安裝Apache、PHP、MySQL不同,采用手動分別安裝與配置Apache、PHP、MySQL,詳細揭示Apache、PHP、MySQL如何進行關聯以及關鍵參數配置。例如:MySQL新版本沒有my.ini文件,需要手工設置及初始化;使用MySQL新版本,使用MySQLi替代MySQL進行驅動。這對于擬基于Moodle構建在線學習平臺,開展信息化教學的廣大教師具有參考示范作用。并且通過理解Moodle環境的構建過程,加深對Moodle運作的理解,為以后Moodle平臺的升級、遷移、數據備份與恢復、架構調整、解決在實際使用中出現的問題等奠定堅實的基礎。■

參考文獻

[1]Moodle 3.4 release notes[EB/OL].[2018-3-7].https://docs.moodle.org/dev/Moodle_3.4_release_notes#Server_requirements.

[2]Apache Haus Downloads[DB/OL].https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC14.

[3]Visual C++ Redistributable for Visual Studio 2015?Update 1[DB/OL].https://www.microsoft.com/en-us/download/details.aspx?id=49984.

[4]Binaries and sources Releases[DB/OL].https://windows.php.net/download#php-7.2.

[5]Download MySQL Community Server[DB/OL].https://dev.mysql.com/downloads/mysql/5.7.html#downloads.

[6]InnoDB File-Format Management[DB/OL].https://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html.

[7]關于InnoDB索引長度限制的tips[EB/OL].https://www.oschina.net/question/54100_70589.

[8]utf8mb4和utf8有什么區別[EB/OL].https://zhidao.baidu.com/question/747866266575799012.html.

[9]Other supported releases[DB/OL].https://download.moodle.org/releases/supported/.

[10]劉興.Moodle安裝部署過程中重定向循環問題的解決方案[J].電子技術與軟件工程,2016(19):74-75.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲精品不卡午夜精品| 国产黄在线免费观看| 婷婷激情亚洲| 欧美亚洲国产精品久久蜜芽| 欧美精品高清| 麻豆精品久久久久久久99蜜桃| 国产9191精品免费观看| 成人在线观看不卡| 精品国产中文一级毛片在线看 | 毛片手机在线看| 4虎影视国产在线观看精品| 色综合日本| av尤物免费在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲性影院| 99无码熟妇丰满人妻啪啪| 色综合热无码热国产| 东京热一区二区三区无码视频| 欧洲精品视频在线观看| 97在线碰| 精品无码一区二区在线观看| 国产精品hd在线播放| 国产精品理论片| 免费一级全黄少妇性色生活片| 波多野结衣的av一区二区三区| 中文字幕中文字字幕码一二区| 美女毛片在线| 动漫精品啪啪一区二区三区| 免费毛片网站在线观看| 尤物特级无码毛片免费| 久久永久精品免费视频| 午夜毛片免费看| 成人免费网站久久久| av一区二区三区高清久久| 亚洲无线观看| 亚洲黄色视频在线观看一区| 国产视频你懂得| 日本成人不卡视频| 麻豆精品国产自产在线| 国产成人精品一区二区不卡| 伊人福利视频| 一级毛片在线免费视频| 四虎影视国产精品| 国产精品女同一区三区五区| 国产va免费精品| 国产亚洲欧美在线专区| 亚洲第一黄片大全| 天堂中文在线资源| 欧美三級片黃色三級片黃色1| 日韩欧美中文字幕在线精品| 亚洲欧美国产视频| 亚洲αv毛片| 一本一本大道香蕉久在线播放| 日日碰狠狠添天天爽| 2020精品极品国产色在线观看 | 97在线视频免费观看| 精品人妻一区无码视频| 91色在线视频| 亚洲欧美在线精品一区二区| 中文成人在线视频| 在线观看国产精品日本不卡网| 亚洲欧美日韩动漫| 一级毛片不卡片免费观看| 亚洲Va中文字幕久久一区| 国产精品女熟高潮视频| 色哟哟色院91精品网站| 四虎国产精品永久一区| 一区二区理伦视频| 亚洲无码精品在线播放 | 四虎国产在线观看| 天天综合网亚洲网站| 国产av剧情无码精品色午夜| 在线中文字幕日韩| 丰满人妻中出白浆| 无码精品福利一区二区三区| 热re99久久精品国99热| 97精品久久久大香线焦| 国产精品免费电影| 在线观看无码av免费不卡网站| 精品91视频| 久草热视频在线| 国产精品无码影视久久久久久久|