こんばんわ。ゲーハーです。
ちなみにこないだ中学の同窓会だったのですが、0時過ぎまで飲んで軽く酔っ払いながら引っ越し作業開始しました
conohaのvpsにした理由
このサイトや草の実堂は、数年前からさくらのvpsという仮想サーバーで構築していて、さくらはコスパが大変素晴らしく結構なアクセス数にも耐えれて、特に不満はなかったのだが、最近conohaのVPSが評判よくてさらにwordpress専用の爆速APIのkusanagiというシステムが無料で簡単に使えるとの事で、ちょっと浮気心が沸いた。さくらのVPSも数年前の設定のままだし。
サーバーの安定度はさくらのほうがまだ少し上のような気もするが、何よりconohaは初期費用がないのと、日割り計算請求だから辞めたり再開したりしやすい。それと途中でアクセス数が増えたり減ったりした時に、同じ契約のまま簡単にプランを変更できる。
つまり何かでバズって大量アクセスが来たときに、一時的に上位プランに変更したり、更新しなくなって過疎った時は下位プランに戻せるというわけだ。
さくらの場合は上位プランに変更するときは、解約&再契約してサーバーごと引っ越さねばならない。この引越し作業がめんどいし、初期費用や日割りでもないのでいちいちコストがかかるわけだ。
そういったもろもろの事情を考えて、今回はconohaに引っ越し。とりあえず後で変更できるので1Gからにしました。
conohaのvpsの取得方法はむつかしくないので割愛します。
ConohaVPS取得後のサーバーの初期設定
やり方は→こちらの公式がなんだかんだ一番わかりやすかった。
conohaのvpsにコンソールでもターミナルでもログインした後は上記のリンク先のとおりに
1. 初期設定の開始
KUSANAGIコマンドによる初期設定を行う前に、まずCentOSやKUSANAGIシステムのアップデートを yum を利用して行います。
次のように入力し、アップデートを開始します。# yum --enablerepo=remi,remi-php56 update -yアップデートが完了したら以下の手順に従って初期設定を開始します。
次のように入力し、一度サーバを再起動します。Microsoft Azure の場合は、Microsoft Azure ポータルより仮想マシンの再起動を行います。
# reboot
一度接続が切れますので、再度ログインしてから root ユーザーへ切り替え、下記の手順へ進みます。
KUSANAGI仮想マシンにおけるLinuxやデータベースのユーザーパスワードの設定、変更を行います。
次のように入力し、設定を開始します。# kusanagi init [options]
〜こんな流れでリンク先の通りに進んでいけば良いだけ。長いので割愛。
wordpressマルチサイト引っ越しの注意点
俺が引っかかった注意点としては、マルチサイトの引っ越しの場合は上記リンクの9の
9. Webサーバの選択
起動するWebサーバをNGINX、httpd(Apache2) から選択します。
オプション –nginx を指定すると NGINX が、オプション –httpd を指定すると httpd(Apache2) が起動します。
オプション –nginx と –httpd を複数指定した場合、最初に指定したものが有効になります。# kusanagi init --nginxオプション –nginx もしくは –httpd を指定しない場合は、以下のように表示されますので、対話式に選択します。
KUSANAGI can choose middlewares. Please tell me your web server option. 1) NGINX(Default) 2) Apache Which you using?(1):1 もしくは 2 を入力し、起動するWebサーバを選択します。リターンのみ入力するとデフォルトの NGINX を選択します。
ここでngnixかApacheか選べるわけだが、シングルサイトのwordpressならnginxで問題ないと思うが、マルチサイトで運用している場合は、nginxに詳しい人でないならApacheを選んでおいた方が良い。
それはなぜなら、wordpress自体が.htaccessを使う事前提に設計されていて、マルチサイトの場合はこの.htaccessのリダイレクト関係で子サイトが非常にエラーになりやすい。
マルチサイト化したときの.htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
これをそのまま貼ってるのに404が出たりうまくいかない。よくある症状として、親サイトの移行は成功したが、子サイトの表示のCSSが崩れているとか、管理画面に入れずログインできないとか様々だ。
自分もこれで2日くらい苦しみました(笑)
そして途中で気づいたのだが、そもそもnginxだと.htaccsessは使えないのであった(笑)もちろんフォーラムにはnginxでのマルチサイトの説明はあるのだが → こちら
自分の場合はちょっと色々勉強する時間もないし、面倒くさいのでもうApacheにしちゃいました。たしかにngnixの方がApacheより大量アクセスにも強そうだし軽そうだけど、今回SSDだしkusanagiもあるので自分的には十分という事で。
nginxでいきたい方は参考までに
みたいな便利なサイトもあったので、やってみたい方は是非
※2017/0505追記————-
マルチサイトでのnginxについては[月刊kusanagi]よりこちらを見つけました。↓
nginxの設定をマルチサイト用に編集する
/etc/nginx/conf.d/<<プロファイル>>_ssl.conf と /etc/nginx/conf.d/<<プロファイル>>_http.conf の記述を一部編集し、サブドメインのアクセスを受け付けるようにします。
server_name FQDN; ↓ server_name .FQDN; ※FQDNの前に.(ドット)を加える ※元の設定によってはFQDNにwww.が追加されている場合があります
編集後、nginxを再起動します。
# kusanagi nginx
nginxの設定が正常に更新されれば作成されたサブドメインのネットワークサイトも接続可能となります。
詳しいリンクは → https://column.prime-strategy.co.jp/archives/column_1136
——-追記終わり
wordpressマルチサイト引っ越しの注意点2
kusanagiでプロビジョニングを進めていくと、5の
5. ホスト名の設定
作成するプロファイルで使用するホスト名(FQDN) を指定します。
オプション –fqdn ホスト名 を指定すると、ホスト名がWebサーバの設定ファイル、および /etc/hosts ファイルに設定されます。
オプション –fqdn を指定しない場合、次のように表示され対話的にホスト名(FQDN)を入力します。
Enter hostname(fqdn) for your website. ex) kusanagi.tokyo例 : www.example.com
※http://や末尾の/は不要です。ホスト名を入力すると次のように表示されるので、確認用として同じホスト名を再度入力します。
Re-type hostname(fqdn) for your website.
ホスト名を指定するとこがあるのだが、ここでドメインではなくIP(☓☓☓.☓☓☓.☓☓☓.☓☓☓)を指定してしまうと後々引っ越し先のwordpressマルチサイトにてサブディレクトリ式しか選択できなくなってしまう。なんでなのかはわからんが(笑)自分はここで結構つまづいたので、普通にドメインいれといた方が無難かと。自分はたまたまどっかのサイト見ながらIP入れちゃって元サイトがサブドメイン式だったから、結構時間を費やしてしまいました。
そして初期設定が終わったらいよいよマルチサイトwordpressの引っ越しですが、今回は後ほど書きますが、All-in-One WP Migrationという便利なプラグインを使っていきます。なので引っ越す前にまず
引っ越し先の新wordpressをマルチサイト化
これを先にやっとかないと、引っ越せませんのでお忘れなく。
マルチサイト化に関しては、たくさん情報ありますので参考までにこちら
一回間違ってマルチサイト化せずそのままアップしてしまって、結構な時間待ってやっと終わったと思ったらこんなメッセージ
Unable to import
Unable to import WordPress Network into WordPress Single site
「インポートできません
WordPress NetworkをWordPressのシングルサイトにインポートできません。」
という事になります(笑)
wordpressマルチサイトの引っ越し
2016年現在、wordpressの引っ越しは前述した便利なプラグインがあって、
というプラグインを使えばボタン二つくらいで簡単に、引っ越しができてしまう。昔みたいにいちいちサーバーやデータベースをイジらなくても良いのです。
新wordpress内からのFTPでのプラグインインストールに関しては、kusanagiの場合はwordpress管理画面のプラグイン新規インストール画面から
ホスト名「localhost」
FTPユーザー名 「kusanagi」
FTPパスワード kusanagiのパスワードを入力
でインストールできる。つまりサーバーでいちいちFTPの設定をしなくて良いわけだ。
新wordpressのプラグインにAll-in-One WP Migrationをインストールして有効化。
んでその後の流れは→ こちら
ただしこれは普通のwordpressの引っ越しの話で、俺はwordpressをマルチサイト化(一つのwordpressのドメインで複数のwordpressを量産できる)していて、マルチサイトの引越し情報は殆どなかった。
あっても少し古めの情報だったり、どのみちサーバーいじったりデータベースいじったりかなり手間がかかりそうで、時間かければやれなくもないのかも知れないが、失敗も嫌だしあまりに面倒くさそうなので、All-in-One WP Migrationの有料追加エクステンションの
というのを追加購入しました。おまけに今はトランプ政権の影響で、ドル円やたら上がってて1$=113円 約2万超えですわ(笑)
んでもやたらめんどいマルチサイト化したwordpressの引っ越しが、ボタン2〜3でサーバーもデータベースもいじらずできてしまうというのはあまりに魅力的だし、無料のファイル容量上限512MBもなくなるので、容量は2Gでも3Gでも気にしなくて良いし、バックアップとしても側ごと保存できるので非常に便利。引っ越しも復元もZIPファイルそのままドロップすればいいだけですからね。
今後も使える事を考えると決して高くはない・・・ハズ・・w
購入するとこういうメールが来る
Hello,
この度はAll in One WP Migration Multisite Extensionをお買い上げいただきまして、
誠にありがとうございます。 他のWordPressのプラグインと同じ要領で、
本プラグインをインストールしていただけますようお願い致します 。
また、インストール後には、All in One WP Migration と、All in One WP Migration Multisite Extensionの2つのプラグインを有効化してからご使用いただけますようお願い致します。
んでさっそく両方有効化して、旧wordpressをエクスポート。
ここで注意なのがエクスポート完了後にすぐCLOSEを押してしまわない事(笑)
俺はてっきりこの時点でもうどこかにダウンロード終わったのかと思い、ついCLOSEを押してしまった。そうするとまた最初からやり直しwww
この緑の枠をクリックして、ここからダウンロードというわけです。
そんな馬鹿な間違いする人はいないと思うが、一応念のため(笑)
そして新wordpressに先程エクスポートしたZIPファイルを、All in One WP Migration Multisite Extensionのページでインポートすれば引っ越しは終わりです。
それと、自分の場合はなぜかThemeファイルだけインポートできてなかったので、ThemeファイルだけFTPでそれぞれアップしなおしました。
長くなったので今回DNSに関してははしょります。
というわけで、エクスポート、インポート共にミスって無駄な時間がかかりましたが無事マルチサイトの引っ越しが完了いたしました。
引っ越ししたConohaVPS、Apache、kusanagi環境のサイト → 草の実堂
ちなみにここは子サイトの一つです。
コメント