つまづき体験記:ローカル環境(MAMP)からサーバーに移行

スポンサーリンク


サイトをリニューアルさせるために、レンタルしているサーバー上で一から作り直すという方はあまりいないと思います。作っている途中経過をまじまじと見られる可能性が高く、とても格好悪いからです。そこで、多くの方はまず自分のPC内に仮のサーバー環境を作り、サイトを作ってある程度検証してから外部サーバーに切り替えるというのが一般的な方法でしょう。

今回のお話は、その「ローカル環境」でサイトを完成させた次のステップです。ローカル環境をサーバー上に正しくアップロードした時につまづいたことを、初心者である私の脳内の動きとともにお伝えしてゆきます。

結論から言えば、AGN WEB TEAMさんのブログが、私にとっての正解でした。ただし、一部の途中経過が省略されているので、他サイトとの組み合わせで参考にするのが良いでしょう。

つまづき1:文字列を貼り付けるのは「テキストエディタ」が一番?

まず、Wordpressをローカル環境にコピーするために、私は何度もgoogle先生の力でノウハウを解説しているサイトを見つけて、自分にあったやり方だなと思えたサイトの情報を頼りに課題をクリアしました。

今度の課題も同じ要領で、「ローカル」「サーバー」「移行」「エックスサーバー(私が使用しているレンタルサーバー)」と検索で打ち込むと、多くの解決方法が示された候補サイトが出てきました。その中から、最初は「データベースの引越し」というページを参考にさせていただきました。理由は、ローカルサーバーの使用ソフトが同じ「MAMP」だったからです(XAMMPは数多くあるが、MAMPはややマイナーなのか解説が少ない)。

詳しい工程は上記リンクを参考にしてほしいのですが、
まずMAMPのデータベースのエクスポート作業を行いました。phpMyAdminから自分が作成したデータベースをクリックして、全てにチェックをつけて、「チェックしたもの」>「エクスポート」としました。エクスポート方法はラジオボタンの「詳細」につけて、生成オプションに「DROP TABLE/VIEW/PROCEDURE/FUNCTION/EVENTコマンドを追加する)」のみにチェックを追加して「実行」しました。すると、データが表示されるので、文字列の全てを選択、テキストエディターに貼り付けます。

エクスポートとは?

エクスポートでは、「記事の本文や日付、記事に届いたコメント」などが保存できます。しかし、管理画面のオプションなどで設定した内容は保存されません。
つまり、エクスポートとは「データベースに保管されるデータの一部(エントリ関連データ)を保存する機能」のことです。
出典:WordPress超初心者講座(データベースのバックアップとエクスポートの違いとは?)

<ここからが、つまづきポイント(1)です。>

私は普段からAdobe社のDreamweaverでコードを書いていたため、文字列を一度Dreamweaverにコピペして保存しようとしましたが、保存画面でエンコーディングの選択ができませんでした。参考サイトによると、エンコーディングは「UTF-8」にしなければならないとのことでしたので、このまま保存して使おうとすると、文字化けを起こす恐れがあったのです。(Dreamweaverを使ったエンコーディングの修正方法はDREAMWEAVERで文字コードを変換する手順をご覧ください)

エンコードとは?

ざっくり言えば、文字をコンピュータで扱えるようにコード(数値)を割り振ること。
詳しくは「SJIS?EUC?文字コードってなんぞや?」へ

つまづき2:本番環境にインポートする前にローカルサーバーのURLを一括変換してしまった

あくまで私の場合ですが、本番環境にデータをインポートする前に、データに入っているローカルサーバーのURLを変換してからインポートすると、トップページのサイトが下記のようになってしまいました。

スポンサーリンク

サーバー移行つまづき:2−1

サイドバーやサイトの題字、フッターは出力されていますが、コンテンツ部分は出力されませんでした。ページのソースを確認してみると、<div=contents>〜

ちなみに、エクスポートしたデータに何も手を加えず、そのままインポートすると、下記のように正常にサイトのトップページが出力されました。理由は不明ですが、「つまづき3」に理由が隠されているようです。

ちなみに、この状態の段階ではトップページのみ出力されていて、各コンテンツをクリックすると「404」が出てしまいます。

サーバー移行:つまづき2−2

 

つまづき3:ローカルサーバーのURL変換を「テキストエディタ」で行ってしまった

上記のように、エクスポートされた素のデータをテキストエディタで一括変換させてしまうと、動かないケースが出てきます。詳しくはWEBCRE.ARCHIVEさんのブログを見ていただくと、原因がわかりやすいです。

DBのローカルサーバーURLの一括変換は、WEBCRE.ARCHIVEさんが紹介していた「searchreplacedb2.php」の利用を強くお勧めします。他のサイトで紹介されている似たアプリケーションでも構いません。

searchreplacedb2.phpで注意したいのは、情報の入力です。

サーバー移行:つまづき3−1 サーバー移行:つまづき3−2

上の画像はsearchreplacedb2.php、下の画像はwp-config.phpです。

ServerName=ホスト名、DatabaseName=データベース名、UserName=ユーザー名、Charset=utf8(私の場合はutf8mb4)を入力してください。

 

以上が、私がつまづいた点です。

特に、テキストエディタによる一括変換を勧めるサイトがありますが、上手くいくケースといかないケースが出てくるので、searchreplacedb2.phpを利用しましょう。

スポンサーリンク


server

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

新聞社の記者をしています。仲間との起業を夢見て、これまでに学んできたノウハウを記しておきます。現在、主に結婚新聞や企業・団体向けの広報紙を制作していますが「こんな紙面をつくってほしい」とのご要望にも随時お応えしています。