Toggle navigation


Moodle LMS镜像手册

Version 3.3.1

Websoft9将Moodle程序及其所依赖的中间件、数据库等编译成一个预装环境,打包成虚拟机镜像,任何云用户均可一键获取、快速安装。 Moodle(moodle.org)是一个开源的在线教育系统(慕课)。采用PHP+Mysql开发,界面友好,符合SCORM/AICC标准。以功能强大、而界面简单、精巧而著称。它是eLearning技术先驱,是先进在线教学理念和实践的集大成者,已成为全球大中学院校建立开放式课程系统的首选软件。主要模块:课程管理、作业模块、聊天模块、投票模块、论坛模块、测验模块、资源模块、问卷调查模块、互动评价(workshop)。Moodle具有先进的教学理念,创设的虚拟学习环境中有三个维度:技术管理维度、学习任务维度和社会交往维度,以社会建构主义教学法为其设计的理论基础,它提倡师生或学生彼此间共同思考,合作解决问题。


本文档适用于通过主流云市场购买和部署了Websoft9镜像的用户,文档内容重点指导用户进行安装配置、系统基本操作和常见运维问题处理。 文档适用性说明:

  • 适用的主流云平台包括:阿里云、腾讯云、百度云、华为云、Azure、青云
  • 适用的操作系统包括:Linux、Windows
  • 适用的阅读者包括:初学者、学生、站长、运维人员、产品经理、开发者、UI

Websoft9的镜像由应用软件、运行环境、数据库和运维面板四个部分组成,并基于云厂商操作系统镜像打包:

Linux版本(CentOS,Ubuntu,AliyunLinux)

Linux版本的Moodle镜像采用LAMP作为运行环境,以最新版本为例,组件包括:

应用软件(Moodle3.3.1) 安装目录:/data/wwwroot/default/oscalss 运行环境(PHP 7.0,Apache 2.4.8) PHP配置文件目录: /etc/php.ini Apache虚拟主机文件目录: /ect/httpd/conf.d 日志文件目录:/var/log/httpd
 
数据库(MySQL5.6.3) MySQL数据目录: /data/mysql MySQL配置文件: /etc/my.cnf 数据库账号密码参考“常见账号和密码说明”章节 数据库面板访问路径:http://公网ip/phpmyadmin 运维面板(9Panel) 9Panel是Websoft9根据镜像用户的习惯和技术能力而研制的轻量级面板,以帮助用户快速掌握程序安装和运维工作 访问路径:http://ip/9Panel

Windows版本

Windows版本的Moodle镜像采用WAMP作为运行环境,以最新版本为例,组件包括:

应用软件(Moodle3.3.1) 安装目录:C:/websoft9/wampserver/www/ 运行环境(PHP 7.0.10/5.6.25,Apache 2.4.23) PHP可以在两个版本中自由切换 PHP配置文件目录: C:\websoft9\wampserver\bin\apache\apache2.4.23\bin\php.ini Apache虚拟主机文件目录: C:\websoft9\wampserver\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf 日志文件通过WAMP面板查看
 
数据库(MySQL5.7.14) MySQL目录: C:\websoft9\wampserver\bin\mysql MySQL配置文件: C:\websoft9\wampserver\logs\mysql.log 数据库账号密码参考“常见账号和密码说明”章节 数据库面板访问:http://公网IP/phpmyadmin 运维面板(9Panel) 9Panel是Websoft9根据镜像用户的习惯和技术能力而研制的轻量级面板,以帮助用户快速掌握程序安装和运维工作 访问路径:http://公网IP/9panel
  1. 镜像需要与服务器配套使用,获取Websoft9的镜像有两种方式: 方式一:若没有可用的云服务器,登录主流云厂商的云市场,找到由Websoft9提供的“Moodle”相关免费镜像,点击“购买”(同时会配套购买云服务器,若只打算试用请选择“按量”方式购买,实现按小时使用,接近免费) 方式二:登录到云厂商的控制面板,找到可用的云服务器,通过更换系统盘(重装镜像)的方式
  2. 待镜像购买或更换完成后,镜像会自动安装到配套的云服务器上,当云服务实例处于“运行中”后,通过浏览器访问网址 http://服务器公网IP/9panel,正常会出现如下界面:
  3. 如果浏览器访问以上网址没有任何反应,请检查您的安全组设置,确保80端口是开放的。

