☆☆ 新着記事 ☆☆

2019年1月6日日曜日

Wordpress 5つのマイグレーション・ツールとAll-in-One WP Migration 


どんなに便利だと言われるPlug-inのマイグレーション(引越し)・ツールでも、簡単にマイグレーションは出来ませんね。 データ移行は簡単にできましたが、ブラウザで表示させようとすると、全てのページが404エラーになりました。 このエラー対応も含めて、メモしておきます。



1.マイグレーション・ツールの選択。

こんな8つのマイグレーション・ツールから選ぶ。
https://www.wpsuperstars.net/top-wordpress-migration-plugins/

1.Duplicator
Not only does it handle standard migrations, it can also help you clone your site to a new domain name, set up staging versions of your site, or just back up your site to protect from data loss.
There’s just one caveat – you’ll need a little technical knowledge. If acronyms like FTP make you tremble in fear – I’d stick with one of the more user-friendly plugins further down this list.

Price: Free with a pro version that unlocks extra features, starting at $39.
(新しいドメイン名のサイトへの移行もサポートしているらしいです。 ftp などの言葉が心配なようなら、使うのはちょっと難しい、とのこと。)

2. All-in-One WP Migration
is a free plugin with premium extensions that’s focused entirely on migrating your site to a new server or domain name.
It covers moving both your database and your files, which means it handles all aspects of migration.
The free version of the plugin supports moving sites up to 512MB in size. If your site is any larger, you’ll need to go with the unlimited version, which removes the size limit.

3. VaultPress
The only downside with VaultPress is that it’s a subscription service
Price: $3.50 per month or $39 per year
(これ、無料版がありません。)

4. WP Migrate DB
isn’t a self-contained migration plugin like Duplicator and BackupBuddy. As you might be able to glean from the name, it’s focused entirely on your WordPress database.
(DBに特化しています。)

5.UpdraftPlus Migrator Extension
Best of all, everything can be done directly from your WordPress dashboard. If you’re just moving hosts while keeping the same URL, you can probably get away with the free version of UpdraftPlus. Just do a backup and restore to your new server.But if you need to change URLs or move to a local environment, then you need the paid Migrator add-on.
(移転先が同じURLでよければ、これも良いかも。)



という感じなのだそうです。 だいたい、ネット検索で出てくるツールを網羅しているのではないでしょうか? 



ということで、初めてなので、2. All-in-One WP Migration で、やってみます。
(テーマ・Plug In ・メディア(イメージ)など、全部、移転できるそうなので便利。)

移転するのは、自分のこんなWPのページ。


 
 
 (移転元のページでデータのExport)

1.word pressの管理画面にログインしてAll-in-Oneを検索


 
 
2.Activateされたら、エクスポートします。
 
 


3. 自分のPCをエクスポート先に指定


4.いろいろオプションがあるみたい。
(今回は指定なし。)


5.ダウンロード開始



6.Exportしてしまうと、データが消えてしまうので、バックアップを作成し、
  新しいサイトがアップするまで、WPのサイトをそのまま保持。




これで、サイトが維持されているようになるので、確認してみてください。


 
 (移転先でのページでデータのImport)

1.移転先のword pressの管理画面にログインしてAll-in-Oneを検索
  先程の要領で、All-in-One WP Migration を有効化します。

2. さっきダウンロードしたファイルのインポート
  スクリーンショットをとる間もなく、ここまで来てしまいました。
 


完了画面 がすぐにでます。

これでおしまいのよう!!

**ここでパーマリンクの設定と.htaccessの設定というプロセスがあります。
何度目かで気が付きました。 詳細、下記。)

投稿一覧やURLで確認して、みます。




これで完了!


と思ったのですが、、、ホームページは見られますが、個々の投稿のリンクをクリックしても記事が表示されません。

これに対応します。

2.404エラー対応。




パーマリンクの再設定というプロセスを忘れていました。
又、そのページの下段に以下のような注意書きがあります。 以降の記述は、この注意書きに基づいた手順を踏んでいなかった為、発生したようです。

「.htaccess ファイルが書き込み可能であれば自動的に実行されますが、書き込み可能でなければ、mod_rewrite ルールを .htaccess ファイルに追加する必要があります。フィールド内をクリックし、CTRL + a を押してすべてを選択してください。」






1) .htaccessの記述内容確認。

まず、wordpressの各ファイルが格納されているディレクトリ直下にある、 .htaccessの内容を確認します。(直下にない場合もある。)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /posts/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /posts/index.php [L]
</IfModule>

直下にない場合は、.htaccessを作ってコピペ

直下にある場合は、以下に続く。



これ、標準的な記述のようで、問題はなさそです。 
特に、RewriteEngineをOnにする記述が書いてあるか、確認します。

2) mod_rewrite の確認、
サーバーにSSH接続して、以下のコマンドを実行。

$ httpd -M

rewrite_module (shared) <- これが表示されていればOK


3)httpd.confの変更
サーバーの以下のディレクトリーに格納されている httpd.conf ファイルに記述を追加します。

/etc/httpd/conf/httpd.conf

httpd.confには、以下の内容がデフォルトで記述されています。


# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
    AllowOverride none
    Require all denied
</Directory>

Defaultの<Directory>は、こういう設定になっていて、別の設定にするなら個別に設定しろ、という記述。 そして以下に、以下のような個別の<Direcotry>設定が続いている。


# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

 なので、wordpressの各ファイル(そして、.htaccessも)が設置されている
<Directory>を指定して、以下のように設定してみる。

<Directory "/var/www/html/posts">

    Options Indexes FollowSymLinks

    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride ALL
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

これでブラウザ経由で、各投稿を表示できるようになりました。





使っているのが、vpsサーバーなので、httpdファイルを自分で変更しなくてはいけませんでしたが、シェアード・タイプのサーバーなら、どうなのでしょう?

マニュアルは、この投稿の404までの手続が、ポータルとphpMyAdminページを使ってできると書いていますが。
(ロリポップ・サーバーの例)

https://lolipop.jp/manual/startup/move-wordpress/



(参考)

https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite-for-apache-on-centos-7#step-3-%E2%80%93-setting-up-a-htaccess-file



(以下は、)

URLを一括返還するPlug in

ちょっと調べると、いろいろあるようですが、
Velvet Blues Update URLs (urlの一括返還)
Search Regex (文字列の検索、置き換え等のツール)


その後もいろいろ使えそうなので、Search Regexでやってみます。

Pluginを有効にします。



文字列を検索して、変換するのは以下の画面のようです。




(移転前のURL)
http://mossymob.net/blog/archives/146
(移転後のURL)
http://mossymob.tk/posts/archives/146

なので、
Search Pattern :mossymob.net/blog
Replace Ptern : mossymob.tk/posts

に変換してみます。

Invalid regular expression: Delimiter must not be alphanumeric or backslash
というエラー。


0 件のコメント:

コメントを投稿