このサイト記載の「CentOS7にMoodle3.1をインストール」の環境で設定されたMoodleサイトをバージ>ョン3.5にアップデートします。

Moodle3.1のサイトを3.5+にアップグレードする手順を記述しました。
備忘録的なメモなので、これを見て作業して問題が起きても、当方では責任を持ちません。
Moodleモジュールの中には新しい3.5に対応していないものもあるので、モジュールを使っていた場合は特に注意が必要です。
1.Moodleの各バージョンによる必要環境の違いは下記で、PHPを新しくする必要があります。
Moodle3.1   PHP5.4  MariaDB5.5.31
Moodle3.5   PHP7    MariaDB5.5.31
2.下記の手順でアップグレードします
・念のためにMoodle3.1をバックアップ
・Moodle3.5をダウンロードして解凍
・Moodle3.1サイトをリネームして保存
・解凍したMoodle3.5を今まで3.1が置いてあった場所に移動
・Moodle3.1のconfig.phpファイルをMoodle3.5ディレクトリにコピー
・PHP5.4モジュール関係をアンインストール
・PHP7.2モジュールをインストール
・ブラウザでMoodleにアクセスしてアップグレードを開始
・データベースフォーマットや文字コード設定で警告が出た場合はコンバート
3.実際の作業は下記のように行いました
・念のためにMoodle3.1サイトとデータベースをバックアップ
/data下にMoodle3.1サイトとmoodledataディレクトリがあるので、tarしてまとめます。
# cd /
# tar  cvz  data  -f  /usr/local/src/bkup/data.tar.gz

MariaDB上のMoodleのデータベースをダンプします
# cd /usr/local/src/bkup
# mysqldump  -u  [データベースユーザー]  -p[データベースのパスワード]  --opt moodle  >  moodle.sql
・Moodle3.5をダウンロードして解凍
# cd  /usr/local/src
# tar  xvfz  moodle-latest-35.tgz
・古いMoodle3.1サイトをリネームして保存
# cd  /data/html
# mv  moodle  moodle_old
・解凍したMoodle3.5を今まで3.1が置いてあった場所にコピー
# cp -r /usr/local/src/moodle  /data/html/.
・Moodle3.1のconfig.phpファイルをMoodle3.5ディレクトリにコピー
# cp /data/html/moodle_old/config.php  /data/html/moodle/config.php
・PHP5.4モジュール関係をアンインストール
# rpm -qa |grep php (インストールされているモジュールを確認)
# yum erase php-cli php-xmlrpc php-gd php-mbstring php-common php php-mysql php-pdo php-xml php-soap php-intl php-devel
・PHP7.2モジュールをインストール
epelリポジトリを設定します
# yum -y install epel-release
通常はepelリポジトリを有効にしないように設定ファイルを修正します
# vi /etc/yum.repos.d/epel.repo
enabled=1

enabled=0
・remiリポジトリを設定します
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
通常はremiリポジトリを有効にしない設定にします
# vi /etc/yum.repos.d/epel.repo
# vi /etc/yum.repos.d/remi.repo
# vi /etc/yum.repos.d/remi-safe.repo
enabled=1

enabled=0
・php7.2をremiリポジトリからインストールします
# yum -y install --enablerepo=epel,remi,remi-php72 libzip pcre-devel php php-devel php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pear php-pecl-apcu php-pecl-zip php-soap php-xml php-xmlrpc gd-last httpd httpd-tools libargon2 libzip5 php-cli php-common php-fedora-autoloader php-json php-pdo php-process httpd-devel mod_ssl apr-devel apr-util-devel cyrus-sasl-devel expat-devel openldap-devel

オリジナルの設定ファイルを保存しておきます
# cp /etc/php.ini  /etc/php.ini.org

phpの設定をします
# vi /etc/php.ini
;date.timezone =
 ↓
date.timezone = 'Asia/Tokyo'

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
 ↓
error_reporting = E_ALL & ~E_NOTICE

;error_log = php_errors.log
 ↓
error_log = "/var/log/php/php_errors.log"

memory_limit = 128M
 ↓
memory_limit = 256M (多めにすることを推奨)

post_max_size = 8M
 ↓
post_max_size = 51M (アップロードしそうなファイルの最大値)

upload_max_filesize = 2M
 ↓
upload_max_filesize = 51M  (アップロードしそうなファイルの最大値)

;mbstring.language = Japanese
 ↓
mbstring.language = Japanese

;mbstring.internal_encoding =
 ↓
mbstring.internal_encoding = UTF-8

;mbstring.http_input =
 ↓
mbstring.http_input = pass

;mbstring.http_output =
 ↓
mbstring.http_output = pass

;mbstring.encoding_translation = Off
 ↓
mbstring.encoding_translation = Off

;mbstring.detect_order = auto (そのまま)

;mbstring.substitute_character = none
 ↓
mbstring.substitute_character = none;

;mbstring.func_overload = 0
 ↓
mbstring.func_overload = 0

;mbstring.strict_detection = On
 ↓
mbstring.strict_detection = Off

;mbstring.http_output_conv_mimetype=  (そのまま)

・phpのバージョンアップを反映するためにhttpdを再起動します
# systemctl restart httpd.service

・ブラウザでMoodleサイトにアクセスするとアップグレード画面が表示されるので操作を開始します

・サーバーの環境チェックが始まります

・警告が表示された場合は必要な対応をします

・データベースフォーマットや文字コード設定で警告が出た場合はコンバートします

# cd /data/html/moodle
# php admin/cli/mysql_compressed_rows.php --list
"Compressed"と表示されればそのままでOKです。
mdl_data                                   Compressed
mdl_data_fields                         Compressed
mdl_enrol_lti_lti2_consumer     Compressed

警告が出たときは、下記のコマンドで修正します。
# php admin/cli/mysql_compressed_rows.php --fix

文字関係の警告が出たときは下記のスクリプトで変換します。
こんな感じで変換されます。
# php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
mdl_workshopeval_best_settings           - CONVERTED
mdl_workshopform_accumulative            - CONVERTED
description                                - NO CHANGE
mdl_workshopform_comments                - CONVERTED

・コンバート後はMariaDBの設定ファイルにも反映しておきます
# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

max_allowed_packet = 10M
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

# systemctl restart mariadb
ログインページが表示委されたら管理ユーザーアカウントでログインします。

新しい機能の設定画面が表示されるので、適宜設定します。





最終更新日時: 2023年 10月 13日(金曜日) 10:42