第一步 安装 Ubuntu 16.10 Server LTS


Moodle 的官方文档肯定了Ubuntu Server LTS 是适合运维Moodle平台的。

1、使用纯代码交互的服务器Ubuntu更加安全、稳定,不容易被黑客攻击。

2、即便在部署了服务器版本的Ubuntu后发现无法适应,也可以自行添加图形界面。

使用Ubuntu 16.* 的优势和需要注意的地方:

1、Ubuntu 16.* 支持 PHP7.0。

2、Moodle 3.01  以及之后的版本都可以使用 PHP7.0。

3、需要注意的是, Moodle3.0.1版本在使用PHP7.0的环境下不支持使用 MSSQL 和 SQLSRV。

Ubuntu 16.10 Server的下载地址:ubuntu官方下载页

Ubuntu 16.10 Server的安装和基本部署教学:Ubuntu 16.10 Server 安装及基本部署

Moodle官方更加推荐使用 amd64的版本 (64位版本)的Ubuntu Server。


第二步 安装LAMP (Linux/Apache/Mysql/PHP)环境

在终端输入以下指令:

sudo apt-get update      #更新软件源

sudo apt-get install apache2 mysql-client mysql-server php7.0 libapache2-mod-php7.0

在mysql-server的安装过程中,会出现需要填写密码的对话框,如果你对数据库有安全性需求,建议输入密码并牢记。

输入MySql的管理员密码

第三步 安装其它所需的软件

在终端输入:

sudo apt-get install graphviz aspell php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7.0-zip php7.0-soap php7.0-mbstring

graphviz: 是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错。

aspell:Vim 下拼写检查工具。用于代码拼写检查。

php7.0-pspell : 针对php语言的拼写检查工具。

php7.0-curl:php语言下,使用URL语法在命令行方式下工作的开源文件传输工具。

php7.0-gd: php处理图形的扩展库,提供一系列用来处理图片的API。

php7.0-intl : 国际化扩展,是ICU库的一个包装器。

php7.0-mysql : php 7.0 的 MySQL扩展,用于php与MySQL的连接和通信。

php7.0-xml : php 7.0 的 xml 扩展库。

php7.0-xmlrpc : php 7.0 的 XML-RPC 扩展。用于实现应用的分布式计算。

php7.0-ldap : php 7.0 的轻量目录访问协议 (Lightweight Directory Access Protocol)。用于目录检索和LDAP认证。

php7.0-zip : php 7.0 的 zip 扩展,用于解压缩文件。

php7.0-soap :php 7.0 的 soap 扩展 (Simple Object Access Protocol)。它是一种基于 XML 的,可扩展的通信协议。SOAP 提供了一种标准,使得运行在不同平台上并使用不同的编程语言编写的应用程序可以互相进行通信。

php7.0-mbstring :php 7.0 的 mbstring 扩展(Multi-Byte String)。使php 能够支持更多的字符类型,和多种语言编码。主要是unicode。

sudo service apache2 restart  #重启Apache服务器,载入新安装的模块。

sudo apt-get install git-core      #使用Git 来安装和更新 Moodle应用。


第四步 下载Moodle

我们准备将Moodle放在 /opt (Optional Application Software Packages 可选的应用安装包)目录下。在终端中输入:

cd /opt          # 定位到 /opt 目录下

sudo git clone git://git.moodle.org/moodle.git    #将moodle 从git库中克隆到本地目录 (根据网络情况,可能会出现克隆失败)

cd moodle    #定位到 moodle目录下

sudo git branch -a  #检索可用的每个Moodle版本分支列表

sudo git branch --track MOODLE_32_STABLE  origin/MOODLE_32_STABLE  #选择将要使用的Moodle版本号

sudo git checkout MOODLE_32_STABLE  # 将选择的Moodle版本下载到本地

下载Moodle

第五步 部署本地存储库到网页服务器上

在终端中输入:

sudo cp -R /opt/moodle /var/www/html/

sudo mkdir /var/moodledata

sudo chown -R www-data /var/moodledata

sudo chmod -R 777 /var/moodledata

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


第六步 设置 MySQL 服务器

