More Related Content
Similar to このべん第5回 ConoHaでWordPressのお勉強! (20)
More from Hironobu Saitoh (8)
このべん第5回 ConoHaでWordPressのお勉強!
Editor's Notes
- 皆様こんにちは。
それでは「このべん第5回」始めたいと思います。
どうぞよろしくお願いいたします。
- まず自己紹介です。
私は斉藤弘信と申します。GMOインターネット株式会社のテクニカルエバンジェリストです。
以前は自社サービスの企画、開発をしておりました。
私自身、もともとは開発者でして、Webアプリケーションの設計や実装、あとはLinux系サーバの構築や運用をしていました。
ちょうど昨年の夏くらいからConoHaを担当することとなりまして、現在はConoHaに関する技術的な面をお客様にお伝えする役目を担当しています。
- 今日の予定です。今日のこのべんは3部構成となっていまして、第一部と第二部は私から、第三部はConoHaユーザでもあられるトライユニブ様から、オンラインレッスンの「CodeCamp」についてお話しいただきます。CodeCampはWordPressに関するレッスンが多くあるんですよね。基礎的なことからコーポレートサイトつくるようなものまで。あと実はブログにもWordPressのエントリが多くあるんですよ。 是非、後ほどお楽しみにしていてください。
- はい、それでは第一部開始したいと思います。WordPressでマルチドメインを扱いますよ。
- マルチドメインというのは、そうですねWebサーバーなどをセットアップするときによく使われる言葉ですね。ここで言うとconoha-1.jpとconoha-2.jpの部分です。まぁ実際はメールサーバのセットアップなどで使います。要は一つのシステムで複数のドメインを扱うことです。
今回は、ConoHaにインストールした一つのWordPressで複数のURLを扱う設定を行います。
- まずマルチドメインを理解するために、URLについて簡単におさらいしましょう。
URLというのはブラウザで入力したりと皆様もお馴染みですが、場所によって名前がついています。
これはConoHaのブログのURLですが、このようにhttps://の部分をスキーム、www.conoha.jpの部分をホスト名、その後の/blog/の部分をパスと呼びます。実際はもう少し細かい仕様もあるのですが、今回把握していただくのはこのくらいで大丈夫です。
一つ目のスキームというのは、このURLが指し示すリソースにどのように到達すればいいかを表します。通信プロコトルを使うことが多いです。よく見るhttpというのは、httpという通信手段をもってアクセスを行うという意味があります。
先に三つ目のパスです。これはお馴染みですがリソースの位置を示すものですね。OSのファイルシステムと似ています。
そして二つ目のホスト名の部分です。これは接続先のサーバを表します。例えばこのwww.conoha.jpは、いまConoHaのVPSに接続するようにDNSの設定がされています。
そしてですね
- ホスト名のこの部分をドメイン名と呼びます。よく「ドメインを取得する」というとこの部分の好きな文字列を取得するという意味になります。
マルチドメインというのはこの「ドメイン」の部分が異なるURLを複数扱うというものです。
- よく複数のサイトを扱うときに出てくる言葉で、もうひとつ「サブドメイン」というのがあります。これも間違えやすいので整理しておきます。
ここに表にしましたが、このようにサブドメインというのは、ドメイン名conoha.jpの左の部分が異なるケースを指します。一方でマルチドメインというのは、ドメイン名そのものがことなすケースです。
今回扱うのは右側のマルチドメインです。
- では本題です。WordPressのマルチドメイン対応を行うには、この二つを利用します。
一つ目はWordPressの「マルチサイト」という機能で、もう一つが「WordPress MU Domain Mapping」というプラグインです。順に説明したいと思います。
- マルチサイト機能はWordPres3.0から追加された機能です。たしか、もともとはWordPres MUというプラグインだったんですかね。それが本体に取り込まれたという経緯があったと思います。
そして、この機能はWordPressの管理画面からは設定できなくて、設定ファイル、これPHPのファイルですがそれを直接編集する必要があります。これはあとで実演をしたときに解説します。
- マルチサイト機能がどういう働きをするかというと、こうWordPressは標準で一つのサイトを扱えますが、この機能を有効にすると、その上に「サイトネットワーク」というものができるんです。
この図のようにですね。
サイトネットワークはサイトを所有することができます。そして(スライドを進める)
このようにURLのパスなどを元にサイトにリクエストを振り分けてくれます。
これによって複数サイトを扱えるようにはなりますが、これ、サブドメインには対応しているのですが、マルチドメインには対応していません。
そこでプラグインを使います。
- WordPress MU Pluginはマルチサイト機能をマルチドメイン対応するためのプラグインです。これをインストールするだけでマルチドメイン対応ができる、これ便利なプラグインですね。
ただ、設定は全部英語です。英語ですがー、そんなに難しくないので。頑張っていきましょう。
後ほど説明します。
- はい、ではお待ちかね、実際にやってみたいと思います。
今日はハンズオンなどではないので、私がこのスクリーン上で実演しながらご説明してます。
手順として、まずはConoHa VPSのWordPressイメージを使ってWordPressを構築します。そして、マルチサイトを有効化するwp-config.phpのせつめいをします。次にプラグインのインストール。最後に
マルチドメインを使うための各種設定を行います。
- そして、今日のこのべんでは、ドメインの取得とDNSの設定は取り扱いません。ここの部分は、勉強会のあとに個別に聞いてください。
- はい、それでは始めていきます。
これから実演する手順は、ConoHaの技術ブログにもあります。なので、全部覚えていただかなくても大丈夫です。大まかな流れだけ把握していただければと思います。
- では、第一部のまとめです。
第一部では、一つのWordPressでマルチドメインを扱うというテーマで学習をしました。
最初にサブドメインとマルチドメインの違いをご説明し、WordPressにマルチサイトという機能があることをご説明しました。そして、この機能だけではマルチドメインを扱えないため、WP MU DomainMappingというプラグインを使うことをご説明しました。
えー、どうでしたか。難しかったですか? 疲れましたか?
- ちょっと休憩しましょうw
- はい、それでは第二部を始めて行きます。
- 第二部のテーマは「WordPressの移行」です。
もう私もあちこちでお話ししていますし、第一部でも使ったのですが、ConoHaにはWordPressテンプレートという、VPSを立ち上げるとすぐにWordPressが使えるディスクイメージが用意されています。これはなかなか便利で、ただWordPressがインストールされているだけじゃ無くて、キャッシュの設定とかいろいろチューニングされているので、結構高速で動くんですね。
ただ、もうすでにWordPressでサイトをお持ちの方も多いはずです。さすがに一からサイトを作るのもしんどいですし、それで今回はWordPressを移行するというテーマを取り上げてみようと思いました。
まぁ実は移行するプラグインというものがあって、これから説明するように、いくつか条件はあるのですがそれですぐ終わってしまうんです。本当にすごく簡単です。
ただそれだけだと勉強会にならないので、少しWordPressの構造とか、サーバ上でどう稼働しているのかとか、そんなお話もしたいと思います。
- まずデータ移行する前に、WordPressってどういう構造になっているのかを把握しておきましょう。インストールを自分でやったことがある人はご存知かと思いますが、ConoHaも含めて最近は自動インストールなどで、あまり構造などを意識していない場合もありますので。
WordPressは動的な部分は主にPHPで実装されていて、Web表示としてほかに画像ファイル、CSSファイル、あとフロントの実装としてJavaScriptファイルがあります。
そして、データや設定などは全てデータベースに格納されます。データベースはMySQLですね。
なので、サーバ側の要件としては、Webサーバが動作していて、PHPの処理系が動作して、MySQLがインストールされていれば、WordPressが動く環境を満たすことになります。
- ちょっとわかりづらいので、サーバ上で動いているプログラムと、WordPressを構成するファイルとの関係を図にしてみました。ユーザがWordPressで作られたWebサイトにアクセスすると、どういう処理の流れになるかを表したものです。
ここではわかりやすくするため、ConoHa VPS上で動作しているとします。
少しインフラ方面の話になりますが、「俺フロント側だし興味ないや」、でも大丈夫です。ざっと聞いておいてください」。
(ポインタで指しながら)
ユーザがブラウザでアクセスすると、まずVPS上のWebサーバがリクエストを受け付けます。これはApacheとかnginxと呼ばれるソフトウェアです。そして、どのファイルがリクエストされたかで分岐がなされます。画像ファイルやCSSファイル、JavaScriptなどのファイルがリクエストされた場合、Webサーバがローカルのファイルを読み込み、そのままクライアントに送信します。
そしてPHPファイル、例えばindex.phpとかですね、それにアクセスがあった場合、WebサーバはPHPの処理系に処理をゆだねます。Webサーバ自体には、PHPを動かす機能は持っていないからです。
さて、PHP処理系です。処理系というのは聞き慣れない方もいらっしゃると思いますが、プログラムの実行環境だと思ってください。PHPの処理系はWebサーバからファイル名などの内容を受け取って、PHPスクリプトファイルを読み込みそれを実行します。
そして、PHP処理系は必要に応じてMySQLデータベースに接続します。まぁWordPressの場合は、キャッシュされている場合などを除いて、どのページにアクセスしてもMySQLへの接続が発生します。MySQLはデータベースですので、当然サーバ上にデータを持っています。ここから必要なデータをPHP処理系に返して、PHP処理系がWebサーバにデータを返して、最終的にユーザ、ブラウザですね、そこにHTML等の形式が返されると。長くなりましたが、全体としてこのような動作になっています。
ちなみに、ConoHaのWordPressテンプレートイメージでは、Webサーバはnginx、PHPの部分はphp-fpmというFastCGIというインターフェイスでWebサーバと接続するタイプのものを使っています。
(スライドを進める)
で、WordPressを移行するに当たって、どのファイルをバックアップすればいいのかという話です。結論としては、この赤で囲った部分です。画像、CSS、JS等のスタティックファイル、WordPress本体のPHPファイル、そしてMySQLデータベースのデータです。
左の二つは、WordPressをインストールしたディレクトリを丸ごとコピーすれば大丈夫です。ただ、このMySQLのデータ、これはちょっと難しそうですね。
では、
- 移行の方法として、二つ紹介します。一つはプラグインを使う方法、もう一つは手動で移行する方法です。今回実践するのは上のプラグインを使う方法です。
参考までに下の方法は、ConoHaの技術ブログに細かい方法を書いてあるのでご覧ください。手動の一番難しいところは、MySQLをバックアップして、移行先でそれを戻す作業、リストア作業ですね。これが慣れていないと難しい。一応ブログに手順などは書いてあるので、コマンドラインに挑戦してみたい方は試してみてください。
- プラグインで移行するのですが、「All-in-One WP Migration」というプラグインを使います。これですが、プラグインをインストールして数クリックするだけで、WordPress全体のバックアップファイルが作れます。もちろん、データベース内のデータも含めてです。
- このプラグインはとても便利なのですが、制約があります。
一つ目、移行元のPHPの設定よっては動かない場合があります。具体的には、PHPのバージョンが5.2.17以上であることと、memory_limitというパラメータが32MB以上である必要があります。まぁ、イマドキのホスティングサービスならまず大丈夫でしょう。
二つ目、512MB以上のバックアップサイズになる場合、有料契約が必要です。まぁこれは仕方ないですね。$45で、有料契約すると5GBまでOKになります。
三つ目、WordPressの管理外のファイルは移行されません。これは例えば画像ファイルなどをテーマフォルダの中では無く、WordPressのルートフォルダ直下に置いている場合ですね。こういったファイルは移行対象になりません。
ただ、把握していればこれらのファイルだけ手動コピーすれば大丈夫です。なので大きな問題にはならないかもしません。
- さて、それでは実際に試してみます。第一部は結構大変でしたけど、こちらは簡単ですよ。
あと、同じように手順はConoHaの技術ブログでご覧いただけます。
- 第二部ではWordPressを移行するというテーマで学習しました。
実際試してみて、移行作業自体はとても簡単でしたね。どちらかというと、サイトのメンテナンスをいつ行うかとか、DNS変更するのどうやるのとか、そういった調整の方が面倒なくらいです。
また、移行にあたってWordPressの構造や、ユーザからのリクエストがどのような流れで処理されているのかも簡単にご説明しました。実際はここまで単純では無く、例えばConoHaのWordPressテンプレーtの場合は高速化のためキャッシュする仕組みがあったりして、もう少し複雑です。
このあたりは興味を持っていただくと、もっとConoHaを活用していただくきっかけになるかもしれませんし、よかったらこのあとの、なんでしたっけ?ご相談ブース?ですか、その辺で聞いていただければと思います。
- 以上が本日お話しした内容でした。ありがとうございました。
ご質問などがありましたらお受けいたします。