镜像验证通过后,即可根据9Panel(浏览器访问:http://公网ip/9panel)的提示完成剩余的应用安装过程。 建议在进入Moodle的安装界面之前,建议完成如下两个简单的操作:

  • 通过PhpMyAdmin将数据库默认的root密码修改成您自己的密码,并牢记密码
  • 通过域名管理面板中完成域名解析(增加一个A记录指向服务器IP),然后通过直接访问域名测试是否解析成功。

具体安装向导如下:

  1. 本地浏览器访问:http://域名  http://公网IP 进入安装向导(首选域名访问方式安装)
  2. 根据系统提示,选择语言,进入下一步
  3.  选择数据库类型,默认为“改进的MySQL”,然后进入确认路径设置(保持默认设置),进入下一步
  4. 填写您的数据库参数(默认数据库为:moodle,默认用户名和密码参考本文档”常用账号与密码说明“章节),保存并继续后续步骤;
  5. 经过几次确认后,安装进入环境检测步骤,继续后续步骤
  6. 设置后台账号信息,请务必设置好并牢记之。进入下一步
  7. 设置网站初始化信息
  8. 跟随安装提示直到完成,过程中尽量选择默认设置,勾选安装所有模块
  9. 系统完成最后一步安装,建议进入Moodle后台(以管理身份登录即进入后台),体验完整功能

应用程序安装、使用和维护中需要用到三种账户: 1、MySQL数据库默认账号和密码:root/123456,管理地址:http://公网ip/phpmyadmin 2、Moodleki后台账号和密码:安装的时候自行设置的,


3、服务器操作系统账号和密码: Linux服务器账号和密码说明:

  • 账号:root
  • 密码:是安装镜像的时候客户自行设置的,若不记得此密码,请登录云服务器后台,修改服务器密码,重启后生效
  • 登录:下载一个putty工具,通过root账号登录,参考(服务器通用文档-Linux远程管理与FTP

Windows服务器账号和说明:

  • 账号:administrator
  • 密码是安装镜像的时候客户自行设置的,若不记得此密码,请登录云服务器后台,修改服务器密码,重启后生效
  • 登录:PC本地打开远程桌面工具-通过Administrator账号连接,参考(服务器通用文档-Windows远程桌面与FTP

网站的定期备份和重要操作之前的备份工作(如系统升级或重要修改)无比重要,可以做到防范于未然,让发生了意外而能够进行复原,这是网站运维工作的重中之重。 Moodle的备份有基于服务器快照自动备份、手动本地备份等方式,各有利弊,建议结合起来使用

服务快照自动备份

云服务器厂商都会提供一个叫“快照”的功能,快照是针对于服务器的磁盘来说的。快照工具可以记录指定时间点硬盘的数据,全部备份起来,并可以实现一键恢复。 如果您对磁盘进行了自动的快照设定,如下场景您便可以比较从容的面对: 1、工作了几天的成果,被误删了 2、黑客把把网站网站弄的面目全非 3、现在的内容已经乱七八糟了,我要回到一个正常的服务器状态 做了快照备份,一键恢复到备份时间点的状态。也就是现场还原,很好的功能。 不同的云厂商快照设置稍有差别,具体参考:

手工本地备份

手工本地备份主要是通过下载应用程序文件和备份导出数据库文件,建议备份周期每月一次,备份文件保存6个月左右。下面就具体的备份操作进行说明:

  1. 下载网站源文件 √ 若是Windows系统请通过远程桌面直接把C:/websoft9/wampserver/www 目录拷贝 √ 若是Linux系统请通过SFTP工具登录到服务器(见下图),将网站目录完整的下载到本地(如果文件数量比较多,建议压缩后再下载)
  2. 通过浏览器进入PhpMyAdmin(网址:http://服务器公网ip/phpmyamin),进入数据库管理界面
  3. 左侧菜单中选择所需的数据库,顶部导航栏上选择“导出”标签
  4. 选择导出方式和格式(建议SQL),点击“执行”,导出文件后下载到本地
  5. 将程序文件和数据库文件放到同一个文件夹,根据日期命名,备份工作完成

网站技术日新月异,更新升级是维护工作之一,长时间不升级的程序,就如长时间不维护的建筑物一样,会加速老化、功能逐渐缺失直至无法使用。完成的升级包括:操作系统补丁升级、运行环境补丁漏洞升级和应用程序升级三个部分。Websoft9的镜像可以自动完成前面两者的升级,用户只需关注应用程序的升级即可。

操作系统与运行环境升级(Linux)

Websoft9的镜像可以自动完成操作系统和运行环境的升级,用户只需关注应用程序的升级即可。若计划立即进行升级,可以通过通过Putty运行升级命令:

[root@iZm5ejevtfmojhh6jmr078Z ~]# yum update -y

Moodle升级

特别注意:Moodle应用程序升级之间务必进行完整备份,以保证备份出现差错之后能够复原。 Moodle官方升级教程:http://docs.moodle.org/all/zh/index.php?title=Moodle%E5%8D%87%E7%BA%A7&variant=zh-cn  

下面列出Moodle使用中比较常见的问题以及对应的处理方案

如何设置中文版?

进入后台,一次打开 Administration > Site administration > Language > Language packs便可以开始设置中文版,详情查看 Language packs documentation.

域名设置分为两个步骤

步骤一、域名解析

如果您的域名备案(大陆之外无需备案),可以通过云厂商的域名控制台进行域名解析,操作如下:

  1. 登录域名控制台->域名解析,进入解析设置界面(以阿里云为例)
  2. 增加一条A记录,主机记录那里填写二级域名的前缀(如www,shop,test等)或通配符@,记录值填写您的服务器公网ip地址,保存
  3. 域名解析成功,等待解析生效(不同的厂商解析生效时间不一样,1分钟-24小时不等)

注意:解析生效之后,本地访问可能由于缓存问题导致仍然没有生效,请清空浏览器缓存,然后通过CMD命令行刷新本地DNS操作

步骤二、修改虚拟主机配置文件(非必要)

请根据不同的环境选择对应的操作方式

  • LAMP环境下,请使用SFTP修改/ect/httpd/conf.d/vhost.conf文件,将其中的ServerName,ServerAlias项的值替换成你的域名信息,重启http服务后生效
  • WAMP环境下,请远程桌面到服务器,鼠标左键点击服务器桌面右下角的WAMP图标,打开http-vhosts.conf文件,将其中的ServerName,ServerAlias的值替换成你的域名信息,点击图标上的“重新启动所有服务”按钮后生效

说明:如果你计划在服务器上增加更多应用,本步骤是必要的

Websoft9镜像默认安装了可视化MySQL管理工具phpMyadmin,其安装目录: /usr/share/phpMyAdmin。 如何使用PhpMyAdmin数据库?

  1. 通过本地Chrome或Firefox浏览器,访问:http://服务器公网IP/9Panel
  2. 点击左侧菜单的“数据库管理”项,会进入“登录PhpMyAdmin”链接
  3. 选择您需要的语言,然后输入root和对应的密码,然后登录到系统中

常见的数据库相关操作包括: 修改root密码、创建数据库、创建用户和权限设置、导入和导出等,具体参考《MySQL文档-PhpMyAdmin常见操作》

远程连接之前,请确认您服务器使用的操作系统,Linux操作系统(CentOS、Ubuntu、Debian、SUSE Linux、OpenSUSE、AliyunLinux)与Windows操作系统的登录方式是完全不一样的。

Linux系统

管理Linux系统,只需要用到两个工具即可满足大部分使用场景

  • WinSCP,可视化界面的SFTP工具,90%的Linux操作均可通过它来实现(下载WinSCP
  • Putty,远程登录&命令操作软件,需要用到命令操作的时候使用(下载Putty

具体参考:

Windows系统

Windows服务器的操作主要分为两个部分:

  • 远程桌面连接:通过PC自带的远程桌面工具远程连接到服务器,完全控制服务器的操作
  • FTP文件管理:通过FTP客户端和Windows服务器上的FTP服务端进行通讯,实现文件管理的操作的目的

具体参考:

Websoft9的镜像支持部署多个应用程序(网站),但不同类型操作系统有不同的操作方法,具体参考:

LAMP环境新增

Linux下的LAMP环境支持部署多个应用程序(网站),具体操作如下:

  1. 通过SFTP将网站文件上传到/data/wwwroot/default/目录下面,假设程序目录命名为“mysite”
  2. 修改mysite文件夹的权限和用户组(参考:如何修改Linux文件系统的权限?)
  3. 通过域名控制台将域名解析到服务器公网IP
  4. 通过SFTP打开 /ect/httpd/conf.d目录,新增一个conf文件,假设名称为www.mydomain.com.conf
  5. 有域名,将下面内容拷贝到www.mydomain.com.conf,根据你的实际情况进行修改、保存:
    <VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAlias mydomain.com
    DocumentRoot "/data/wwwroot/default/mysite"
    ErrorLog "/var/log/httpd/www.mydomain.com_error_apache.log"
    CustomLog "/var/log/httpd/www.mydomain.com_apache.log" common
    <Directory "/data/wwwroot/default/mysite">
    Options Indexes FollowSymlinks
    AllowOverride All
    Require all granted
    </Directory>
    </VirtualHost>
  6. 无域名,将下面内容拷贝到www.mydomain.com.conf,根据你的实际情况进行修改、保存:
    Alias /mysite "/data/wwwroot/default/mysite"   
     <Directory "/data/wwwroot/default/mysite">
    	        Options Indexes FollowSymlinks
    	        AllowOverride All
    	        Require all granted
    	    </Directory>
  7. 重启http服务
    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart httpd
  8. 再通过http://www.mydomain.com或http://ip/mysite访问新网站,如何配置没有问题,您会成功打开网站

说明:Apache的配置文件规则和语法非常灵活,以上仅供参考

WAMP环境新增

Windows下的WAMP环境下新增虚拟主机操作步骤如下:

  1. 将域名解析到服务器公网IP地址
  2. 远程桌面到Windows服务器上,打开c:/websoft9/wampserver/www,新建一个目录,假设名称为:newproject1
  3. 将新增网站的源码放到newproject1目录下
  4. 点击Windows服务器桌面上的“新增虚拟主机”快捷方式,进入创建虚拟界面
  5. 参考上图,分别填写域名信息和网站目录的绝对地址(格式不能错,否则创建会失败),点击开始创建按钮
  6. 创建成功,系统会有如下的界面提示
  7. 鼠标左键单击服务器桌面右下角的WAMP图标,打开http-vhosts.conf文件,将新创建的虚拟主机的配置文件中的Require local修改为Require all granted,保存配置文件
  8. 点击WAMP图标上的“重新启动所有服务”按钮,完成虚拟主机配置

 

如何修改php配置文件?

使用PHP应用程序的时候,php组件的启用或停用、邮件设置、上传文件大小等控制都会涉及修改php配置文件。本镜像php配置文件的安装目录为: /etc/php.ini 下面是一些与安装相关的php参数:

  • memory_limit – Minimum: 256M   //默认内存
  • upload_max_filesize – Minimum: 20M  //上传文件最大值
  • post_max_size – Minimum: 20M   //通过POST提交数据的最大值
  • max_execution_time: At Least 120 Recommended: 300  //PHP最大执行时间

需要修改上述参数的值,只需要通过SFTP打开php.ini,修改(“#”在前的项表示没有启用,请根据实际情况删除“#”),然后保存 保存后还需要重启http服务才能生效,重启命令如下:

~# systemctl restart httpd

如果您不会使用命令操作,通过云服务器后台去重启服务器也可以达到同样的效果。

如何修改上传文件大小限制?

通过SFTP修改 /etc/php.ini 如下的部分

; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

保存后,重启http服务

~# systemctl restart httpd

如果您不会使用命令操作,通过云服务器后台去重启服务器也可以达到同样的效果。

如何修改系统最大响应时间?

我们在运行应用程序的时候,常常会等待很长的时间之后,却收到这样的错误提示 “Maximum execution time of 30 seconds exceeded”。这种情况下就需要通过修改the max_execution_time(最大执行响应时间)的值来解决这个问题。 方法一(推荐): 通过SFTP修改 /etc/php.ini 如下的部分

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 90
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.

方法二: 如果应用程序支持 .htaccess,请修改它:

<IfModule mod_php5.c>
php_value max_execution_time 90
</IfModule>

保存后,重启http服务

~# systemctl restart httpd

如果您不会使用命令操作,通过云服务器后台去重启服务器也可以达到同样的效果。

如何修改Linux文件系统的权限?

上传一个扩展或模板文件夹,建议修改Linux系统的权限以便能够正常访问。网站的权限设置值建议如下: file 644, folder 755 ,用户和用户组分别是 apache : apache 方法一:putty登录命令行方式(推荐)

~# chown -R apache.apache /data/wwwroot/default/moodle
~# find /data/wwwroot/default/moodle -type d -exec chmod 755 {} \;
~# find /data/wwwroot/default/moodle -type f -exec chmod 644 {} \;

方法二:WinSCP右键修改,参考:使用WinSCP设置文件夹权限

如何安装PHP扩展?

当应用程序进行大版本升级的时候,可能会需要增加某种php扩展。 安装php扩展的步骤如下: 1、利用yum search查找扩展包

~# yum search memcached php
php-pecl-memcached - memcached module for php5

2、使用yum install安装扩展包

~# yum install -y php-pecl-memcached
Reading package lists... Done
Reading state information... Done

Windows镜像安装了WAMPserver,它提供一个可视化的运行管理器,通过鼠标左键单击Windows任务栏右侧“W图标”进入管理界面,您可以参考下图做常见的配置:

  • 何修改系统最大响应时间?将max_execution_time设置成你需要的值,然后重启动所有服务
  • 如何修改上传文件大小限制?将post_max_size = 64M,upload_max_filesize = 64M设置成你需要的值,然后重启所有服务
  • 如何安装PHP扩展?点击扩展菜单,启用更多扩展项或下载扩展dll库到C:\websoft9\wampserver\bin\php\php版本\ext 文件夹,然后重启所有服务

使用本镜像的Linux版本,可能需要用到的命令如下:

~# cd /data/wwwroot/default  //进入网站根目录
~# reboot //重启服务器
~# wget url  //下载url对应的文件
~# unzip xx.zip //解压xx.zip文件到当前目录

~# systemctl start | stop | restart httpd  //启动、关闭、重启http服务
~# systemctl start | stop | restart mysqld //启动、关闭、重启mysql数据库

~# yum update -y //升级所有包同时也升级软件和系统内核,-y当安装过程提示选择全部为"yes"
~# yum upgrade -y //只升级所有包,不升级软件和系统内核,-y当安装过程提示选择全部为"yes"

阿里云、Azure等云市场支持多版本镜像,默认选择为最新版镜像,历史版本镜像的使用差异将在下面的小节中说明

Moodle3.3.1之前的版本

Moodle3.3.1之前的版本,有如下区别:

  • 基础环境采用的是Oneinstack PHP配置文件目录: /usr/local/php/etc/php.ini apache虚拟主机文件目录: /usr/local/apache/conf/vhost Apache虚拟主机配置命令: /root/oneinstack/vhost.sh Database install directory: /usr/local/mysql Database data directory: /data/mysql Database Configuration File: /etc/my.cnf
  • 没有域名,通过需要通过http://公网ip/moodle才能打开系统
  • 数据库管理采用phpMyAdmin,地址为:http://服务器公网IP/phpMyAdmin(请注意大小写)
  • 没有安装9panel

特别注意事项: 通过域名管理面板进行A记录解析到公网ip之后,域名直接打开访问的不是moodle,而是镜像的默认界面,您还需要在服务器上完成域名配置后,方可通过域名直接访问应用。 参考:服务器上的域名配置(LAMP) 命令操作差异:

  • 重启Apache服务器: service httpd restart

See <https://docs.moodle.org> for details of Moodle’s many features.