首先,我们需要将默认存储引擎更改为innodb,并将默认文件格式更改为Barracuda。同时还需要设置innodb_file_per_table以便Barracuda能够正常工作。

在终端中输入:

sudo vim  /etc/mysql/mysql.conf.d/mysqld.cnf    # 用vim编辑mysql的配置文档,也可以用vi打开。

在新打开的文档中,找到 【mysqld】小结,在 【Basic Setting】下加入以下语句。(在Vim或者Vi环境下,需要在键盘上按下Insert键才能进行输入操作,或者按下字母I)。

default_storage_engine = innodb

innodb_file_per_table = 1

innodb_file_format = Barracuda

在 Basic Setting 字段下,新添加三行参数

然后保存文档:

Ctrl + C 或者 Esc

:w    #保存文档

:q    #退出文档

重启MySQL服务器,在终端输入:

sudo service mysql restart

接下来,我们将在MySQL中创建Moodle的依赖数据库,并给予Moodle用户以正确的操作权限。

在终端输入:

mysql -u root -p  #进入mysql的管理模式

输入你之前创建的管理员密码

接下来,在MySQL的管理模式下,输入:

mysql > CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

这样我们就在MySQL中创建了叫moodle的数据库并定义了数据库字符集的相关参数。

mysql > CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';

创建用户,在 ‘用户名’处填入你所要创建的用户名称,并在 '密码'处填入你想设置的密码。例如:

mysql > CREATE USER 'moodle123'@'localhost' IDENTIFIED BY '123456';

mysql > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 用户名@localhost IDENTIFIED BY '密码';

把以上一些列的操作权限授予我们刚创建的用户。

mysql > quit;      #退出MySQL管理界面


第七步 完成设置

在终端输入:

sudo chmod -R 777 /var/www/html/moodle  #临时开放webroot目录的读写权限

打开你的浏览器,在地址栏输入 http://你的服务器IP地址/moodle. 首次打开会显示如下界面:选择简体中文或者根据你的需求来定制。

1、选择Moodle平台的语言

第二步,部署Moodle路径。这里只需要将数据目录修改为 /var/moodledata 就可以。

修改数据目录

注意,点击向后之后,部分用户可能会出现中文语言包无法下载而导致只能使用英语的提示性文字。可以通过终端的 wget 命令手动下载所需的语言包,并解压到 /var/moodledata/lang 目录下。以中文语言包为例:

wget -c https://download.moodle.org/download.php/langpack/3.2/zh_cn.zip

unzip zh_cn.zip

sudo mv zh_cn /var/moodledata/lang

(由于网络问题,也可能出现 wget 方法无法下载语言包的问题。可以通过windows平台的浏览器把语言包下载好,再通过PSFTP (PuTTY) 工具将文件传到你的服务器上。)

接下来,选择数据库驱动,选择改进的MySQL(native/mysql)并点击向后。并对数据库进行设置,填入之前在MySQL管理模式下设置的moodle数据库的用户名和密码,并点击向后。

选择数据库驱动为 改进的MySQL

数据库设置,填入之前创建的moodle数据库的用户名和密码

接下来,阅读版权申明并点击继续。

环境检查,只有在服务器满足所有最低需求的情况下才能继续安装。

满足最低需求,点击继续。

接下来就等待安装完成,提示创建你的Moodle平台的管理员账户。

至此,Moodle平台的安装就全部结束了。别忘记在安装完成后,在终端输入:

sudo chmod -R 0755 /var/www/html/moodle    #收回写权限,保证平台的安全。

最后,祝你使用魔灯愉快。

 


