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

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

Содержание

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

1.1 Postgres

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

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

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

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

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

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

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

1.2 PHP

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

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

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

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

3 Ресурсы

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


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

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

Похожие