0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WordPressのAWS環境からさくらレンタルサーバーのデータ移行

Last updated at Posted at 2021-12-24

会社からテスト環境であるAWSのEC2に置かれたWordPress環境を本番環境であるさくらレンタルサーバーにデータを移行する際に鬼詰まりしたので共有します。

前提条件

さくらレンタルサーバーに契約して、さくらのURLやコントロールパネルやFTPの情報をもらっている。

DBの移行

旧環境のDBをphpMyAdminなどからエクスポートします。
さくらレンタルサーバーのコントロールパネルからデータベースを新規作成します。
新規作成後はデータベース一覧から対象のDBのphpMyAdminに入って、そこから先ほどエクスポートしたSQLファイルをインポートします。
インポート後はデータを一部変更する必要があります。
wp_optionsテーブルのsiteurlとhomeが旧URLになっていると思うので、こちらを新URLに変更する。
スクリーンショット 2021-12-23 15.16.04.png

## ファイルの移行
FTPソフトなどを使って、旧環境からローカルPC環境に保存する。
新環境に適応される為に2つのファイルを変更する。

.htaccess

AWSでテスト環境を構築した場合、下記のBEGIN/END SAKURA Internet Inc.の記述がない為、こちらを追加する必要がある。
これを追加しなかったため、本ッッ当に詰まりました!!
この記述はコントロールパネルからWordPressをインストールした際に.htaccessの中に生成されたものを流用しました。

# BEGIN SAKURA Internet Inc.
<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
</IfModule>
<IfModule mod_expires.c>
    ExpiresActive On
    <FilesMatch "\.(css|js)$">
        ExpiresDefault "access plus 1 week"
    </FilesMatch>
    <FilesMatch "\.(gif|jpe?g|png)$">
        ExpiresDefault "access plus 1 month"
    </FilesMatch>
</IfModule>
# END SAKURA Internet Inc.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase / 
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>
# END WordPress

wp-config.php

ここはさくらのコンパネで作ったDBの情報を入れるだけです。
他のサイトにもよく解説されているので、難しくないです。
1点だけMySQLのホスト名の部分はデータベースサーバー名を入れます。
この部分はさくらのコンパネのデータベース詳細から確認する事ができます。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
define( 'DB_NAME', '' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', '' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', '' );

/** MySQL のホスト名 */
define( 'DB_HOST', '' );

/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', '' );

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );

構築を進めた後に、新しいURLでサイトが正しく表示されないケースがあります。
その場合はこのファイルの最下部に下記のコードを入れるとうまくいきます。

update_option( 'siteurl', 'http://[サイトURL]' );
update_option( 'home', 'http://[サイトURL]' );

ファイルを変更した後は、新しい環境にFTP接続をして/home/[サイト名]/www/直下に先ほど保存したWPのファイルを置きます。

エラー対応

以上で基本はWordPressの画面が表示されると思いますが、それでもサイトが表示されない場合があります。
その場合は以下の原因も調査してみるといいと思います。
・パーミッションの変更
・プラグインの一時無効化

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?