WordPressの引越〜AWSへ:③データ引越その1:wp-content内のデータ

by kozaru, 2014/01/15

目次

  1. 引越作業時の環境など
  2. AWSアカウントの作成と「超高速 WordPress AMI」網元の設定
  3. データ引越その1:wp-content内のデータ
    1. WordPressデータ保存先の確認
    2. 引越元wp-contentデータをダウンロード
    3. Amazon EC2 インスタンスにssh接続
    4. EC2にnginxユーザでssh接続する
    5. アップロード用に「FileZilla」を設定(ssh接続)
    6. WordPressをインストール
  4. データ引越その2:MySQLデータ
  5. ドメイン設定を変更など

③-1:WordPressデータ保存先の確認

引越時に移設する必要があるWordPressデータは、以下の3つになります。

  1. テーマ、プラグインデータ(管理画面で操作可)
  2. 画像・動画などのメディアデータ(管理画面で操作可)
  3. 投稿・固定ページデータなどのデータベースデータ(MySQLデータ)

上記のうち、1と2のデータは、wp-contentフォルダ内に保存されています。

テーマ:/wp-content/themes
プラグイン:/wp-content/plugins
メディア:/wp-content/uploads

この記事は、wp-contentフォルダ内のデータを移設した際の備忘録です。

③-2:引越元wp-contentデータをダウンロード

引越元wp-contentデータを、ダウンロードします。FTP等で可能ですが、さくらのレンタルサーバの場合、下記の方法でもダウンロード可能です。

サーバーコントロールパネルにログイン後、ファイルマネージャーをクリックします。
ファイルマネージャ

wp-contentフォルダを右クリック、ダウンロードを選択します。
ダウンロード

③-3:Amazon EC2 インスタンスにssh接続

データをインスタンスにアップロードする場合、sshを使用して接続する必要があります。

sshとは

ssh(Secure SHell)とはネットワークを介してインターネット上に置かれているサーバにログインしたり、 コマンドを実行したり、ほかのマシンへファイルを移動 (コピー) したりするためのプログラムです。パスワードやデータを暗号化して通信内容の漏洩を防ぐほか、データを圧縮するので送受信を効率化できます。そのため、安全性が保障されない経路上(たとえばインターネット)でも安全な通信が行えるというわけです。
@IT – アットマーク・アイティ:sshでセキュアネットワーク構築より引用

説明は専門的で難しいですが、セキュリティが高くなると思うとうれしいですよね。

今回は2回目のチャレンジなので、すんなり行く予定でしたが…下記の過去やった手順ではできませんでした。
(過去記事:【AWS】EC2にMacのターミナルからssh接続する

理由を発見![2013/09/09の記事]

「OS が CentOS から Amazon Linux に変更されたため、SSH ログインする際は ec2-user でログインしてください。」超高速 WordPress AMI 網元「網元 AMI の OS を CentOS から Amazon Linux に変更しました」から引用

ユーザー名変更で、接続できました!

AWS網元へのssh接続手順 [2014.1]

①ターミナルを起動します。(アプリケーション/ユーティリティ/ターミナル.app)

②Key Pairを保管したフォルダに移動します。【コマンド:cd】

[code]$ cd /[フォルダ名]/[フォルダ名][/code]

コマンド cd を入力後、ファインダーから移動したいフォルダをドラックするとpathが自動的に入ります。
cd①
cd②

③「Key Pair」のパーミッションを変更します。

[code]$ chmod 600 [秘密鍵fileName].pem[/code]

④ターミナルから、Amazon EC2 インスタンスにssh接続します。

[code]$ ssh -i [秘密鍵fileName].pem ec2-user@[固定IPアドレス][/code]

固定IPアドレスは、Amazon EC2 インスタンスのEIP または、Public DNSで確認できます。

[code]Are you sure you want to continue connecting (yes/no)? [/code]

と聞かれたら、「yes」と答えましょう!

ssh!

つながりました!わーい!

③-4:EC2にnginxユーザでssh接続する

今回AmazonEC2インスタンスにインストールした網元では、wp-contentデータは下記のルートに入っています。

WordPressがインストールされているHTMLのルートは?

/var/www/vhosts/{Your EC2 Instance ID}/
超高速 WordPress AMI 網元:FAQ よくある質問より引用

「/var/www/vhosts」の所有者は「nginx」になっています。[2014.1に確認]

nginx ユーザとして ssh 接続できるようにするには?

WordPress のファイルが置かれたディレクトリ /var/www/vhosts は Web サーバの実行ユーザ nginx が所有者となっており、sftp クライアント等で直接ファイルをアップロードする事はできません。
そこで nginx ユーザとして ssh 接続ができるようにする方法について解説します。
超高速 WordPress AMI 網元:nginx ユーザとして ssh 接続できるようにするには?より引用

ターミナルでssh接続(AWS網元へのssh接続手順)後、下記の記事手順に従って設定します。

nginx ユーザとして ssh 接続できるようにするには?
超高速 WordPress AMI 網元へリンクします

ec2-userのssh接続をexitします。
[code]$ exit[/code]

nginx

③-4:アップロード用に「FileZilla」を設定(ssh接続)

今回ファイルのアップロードに「FileZilla」を使用します。FileZillaは、Mozillaが提供しているFTPクライアントソフトです。FileZillaのssh接続設定をします。

Key Pairでダウンロードした鍵ファイルを、FileZillaに対応したファイルに変換します。メニューバーの「File Zilla」から「Preferences」を選択します。

「SFTP」を選択し、「鍵ファイルを追加」ボタンをクリック。
FileZilla①

ダウンロードした秘密鍵を指定すると、「FileZillaに対応したファイルに変換しますか?」と聞かれるので「はい」をクリックして保存します。(拡張子:ppk)
FileZilla②

秘密鍵が追加されました。
FileZilla③

左上のサイトマネージャーアイコンをクリック。
FileZilla④

「新しいサイト」をクリックし(名前は何でもいいです)、
①:固定IPアドレス、②:SFTP、③:パスワードを尋ねる、④nginx を
入力後、接続されます。
FileZilla

左がローカル、右がリモートです。それぞれ階層を合わせて、アップロードします。
plugin

FileZilla⑥

pluginsは、網元でインストールされていないプラグインアップロードしました。
themesは現在使用しているテーマをアップロードしました。
uploadsは、フォルダごとアップロードしました。

FileZillaの使い方は、以下のサイトを参考にしました。
FileZillaのSFTP接続設定
ありがとうございました。

③-5:WordPressをインストール

nginxユーザでssh接続ができた後に行ってください。
先に行うと、nginxユーザでssh接続の設定ができませんでした。[2014.1現在]

インスタンスを作成した状態では、WordPressはインストールされていません。設定した固定IPアドレス(Elastic IP アドレス)にアクセス後、WordPressをインストールします。

今回の引越では、引越元データベースを移設しますので、ここでの設定はあとから変更されます。

wp

次は、④データ引越その2:MySQLデータです。
技術的な表記などに間違いがありましたら、教えていただければうれしいです。掲載された記事の情報もしくは内容を利用することで直接・間接的に生じた損失に関しては、一切責任を負いかねます。導入等はご自身の責任で行ってください。

LINEで送る
Pocket