MediaWikiサーバを移転してみる。

By | 2017年11月5日 , Last update: 2020年1月26日

はじめに

自宅でMediaWikiサーバ(他、いろいろなものが稼働していますが、ここでは仮に「MediaWikiサーバ」ということにしておきます。)を運用しているPCのCPUファンが回転数が低くなると異音を発するようになってきました。

MediaWikiサーバは5年近く使っていた小型のPCでほぼ24時間稼働させていたので、これを機にIntelのNUCみたいなPCに置き換えたいのですが、本Webサイトの管理人たるpandaの経験上、「PC購入」→「アプリケーション及びデータ移行」という手順で作業すると、後段のアプリケーション及びデータ移行の作業の精神的な負荷が非常に大きくなるような気がします。(´・ω・`)

そういうことなので、できれば、先にアプリケーション及びデータ移行をやりたいところです。

幸いなことにSSD及びHDDには今のところ異常はなさそうなので、PC本体がだましだまし使える間に、まず使用頻度の高いアプリケーションから順番に別のPCに疎開させることにしました。

今回は、MediaWikiサーバからMediaWikiを別のPCに移転させてみます。

スポンサーリンク

移転元と移転先のPCのOSについて

移転元及び移転先のPCのOSは両方ともFedora 26を使用しています。

必要となるソフトウェアのインストール

MediaWikiとTeXLiveのインストール

まず、移転先のPCに必要となるソフトウェアをインストールします。移転先のPCで稼働しているMediaWikiではLaTeXが必要な拡張機能をインストールしているので、MediaWikiとTeXLiveを以下のコマンドを実行することによりインストールします。

※ TeXLiveを使ったMediaWikiの設定方法については別の記事で書く予定です。

# dnf install mediawiki
# dnf install texlive

 

MariaDBの設定変更

MediaWikiではサイズの大きい画像をアップロードすることがあるので、/etc/my.cnf.d/mariadb-server.confの[mysqld]セクションに以下の設定を追加します。

[2020/01/26追加] character-set-serverの設定をutf8からutf8mb4に変更しました。

character-set-server=utf8mb4
thread_stack=1M
max_allowed_packet=64M

 

上記の設定を追加したら、root権限で以下のコマンドを実行してMariaDBを再起動します。

# systemctl restart mariadb

スポンサーリンク

 

Apache httpdの変更

MediaWikiをインストールすると/etc/httpd/conf.dの下にmediawiki.confという設定ファイルが追加されています。こいつを以下のように設定して、IPアドレスによるアクセス制限を行います(設定例ですので、実際の設定とは異なります)。

また、MediaWikiはシンボリックリンクを使いまくるので、ssl.confのVirtualHostの中に以下のように”Options”で始まる設定があるかどうかを確認し、なければ追加しておきます。

Options Indexes FollowSymLinks

 

次に、root権限で以下のコマンドを実行し、設定ファイルを格納するためのディレクトリを作成後、必要な設定をコピーします。以下のコマンドのうち、3行目はSELinuxを有効にしていて、かつファイルをアップロードする可能性がある場合のみ実行します。

# mkdir -p /export/pandanote
# mw-createinstance /export/pandanote
# chcon -R -t httpd_sys_rw_content_t /export/pandanote/images

 

ここまでの設定が終わったところで、root権限で以下のコマンドを実行し、Apache httpdを再起動します。

# systemctl stop httpd
# systemctl start httpd

スポンサーリンク

 

SELinuxの設定変更[2020/01/26追加]

SELinuxを設定していて、以下のコマンドを実行し、httpdがネットワーク経由での接続ができるように設定します。

# setsebool -P httpd_can_network_connect=1

 

上記の設定を行わないと、MediaWikiの初期設定時に以下のエラーメッセージが表示されることがあるようです。

MediaWikiの初期設定

スポンサーリンク

上記の設定を行ってから移転先のURLにアクセスすると、以下のような画面が表示されます。

画面の中央に表示されている”Set up the wiki”のリンクをクリックして、以下のように設定します(実際の設定とは一部異なります)。

  • データベース名: pandanote
  • データベース名の接頭辞: pandanote_
  • データベースの文字セット: UTF-8
  • ウィキ名: pandanote
  • 管理アカウントの名前: 指定した。
  • パスワード: 指定した。
  • メールアドレス: 指定した。
  • 利用者権限のプロファイル: 非公開ウィキ
  • メール送信を有効にする: チェックボックスを外した。
  • 拡張機能: すべてチェックした。
  • ファイルのアップロードを有効にする: チェックした。

設定が終わるとLocalSettings.phpがダウンロードされますので、これを/export/pandanoteの下に置くことで、MediaWikiのページにアクセスをすることができます。

データの移行

画像データ等のアップロードデータの移行

画像データ等のアップロードデータについては移転元のサーバのimages以下のファイルをそのまま/export/pandanote/imagesの下にコピーしました。

データベースの移行

データベースの移行はmysqldumpコマンドを使って移転元のデータベースサーバからデータを読み出してダンプファイルを作成し、そのダンプファイルを移転先のデータベースサーバではmysqlコマンドを使用して書き込みました。

まとめ

本記事ではMediaWikiの移転の手順について書いてきました。

「チリも積もれば山となる」といいますが、MediaWikiのようなCMSに含まれているコンテンツも個別の記事1本や写真1個が持つ情報量は大したことがなくても、蓄積していくとそれなりの価値を持ってきますので、データ移行もプレッシャーがかかりますね。最近、本業でもそんな感じの仕事が多いです。

移転元のMediaWikiサーバには拡張機能をいくつか入れていたので、それらの拡張機能についても移転先のサーバでインストール及び設定をやり直す必要がありますが、拡張機能については別の記事で書く予定です。

問題のMediaWikiサーバのCPUファンの症状は、回転数が上がると音がしなくなるというものなのですが、回転数が上がらないわけではないことと、SSD,HDDなどのドライブ系には異常がないようなので、他の主要なアプリケーションについてもできるだけ疎開しつつ、後継機種の検討をしたいと思っています。

本記事の情報については設定例ということで、一部の情報については実際に設定を行った際のデータと異なっているものになっています。その点についてはご理解をいただいた上で参考にしていただけると幸いです。

この記事は以上です。