MediaWikiのアップグレード手順(1.27→1.37)

MediaWikiを1.37にアップグレードしたのでその手順を記載します。過去のアップグレード手順は、MediaWikiのアップグレード手順にあります。基本的には、公式サイトの手順を確認すれば十分かと思います。

構成

  • 移行前
    • OS : CentOS 8.5
    • Apache : 2.4
    • PHP : 7.2
    • MariaDB : 10.5
    • MediaWiki : 1.27
  • 移行後
    • OS : Rocky Linux 8.5
    • Apache : 2.4
    • PHP : 7.4
    • MariaDB : 10.7
    • MediaWiki : 1.37

MediaWikiのサポートPHPが、7.3以上に変更となったのと、CentOS 8がサポート切れになったので、環境を作成し直しました。dnfの向け先を変えれば、CentOSをそのまま使用できる方法もあるようですが、今回は採用しませんでした。

バックアップ(移行前環境)

MySQLをバックアップします。

mysqldump -u <MYSQL_USER> -p <DB_NAME> > <DUMP_NAME>

HTMLファイルをバックアップします。

cd /var/www
tar zcf <BACKUP_FILE_NAME> html

移行後環境でのミドルウェアインストール

ApacheとMariaDBのインストール手順を記載します。PHPは7.4をインストールします。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server

yum install httpd httpd-tools httpd-devel
dnf module install php:7.4
dnf install php-mysqlnd php-gd php-pecl-zip php-intl

systemctl start mysqld
systemctl enable mysqld

systemctl start httpd
systemctl enable httpd

1.27では不要だったのですが、1.37では、php-intlがインストールされていないとアップグレードに失敗するので、dnfに追加しています。

リストア(移行後環境)・ファイル更新

MariaDBのデータをリストアします。

mysqladmin -u root password <PASSWORD>

mysql -u root -p

mysqlコマンドにて以下を実行します。

grant all privileges on *.* to <MYSQL_USER>@localhost identified by '<PASSWORD>' with grant option;

create database <DB_NAME> default character set utf8;

「/etc/httpd/conf/httpd.conf」に以下を追加します。

Alias /w/index.php /var/www/html/w/index.php
Alias /wiki /var/www/html/w/index.php
Alias /index.php /var/www/html/w/index.php

DBダンプからインポートします。

mysql <DB_NAME> < <DUMP_NAME> -u <MYSQL_USER> -p

MediaWikiをアップデートします。「/var/www/html」配下に移行前環境のバックアップファイルを展開している前提です。

wget https://releases.wikimedia.org/mediawiki/1.37/mediawiki-1.37.1.tar.gz
tar zxvf mediawiki-1.37.1.tar.gz -C /var/www/html/w/ --strip-components=1

「/var/www/html/LocalSettings.php」に「$wgServer」の項目を追加します。本設定が無いとアップグレードに失敗します。

$wgServer = "http://<HOST_NAME>";

MediaWikiのアップグレードを実施します。

cd /var/www/html/w/maintenance/
php update.php

本内容でアップグレードは完了です。

コメントを残す

メールアドレスが公開されることはありません。