WordPressをさくらからAWSに引っ越ししたときの話

今までさくらインターネットのVPSでwordpressを寝かしてきたけど、AWSのサービスをいろいろ使ってみたくなったんでさくらを解約して引っ越してみた。
いろいろハマったりしたこともあったんで、一応書いておく。

さくらのサーバーからデータを取得

必要なのは、

  • wordpress一式(phpファイルとか)
  • データベースの中身

の2点。

wordpressのファイルバックアップ(サーバーからサルベージ)

さくらのレンタルサーバは「スタンダード」という契約になってた。
OSはFreeBSD。

zipコマンドもtarコマンドもなかったので、WinSCPあたりでごっそりと持ってくることにした。
アップロードした画像とかがたくさんある場合は圧縮してから持ってきたほうがいいと思う。

持ってくるのはapacheの公開ディレクトリのうちwordpressの入ってるところをごそっと。
僕の場合はホームディレクトリ直下にwwwがあってそこにwordpressがあった。
wordpressセットみたいなやつで契約したんだったかな?

ともあれコレを使ってるようなのでWinSCPで接続し、ローカルにコピーした。

データベースのバックアップ

さくらで契約しているDBはphpMyAdminが使えるのでそれでバックアップを取得した。

phpMyAdminでログインし、エクスポートメニューを選択。
対象はwordpressで使用しているDBだけでよい。
インストール時に決めたDB名であるはず。
それを選んで、SQL形式を選んでエクスポート。
僕の環境ではUTF-8をつかってるはずなので、エンコードはnonにしておくとUTF-8で出るはず。

AWSの準備

EC2とRDSは普通にやればいいので省略。
セキュリティグループのインバウンド設定でちゃんとRDSを開けることだけ気をつけておく。
(今はとりあえず)対象のIPをEC2でつくったインスタンスのプライベートIPにしておく。

Apacheのインストール

yumを使うのでルートになってから行う
[bash]
sudo su –
yum install httpd.x86_64
# 証明書をいずれ使うかもしれないし、オレオレ証明書を使ったりするかもしれないので一応。
yum install mod_ssl.x86_64
[/bash]

/etc/www/htmlがドキュメントルートになっているので、バックアップをしておいたものをここにコピーする。

MySQLクライアントのインストール

[bash]
# DBに接続するクライアント
yum install mysql56.x86_64
[/bash]

PHPのインストール

[bash]
yum install php
# マルチバイト文字を扱うのでこれもインストール
yum install php-mbstring
[/bash]

wordpressの配置と作業

接続先DBの設定

wordpressのルートにwp-config.phpがあるのでコレを書き換える。
[php]
// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘databasename’);

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

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

/** MySQL のホスト名 */
define(‘DB_HOST’, ‘somehost’);
[/php]
ここをRDSの設定に従って書き換える。
ホスト名にはRDSのエンドポイント(ポート番号を含む)を設定すればいい。

データベースのデータ移行

保存していたSQLを開き、内容を確認する。
といっても、最初の方にある次の2箇所だけ。
[sql]
CREATE DATABASE ~~~~;
USE ”;
[/sql]
この2文。
まず、CREATEはしなくていいので削除する。
USEのデータベース名を、RDS作成時に設定したデータベース名にする。

すでにmysqlクライアントは入れてあるのでコマンドでログインする。
パスワードが毎回聞かれるのがめんどくさいので、ルートに「.my.cnf」というファイルを作成する。
[php title=”.my.cnf”]
[client]
password="DBのパスワード"
[/php]
これでmysqlコマンド実行した時にパスワードを入れなくていい。

[bash]
mysql -u USERNAME -h HOSTNAME -P PORT_NUMBER
[/bash]
で接続。

ホームディレクトリに先ほどのSQLファイルをdata.sqlという名前で置いたので次のコマンドで実行される。
[sql]
source ~/data.sql
[/sql]

その他環境周りでやったこと

パーマリンクを使う場合の設定

トップページは表示されるけど、カテゴリリンクや記事のタイトルとかをクリックしても404が出て表示できなかった。
どうやらwordpressのパーマリンクはmod_rewriteを使うようで、その設定がデフォルトで有効になっていなかった。
AWSのapacheはそういうものらしい。
なので、httpd.confの設定を一部書き換える。
ドキュメントルートのDirectoryディレクティブ内にある、AllowOverrideを次のように書き換える。
AllowOverride NONE

AllowOverride All

