「MediaWiki のお引越し手順」の版間の差分

提供: tknotebook
移動: 案内検索
(リストア)
 
(1人の利用者による、間の19版が非表示)
1行: 1行:
[[Category:コンピュータ]][[Category:ノウハウ]]
+
[[Category:コンピュータ]][[Category:Linux]]
[[メインページ]]>[[コンピュータの部屋]]
+
[[メインページ]]>[[コンピュータの部屋#Linux]]
 +
 
 +
以下の手順は、同じデータベース名、同じフォルダで MediaWikiを引っ越しさせたときの
 +
手順です。つまりバックアップをリストアするのと変わらない一番無難な引っ越し方法です。
 +
 
 +
名前の異なるDBへ, 異なるフォルダへの引っ越しは今後の課題ということで(^^;
 +
とりあえず、確実な手順を確立してみました。
  
 
==バックアップ==
 
==バックアップ==
10行: 16行:
 
で行います。
 
で行います。
  
まず、
+
以下の説明では MediaWiki の使っている MySQL のユーザ名は nakamuri, データベース名は tknotebook、
 +
MediaWiki がインストールされている場所は /var/www/html/mw というディレクトリであるとします。
 +
 
 +
===apacheの停止===
  
 
  service httpd stop
 
  service httpd stop
16行: 25行:
 
で外部からのアクセスを止めます。
 
で外部からのアクセスを止めます。
  
次にデータベースのバックアップですが mysqldump というコマンドで行います。
+
===DBのバックアップ===
 +
 
 +
データベースのバックアップは mysqldump というコマンドで行います。
  
 
  mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名
 
  mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名
  
MediaWiki tknotebook ではデータベース名が tknotebook なので
+
この例ではデータベース名が tknotebook なので
  
 
  mysqldump -u root -p tknotebook > tknotebook.sql
 
  mysqldump -u root -p tknotebook > tknotebook.sql
 +
 +
===ファイルのバックアップ===
  
 
ファイルのバックアップも簡単です。
 
ファイルのバックアップも簡単です。
  
まず、MediaWiki のディレクトリの一つ上のディレクトリに移動します。
+
まず、MediaWiki のディレクトリの一つ上のディレクトリ(/var/www/html)に移動します。
  
 
  cd /var/www/html
 
  cd /var/www/html
33行: 46行:
  
 
  tar czvf tknotebook.tar.gz mw
 
  tar czvf tknotebook.tar.gz mw
 +
 +
 +
こうして取得できたファイルとDBは ftp や scp 等で吸い上げればよいでしょう。
 +
 +
===apacheの起動===
  
 
最後に apache を再起動します。
 
最後に apache を再起動します。
40行: 58行:
 
==リストア==
 
==リストア==
  
;apache停止
+
===apache停止===
  
:引っ越し先でapacheが既に動いているなら止めます。
+
引っ越し先でapacheが既に動いているなら止めます。
  
 
  service httpd stop
 
  service httpd stop
  
;データベースとユーザ作成
+
===データベースとユーザ作成===
  
:引っ越し先にはユーザとまっさらなデータベースを用意します。
+
引っ越し先にはユーザとまっさらなデータベースを用意します。
:既に必要なユーザがある場合はユーザを作り直す必要はありませんが、データベースは作り直した方が楽でしょう。
+
既に必要なユーザがある場合はユーザを作り直す必要はありませんが、データベースは作り直した方が楽でしょう。
:その場合、ユーザに権限を与えなおすのを忘れずに。
+
その場合、ユーザに権限を与えなおすのを忘れずに。
  
 
  mysql -u root -p
 
  mysql -u root -p
  
:で MYSQL に接続して
+
で MYSQL に接続して
  
:既にデータベースがあるなら、いったん削除してください。
+
既にデータベースがあるなら、いったん削除してください。
 
  drop database tknotebook;
 
  drop database tknotebook;
 
データベースを新規作成
 
データベースを新規作成
 
  create database tknotebook;
 
  create database tknotebook;
:必要ならばユーザを作成してください。これは MediaWikiが使っているユーザ名です。もし違う名前を使うなら後で LocalSettings.php の書き換えが必要です。
+
必要ならばユーザを作成してください。これは MediaWikiが使っているユーザ名です。もし違う名前を使うなら後で LocalSettings.php の書き換えが必要です。
 
  create user nakamuri identified by 'パスワード';
 
  create user nakamuri identified by 'パスワード';
 
tknotebookの権限を全て与えます。
 
tknotebookの権限を全て与えます。
 
  grant all on tknotebook.* to nakamuri;
 
  grant all on tknotebook.* to nakamuri;
  
:いったん mysql を抜けて
+
いったん mysql を抜けて
  
 
  mysql -u nakamuri -p  
 
  mysql -u nakamuri -p  
  
:でログインでき、tknotebook にアクセスできるか試してみてください。
+
でログインでき、tknotebook にアクセスできるか試してみてください。
  
:既に必要なユーザがある場合はユーザを作り直す必要はありませんが、データベースは作り直した方が楽でしょう。
+
===ファイルの転送===
:その場合、ユーザに権限を与えなおすのを忘れずに。
+
  
;ファイルの転送
+
バックアップファイルを引っ越し先にコピーする方法は様々ですが、
 +
ssh+Teratermの場合は以下の手順が便利でしょう。
  
*TeraTermで接続し、画面に バックアップ.sql(MySQLのバックアップ) と バックアップ.tar.gz(MediaWikiのファイルシステムのバックアップ)をドロップしてroot のホームにファイルを転送します。
+
*TeraTermで root で接続し、画面に バックアップ.sql(MySQLのバックアップ) と バックアップ.tar.gz(MediaWikiのファイルシステムのバックアップ)をドロップしてroot のホームにファイルを転送します。
  
 
*転送したバックアップファイルはさらに Linux 側で /var/www/html へ移動します。
 
*転送したバックアップファイルはさらに Linux 側で /var/www/html へ移動します。
  
 +
===バックアップファイルからファイルとデータを復元===
  
;バックアップファイルからファイルとデータを復元
+
カレントディレクトリを /var/www/html に移動し、
 
+
:カレントディレクトリを /var/www/html に移動し、
+
  
 
  tar xzvf バックアップ.tar.gz
 
  tar xzvf バックアップ.tar.gz
:オーナとグループを apache
+
 
 +
オーナとグループを apache に変更
 
  find mw -exec chown apache {} \;
 
  find mw -exec chown apache {} \;
 
  find mw -exec chgrp apache {} \;
 
  find mw -exec chgrp apache {} \;
 
+
DBのデータベースをリストア
 
  mysql -u root -p tknotebook < tknotebook.sql
 
  mysql -u root -p tknotebook < tknotebook.sql
  
:でデータをすべてリストアします。
+
 
 +
===サーバ名の変更===
 +
 
 +
引っ越しでサーバ名が変わる場合は LocalSettings.php の変更が必要です。
 +
 
 +
<nowiki>$wgServer = "http://www.nakamuri.info";</nowiki>
 +
 
 +
の部分を書き換えてください。
 +
 
 +
===Apacheの起動===
 +
 
 +
最後に apache を起動します。
 +
service httpd start
 +
 
 +
===確認===
 +
 
 +
MediaWikiにアクセスして、無事復元されていることを確認してください。

2016年11月9日 (水) 12:22時点における最新版

メインページ>コンピュータの部屋#Linux

以下の手順は、同じデータベース名、同じフォルダで MediaWikiを引っ越しさせたときの 手順です。つまりバックアップをリストアするのと変わらない一番無難な引っ越し方法です。

名前の異なるDBへ, 異なるフォルダへの引っ越しは今後の課題ということで(^^; とりあえず、確実な手順を確立してみました。

バックアップ

MediaWikiのバックアップは

  1. MySQLのデータのバックアップ
  2. MediaWikiのファイルのバックアップ

で行います。

以下の説明では MediaWiki の使っている MySQL のユーザ名は nakamuri, データベース名は tknotebook、 MediaWiki がインストールされている場所は /var/www/html/mw というディレクトリであるとします。

apacheの停止

service httpd stop

で外部からのアクセスを止めます。

DBのバックアップ

データベースのバックアップは mysqldump というコマンドで行います。

mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名

この例ではデータベース名が tknotebook なので

mysqldump -u root -p tknotebook > tknotebook.sql

ファイルのバックアップ

ファイルのバックアップも簡単です。

まず、MediaWiki のディレクトリの一つ上のディレクトリ(/var/www/html)に移動します。

cd /var/www/html

MediaWiki のディレクトリ配下を tar で固めます。

tar czvf tknotebook.tar.gz mw


こうして取得できたファイルとDBは ftp や scp 等で吸い上げればよいでしょう。

apacheの起動

最後に apache を再起動します。

service httpd start

リストア

apache停止

引っ越し先でapacheが既に動いているなら止めます。

service httpd stop

データベースとユーザ作成

引っ越し先にはユーザとまっさらなデータベースを用意します。 既に必要なユーザがある場合はユーザを作り直す必要はありませんが、データベースは作り直した方が楽でしょう。 その場合、ユーザに権限を与えなおすのを忘れずに。

mysql -u root -p

で MYSQL に接続して

既にデータベースがあるなら、いったん削除してください。

drop database tknotebook;

データベースを新規作成

create database tknotebook;

必要ならばユーザを作成してください。これは MediaWikiが使っているユーザ名です。もし違う名前を使うなら後で LocalSettings.php の書き換えが必要です。

create user nakamuri identified by 'パスワード';

tknotebookの権限を全て与えます。

grant all on tknotebook.* to nakamuri;

いったん mysql を抜けて

mysql -u nakamuri -p 

でログインでき、tknotebook にアクセスできるか試してみてください。

ファイルの転送

バックアップファイルを引っ越し先にコピーする方法は様々ですが、 ssh+Teratermの場合は以下の手順が便利でしょう。

  • TeraTermで root で接続し、画面に バックアップ.sql(MySQLのバックアップ) と バックアップ.tar.gz(MediaWikiのファイルシステムのバックアップ)をドロップしてroot のホームにファイルを転送します。
  • 転送したバックアップファイルはさらに Linux 側で /var/www/html へ移動します。

バックアップファイルからファイルとデータを復元

カレントディレクトリを /var/www/html に移動し、

tar xzvf バックアップ.tar.gz

オーナとグループを apache に変更

find mw -exec chown apache {} \;
find mw -exec chgrp apache {} \;

DBのデータベースをリストア

mysql -u root -p tknotebook < tknotebook.sql


サーバ名の変更

引っ越しでサーバ名が変わる場合は LocalSettings.php の変更が必要です。

$wgServer = "http://www.nakamuri.info";

の部分を書き換えてください。

Apacheの起動

最後に apache を起動します。

service httpd start

確認

MediaWikiにアクセスして、無事復元されていることを確認してください。