作者:蒋承爱拖延
链接:http://www.jianshu.com/p/f303ba56ce9e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【转】在Ubuntu 16.10 Server 上部署 Moodle的更多相关文章

  1. 在 Ubuntu 14.10 Server 上安装 Jetty

    Jetty提供了一个Web服务器和javax.servlet容器,为SPDY.WebSocket.OSGi.JMX.JNDI.JAAS以及许多其它集成套件添加了支持.这些组件都是开源的,也可用于商业用 ...

  2. [【转】ubuntu 16.10 Server 安装及基本部署

    一.Ubuntu Server 16.10 LTS 系统安装 Ubuntu 16.10 分为 桌面版 (desktop)和服务器版(Server).两者对于用户而言,最大的区别在于桌面版有图形操作界面 ...

  3. Ubuntu 16.10 server 相关

    1)安装图形化界面 sudo apt-get install xinit sudo apt-get install gnome 2)启用root账号 ① sudo passwd root ② 修改/e ...

  4. Ubuntu 11.10 Server下搭建Maven私服

      安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...

  5. Ubuntu 16.10 Apache PHP Server

    /******************************************************************************************* * Ubunt ...

  6. 在VMware Workstation上安装Ubuntu 16.04 Server操作系统

    Ubuntu 16.04 Server的下载 http://www.ubuntu.org.cn/download/server 按空格键(Space)选中第一个ssh服务 成功!

  7. 在 Ubuntu 14.04 服务器上部署 Hexo 博客

    版权声明:本文由宋秉金 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/241080001487926962 来源:腾云阁  ...

  8. Docker - 在Ubuntu 14.04 Server上的安装Docker

    在 Ubuntu 14.04 Server 上安装过程是最简单的, 其满足了安装 Docker的所有要求,只需要执行如下安装脚本即可. 如果你有可能,请使用14.04版本的Ubuntu, 避免给自己挖 ...

  9. 记一次Ubuntu 16.04 server安装中的坑

    最近博主搞了一台迷你主机,又刚好有时间去折腾,所以我打算把这台机子打造成一台迷你服务器,用来跑跑爬虫.挂挂网站 介于我我这台机子的配置比较垃圾(intel J1900+4G+64G),跑起Window ...

随机推荐

  1. MySQL学习(三)函数

    一.数学函数 绝对值函数ABS():ABS(X) 返回圆周率函数PI() 平方根函数SQRT() 求余函数MOD(X,Y) 获取整数函数CEIL(X),CEILING(X)返回不小于X的最小整数:FL ...

  2. 八、IntelliJ IDEA 缓存和索引的介绍及清理方法

    这样一句话“ 对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引的过程中可能会出现卡顿的现象,因此强烈建议在 IntelliJ IDEA 创建索引的过程中不要 ...

  3. 使用vue搭建项目(创建手脚架)

    第一步:切换到创建的目录 创建项目 vue cerate [model] 第二步:切换到创建好的项目,然后创建element vue add element 第三步:创建router vue add ...

  4. @WebListener 注解方式实现监听(eclipse和idea)

    eclipse进行演示: 1.创建 Dynamic Web Project ,Dynamic Web module version选择3.0 2.在自动生成 的web.xml配置,增加 metadat ...

  5. 使用cmd命令进行运行java(cmd命令输出Hello word)

    使用cmd命令输出Hello word 条件,按照好jdk和jre的环境下,如果没有安装,请安装,简单安装教程链接:https://www.cnblogs.com/weibanggang/p/9392 ...

  6. 【luogu P4114 Qtree1】 题解

    题目链接:https://www.luogu.org/problemnew/show/P4114 1.把边权转化到点权:选取连接这条边的两个点中较深的一个. 2.查询点到点之间的边权时,要从seg[x ...

  7. Git命令篇

    前文: Git有三种状态,你的文件可能处于其中之一:已提交(committed),已修改(modiffied)和已暂存(staged) 三个工作区域概念:Git仓库.工作目录以及暂存区 Git保存信息 ...

  8. 课时59.体验css(理解)

    我们想做这样一个样式,应该怎么做? 分析: 有一个标题(h1),还有一些段落(p) 标题是居中的,段落也是居中的,所以我们可以设置h标签和p标签居的align属性等于center来实现 标题和段落都有 ...

  9. iOS 从0到1搭建高可用App框架

    iOS 从0到1搭建高可用App框架 最近在搭建新项目的iOS框架,一直在思考如何才能搭建出高可用App框架,能否避免后期因为代码质量问题的重构.以前接手过许多“烂代码”,架构松散,底层混乱,缺少规范 ...

  10. 【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并

      转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9517159.html     ★像R语言里头有rep函数可以让向量的值重复,在python里面可以直 ...