第一步 安装 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. 配置环境变量时,cmd下运行java -version,报错:找不到或无法加载主类 -version

    这个方面适用于报错为:java 找不到或无法加载主类,一般是找不到类的路径,问题出在CLASSPATH环境变量上,当然这是大多数.大概率的出错点 不排除根据个人情况不况,所以想起来伟大领袖毛主席的话: ...

  2. Cloud Foundry Session Affinity(Sticky Session)的实现

    会话保持(Session Affinity),有时又称粘滞会话(Sticky Sessions), 是负载均衡领域设计需要着力解决的重要问题之一,也是一个相对比较复杂的问题. 会话保持是指在负载均衡器 ...

  3. (转)C++类库开发之导出类设计原则

    上一篇博客详细陈述了类库开发的各个知识点(http://blog.csdn.net/z702143700/article/details/45989993),本文将进一步陈述,对于类库开发过程中导出类 ...

  4. HDU 1045 Fire Net 【连通块的压缩 二分图匹配】

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1045 Fire Net Time Limit: 2000/1000 MS (Java/Others)    ...

  5. App版本号定义与说明基础知识

    版本控制比较普遍的三种命名格式 GNU 风格的版本号命名格式 主版本号 . 次版本号 [. 修正版本号 [. 编译版本号 ]] 示例 : 1.2.1, 2.0, 5.0.0 build-13124 W ...

  6. 机器学习基础(HGL的机器学习笔记1)

    统计学习:统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,统计学习也成为统计机器人学习[1]. 统计学习分类:有监督学习与无监督学习[2]. 统计学习三要素:模型 ...

  7. 【luogu P2298 Mzc和男家丁的游戏】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2298 对于迷宫问题,bfs是比较好的选择. 直接bfs模板 #include <iostream> ...

  8. tomcate8配置多个二级域名问题解决根目录空白2017年12月9日

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDepl ...

  9. Unity 游戏框架搭建 (十四) 优雅的QSignleton(零) QuickStart

      好久不见 !之前想着让各位直接用QFramework,但是后来想想,如果正在进行的项目直接使用QFramework,这样风险太高了,要改的代码太多,所以打算陆续独立出来一些工具和模块,允许各位一个 ...

  10. oracle net manager 数据传输安全

    oracle net manager来加密客户端与数据库之间或中间件与 数据库之间的网络传输数据 第一步:开始-->所有程序 -->oracle --> 配置和移植工具 --> ...