由于在 centos7 + nginx + moodle4安装配置篇中已经详细的说明了如果安装moodle,本篇就写的相对简单点,只不过换了个操作系统而已。

一、安装相关包

1apt-get update
2apt-get -y install nginx php7.4 php7.4-fpm mysql-server php7.4-mysql php7.4-xml php7.4-mbstring \
3    php7.4-curl php7.4-zip php7.4-gd php7.4-intl php7.4-xmlrpc php7.4-soap
4cd /var/www/html/
5wget https://download.moodle.org/stable400/moodle-4.0.1.zip
6unzip moodle-4.0.1.zip
7chown -R www-data:www-data moodle
8mkdir moodledata
9chown -R www-data:www-data moodledata/

这里使用的是php7.4 + nginx + mysql8 的环境来安装moodle。

二、配置

1.mysql修改密码

由于使用的是mysql8的版本,对应的密码修改方式有些变化:1是使用 mysqladmin -u root -p password 新密码 的方式修改密码,不过复杂度不够的时候,是不会提示修改不成功的,这里推荐第二种,直接使用SQL指令修改,不过这里较之前的版本有个变化,之前MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。对应的修改密码命令是:

1use mysql
2ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword@135';
3FLUSH PRIVILEGES;

2.修改php配置

因类opcache已经默认包含了,这里只修改最大上传参数:

1sed -i 's/max_input_vars = 1000/max_input_vars = 5000/g' /etc/php/7.4/fpm/php.ini

3.修改Nginx配置

 1root@ecs-6f59:/etc/nginx/sites-available# grep -v \# default
 2
 3server {
 4        listen 80 default_server;
 5        listen [::]:80 default_server;
 6
 7
 8        root /var/www/html/moodle;
 9
10        index index.php index.html index.htm index.nginx-debian.html;
11
12        server_name _;
13
14        location / {
15                try_files $uri $uri/ =404;
16        }
17
18        location /dataroot/ {
19          internal;
20          alias /var/www/html/moodledata/;
21        }
22
23        location ~ ^(.+\.php)(.*)$ {
24                include snippets/fastcgi-php.conf;
25                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
26                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
27        }
28
29        location ~ /\.ht {
30                deny all;
31        }
32}

三、启动服务

1systemctl start mysql.service
2systemctl enable mysql.service
3systemctl start nginx.service
4systemctl enable nginx.service
5systemctl start php7.4-fpm.service
6systemctl enable php7.4-fpm.service

后面的步骤就一样了,就里就不再贴了,包括一键安装的方式,基本也和之前一样,不过数据库连接类型在这里需要修改为mysqli用行了。