これがhtaccessによるrewriteの設定ウワガキを許可する魔法らしい。
Apache再起動してサイトを見るとコレで行けてた。
このあと滅茶苦茶アクセスした。

本体やプラグインの更新でFTP設定の入力を求められる場合

wordpress(apache)の実行ユーザとディレクトリの所有ユーザの権限があってない場合に起こる。
httpd.confにUserやらGroupの設定があるのでそれを見る。
僕は両方共apacheになっていた。
つまり、実行ユーザはapache:apacheになる。

なので、ディレクトリ(たぶんroot:rootになっている)の実行権限を変える
[bash]
# wordpressのディレクトリで実行する。
chown -R apache:apache *.php
[/bash]

プラグインの検索で500エラー

あるいは、プラグインを手動インストールできたけど、有効化でエラー。
PHPのインストールで書いたけど、マルチバイト文字列のモジュールが必要
[bash]
yum install php-mbstring
[/bash]

ドメインが変わるなどでURLが変わる場合

[sql]
select option_value from wp_options where option_name=’siteurl’;
update wp_options set option_value = ‘http://newurl’ where option_name = ‘siteurl’;
[/sql]

だいたいこれらをやることで僕の環境は移行できた。

「WordPressをさくらからAWSに引っ越ししたときの話」への2件のフィードバック

  1. tataka.infoのご担当者様

    突然のご連絡にて失礼いたします。
    株式会社DPパートナーズの與儀と申します。

    Google検索にて「wordpress サーバー移行 さくら AWS」と検索していたところ、
    貴社サイトの記事「http://tataka.info/?p=361」を拝見いたしました。

    貴社サイトの記事は弊社のサービスと非常に相性が良く、
    もしよろしければ弊社とご提携のうえ、アフィリエイト広告を載せてはいただけないでしょうか?

    と言いますのも弊社では、WordPressを中心とした引越し代行サービス、
    『サイト引越し屋さん』を運営しております。下記が主要LPでございます。
    https://site-hikkoshi.com/lp-wordpress/

    上記サービス内のWordPressのサーバー移転案件に関して、
    ASP『もしもアフィリエイト』さんにてアフィリエイト広告を出しております。
    https://af.moshimo.com/

    もしもアフィリエイトにご参加後、広告検索にて
    「サイト引越し屋さん」と入力いただくと提携可能でございます。

    何か疑問点などございましたら、zoom等のビデオ会議にてご説明差し上げることも可能です。
    お気軽にご連絡くださいませ。

    突然の申し出となり大変恐縮ではございますが、
    ご検討のほどどうぞよろしくお願い致します。

    /////////////////////////////////////////

    株式会社DPパートナーズ
    〒151-0053 東京都渋谷区代々木1-59-1 オーハシビル6階12号
    TEL:080-7931-5884
    MAIL:yogi@dp-partners.co.jp
    URL:https://dp-partners.co.jp

    /////////////////////////////////////////

  2. ご担当者 様

    お世話になっております。
    株式会社DPパートナーズの西塚です。

    以前ご連絡差し上げた弊社サービス『サイト引越し屋さん』との
    アフィリエイト提携の件で改めてご連絡差し上げました。

    おかげさまでアフィリエイター様との提携数が700名を超えました。
    また、累計取り扱いサイト数においても2,000サイトを突破し、
    業界No.1のサーバー移転代行サービスとなりました。
    是非、貴社メディアにおかれましても広告提携をご検討いただけますと幸いです。

    改めまして、弊社ではWordPressを中心としたサーバー移転サービス
    『サイト引越し屋さん』を運営しております。
    https://site-hikkoshi.com

    WordPressのサーバー間移転はもちろんのこと、
    無料ブログからWordPressへの移行作業も代行しております。

    貴社メディアにおかれましては、下記のページと弊社サービスの相性が良く、
    是非アフィリエイト広告の掲載をご検討いただければと考えております。

    対象ページ:http://tataka.info/?p=361
    弊社LP:https://site-hikkoshi.com/lp-wordpress/

    なお、アフィリエイト提携につきましては「もしもアフィリエイト」さんにて対応しております。
    【もしもアフィリエイト】https://af.moshimo.com/

    提携をご希望の場合は、もしもアフィリエイトさんにてアカウントを作成のうえ、
    広告検索にて「サイト引越し屋さん」と検索いただければ提携可能です。

    提携に際してご不明な点などございましたら、いつでもお気軽にご連絡ください。
    メール、電話、zoom等でご説明も可能です。

    長くなってしまいましたが、ご検討のほどどうぞよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です