(13) Moodle3.1から3.5(LTS)にアップデート
完了要件
このサイト記載の「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