Ubuntu 18.04 安装 Moodle

由于小组学习需要,我计划在导师的服务器上安装一个属于自己的 Moodle。

环境介绍

服务器为 Ubuntu 18.04。

先安装软件

更新软件

不多废话,上手就是更新软件。

sudo apt update -y
sudo apt upgrade -y

安装 Apache2

由于 Moodle 从 3.0.1 版本开始,就是基于 Appache2 的,所以不想自己去配置 nginx 了,就直接安装 Apache2。

sudo apt install apache2 -y

耐心等待 Apache2 安装完成。安装完成后,启动 Apache2 服务。

sudo systemctl start apache2

启动服务后,可以确认一下服务是否已经启动。

sudo systemctl status apache2

如果正常,将出现以下的输出。

当然也可以通过浏览器来访问测试。打开浏览器,输入地址后,熟悉的 Apache2 界面就会出现。如下图。

修改 WEB 服务端口

如果有需要,可以修改服务端口,比如将缺省的 80 端口改为 8080。需要修改两个配置文件。

将 ports.conf 文件中的 80,改为 8080。

sudo vi /etc/apache2/ports.conf

如下所示。

Listen 8080

将虚拟主机的监听端口改为 8080。

sudo vi /etc/apache2/sites-enabled/000-default.conf

如下所示。

<VirtualHost *:8080>

关闭 Apache2 服务,并重新启动服务。

sudo service apache2 stop
sudo service apache2 start

这样,就可以将端口改为 8080。

安装 MySQL 和 PHP

sudo apt install -y mysql-client mysql-server php libapache2-mod-php 

确保数据库服务运行

安装完成后,我们要确保数据库已经运行起来。

sudo systemctl start mysql
sudo systemctl enable mysql

获取 MySQL 缺省密码

sudo cat /etc/mysql/debian.cnf

如上图所示,我们就知道了 MySQL 的缺省用户和密码。

加固 MySQL 安全性

这个目的是让我们的 MySQL 数据库更安装。

mysql_secure_installation -udebian-sys-maint

输入用户密码后,会出现以下几个配置。

这样,我们就加固了 MySQL 的安全性。

安装其他软件

sudo apt install -y graphviz aspell ghostscript clamav php7.2-pspell php7.2-curl php7.2-gd php7.2-intl php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-ldap php7.2-zip php7.2-soap php7.2-mbstring

创建 Moodle 的数据库

sudo mysql -u root -p

创建数据库

CREATE DATABASE moodledb;

创建用户和密码

CREATE USER  'moodle'@'localhost'  IDENTIFIED BY  'new_password_here';

注意,这里我们创建一个用户名字叫 moodle,密码部分(new_password_here)需要自己设置。

设置用户权限

grant all privileges on moodledb.*  to 'moodle'@'localhost' identified by 'user_password_here';

保存并退出

FLUSH PRIVILEGES;
exit;

下载最新的 Moodle

目前 Moodle 最新的代码为 3.9.2。

wget https://download.moodle.org/stable39/moodle-3.9.2.tgz

下载完成后,解压。

解压 Moodle

tar -zxvf moodle-3.9.2.tgz

这样,在当前文件夹下就多了一个 moodle 目录。

移动 moodle 到 www 目录

Apache2 的确认 www 路径为 /var/www/html/

sudo mv moodle /var/www/html/moodle
sudo chown -R www-data:www-data /var/www/html/moodle
sudo chmod -R 755 /var/www/html/moodle
sudo mkdir /var/www/html/moodledata
sudo chown -R www-data:www-data /var/www/html/moodledata/

配置 Apache 服务器

这样 moodle 所需要的文件已经就位,我们需要配置服务器。通过创建一个 moodle.conf 来实现。

sudo vi /etc/apache2/sites-available/moodle.conf

配置文件的内容如下:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/moodle/
ServerName example.com
ServerAlias www.example.com

<Directory /var/www/html/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

注意上面的端口号,我的服务器是使用了 80 缺省端口的。

这样,我们就将 moodle.conf 添加到 Apache2 服务中,并重新启动 Apache2。

sudo a2enmod rewrite
sudo a2ensite moodle.conf
sudo systemctl restart apache2

通过 WEB 配置 Moodle

下面我们通过 WEB 来配置自己的 Moodle。在浏览器中输入

http://server-IP/moodle/install.php

注意 server-ip 是 Moodle 服务器的 IP 地址。我们将获得如下的界面。

先选择语言,然后点击 next。

选择目录,前面我们都已经建立好了,选择 Next。我这里出现一个问题,说 www 目录不能写。通过查询,发现 www 目录是 root 的。如下图。

使用命令

sudo chown -R www-data:www-data /var/www

修改 www 目录的所有者。

再点击 Next 就可以了。下面到了数据库选项。如下图

点击 Next。如果出现问题,那就是 moodle 这个用户对数据库 moodledb 没有权限导致的,请重新确认权限。

下面一路选择 Next。进入到 admin 和用户设置。

设置好这些,Moodle 就已经搭建完成。可以使用了。

猜你喜欢

转载自blog.csdn.net/justidle/article/details/108902088