Moodle. Обновление

Moodle. Обновление.

Содержание

1 Обновление пререквизитов

1.1 Postgres

  • Делается, если нужно изменить версию PostgreSQL.

1.1.1 Бэкап базы данных

  • Сделайте бекап базы:
    1sudo -u postgres pg_dump -U postgres moodle > moodle.sql
    

1.1.2 Обновление Postgres

  • Версии, которая идёт в комплекте с дистрибутивом, достаточно.
  • Но лучше установить версию поновее.
  • Смотрим, какие версии в наличии:
    1dnf module list postgresql
    
  • Установим postgresql-16:
    1sudo dnf module reset postgresql
    2sudo dnf module enable postgresql:16
    3sudo dnf -y install postgresql-server postgresql-upgrade
    
  • Проверьте установленную версию:
    1postgres -V
    
  • Инициализируем базу данных:
    1postgresql-setup --initdb --unit postgresql
    
  • Проверим, что в /var/lib/pgsql/data/postgresql.conf установлен алгоритм шифрования:
    1password_encryption = scram-sha-256
    
  • Запустим postgres:
    1systemctl enable --now postgresql
    

1.1.3 Восстановление базы данных

  • Подключимся к базе данных:
    1sudo -u postgres psql
    
  • Создадим базу данных (укажите необходимый пароль):
    1CREATE DATABASE moodle;
    2CREATE USER moodle WITH PASSWORD '<password>';
    3ALTER DATABASE moodle OWNER TO moodle;
    4\connect moodle;
    5GRANT CREATE ON SCHEMA public TO moodle;
    6\q
    
  • Проверьте подключение к базе данных:
    1psql --username moodle --password --host localhost moodle
    
  • После подключения посмотрите параметры соединения:
    1\conninfo
    2\q
    
  • Восстановите данные из резервной копии:
    1sudo -u postgres psql -d moodle -f moodle.sql
    

1.2 PHP

1.2.1 Проверка расширений

  • Проверить установленные расширения:
    1sudo dnf install php-pgsql php-gd php-intl php-xmlrpc php-soap php-opcache php-sodium php-fpm php-pecl-zip
    

1.2.2 Обновление php

  • Установим репозиторий remi:
    1sudo dnf config-manager --set-enabled crb
    2sudo dnf install epel-release
    3sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
    
  • Смотрим, какие версии в наличии:
    1sudo dnf module list php
    
  • Установим php-8.2:
    1sudo dnf module reset php
    2sudo dnf module enable php:remi-8.2
    3sudo dnf -y install php php-cli php-pgsql php-opcache php-pdo php-pecl-mcrypt php-sodium
    4sudo dnf -y update
    
  • Перезапустим сервисы:
    1sudo systemctl restart php-fpm.service
    2sudo systemctl restart httpd.service
    

2 Обновление Moodle

  • Перейдём в каталог с moodle:
    1cd /var/www/moodle/web-git
    
  • Обновите git:
    1git pull
    
  • Посмотрим ветки:
    1git branch -a
    
  • Выберите нужную ветвь:
    1git branch --track MOODLE_405_STABLE origin/MOODLE_405_STABLE
    2git checkout MOODLE_405_STABLE
    
  • Исправьте разрешения:
    1chown -R apache:apache /var/www/moodle/
    2restorecon -vR /var/www/
    
  • Обновите установку:
    1sudo -u apache /usr/bin/php /var/www/moodle/web-git/admin/cli/upgrade.php
    

3 Ресурсы

3.1 Документация Moodle


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие