XSERVERにてWordPressのマルチサイト化 その2

タイトルが間違ってました。なので再度雑記をと。

マルチサイト化ですが、何度失敗したことか。

MovableTypeを使用していた時は、なんの疑問も持たず、マルチサイト化できていたので、心が何度折れたことか。

思うに、XSERVERのようにドメイン、サブドメイン単位でディレクトリーの構成が決まってしまうレンタルサーバーではマルチドメイン化は、普通にやると失敗してしまう。

さくらのレンタルサーバのようにディレクトリーの構成を自分で指定できるレンタルサーバーでは問題なくできてしまう。

私の場合、Wordpressをインストールするサブドメインともう一つのサブドメインでディレクトリーを個別に設定してしまい、撃沈されたわけですが。

まだ、初期状態の確認をしただけですので、このブログをそちらに引っ越ししながら、記録に残していけばいいかなと、のんびりと構えてます。

前提条件

XSERVERのような、ディレクトリを指定できないレンタルサーバーか、ディレクトリ構成を設定できるがすでに使用していて、移動が困難な場合を前提にしています。

また、SSHが利用でき、lnコマンドが使えることが最低条件になるかと思います。

嘘があったら、コメントでお知らせください。

WordPressをインストール

まずは、Wordpressをインストールするメインのドメイン(サブドメインでも)を決めます。

インストールは普通に行ってください。

設定ファイルの編集

WordPressの設定を変更しないと始まりません。『wp-config.php』ファイルを変更します。

define(‘WP_ALLOW_MULTISITE’, true);

WordPressに入りなおすと、『ツール』に『ネットワークの設定』なんていうメニューが追加されます。

ここで必ず『サブドメイン』を選択してインストールしてください。

最後に、『wp-config.php』と『.htaccess』ファイルを変更しなさいと表示されますので、変更してください。

サイトの追加

この辺りは、それぞれ適切な値を決めて作成してください。

プラグインのインストール

複数ドメインの運用にはプラグイン『WordPress MU Domain Mapping』を使います。サブドメインの場合にも必要なのかはよく調べていませんが、私がサブドメインを構築した際には、インストールしてマッピングしました。不要なのかもしれません。

いよいよ試してみる

Wordprssをインストールしたサイトは、問題なく表示されると思います。当然、管理画面も。

まず、追加したサイトの管理画面を見てみましょう。エラーで表示しませんね。当然です。とび先のリンクにWordpressが存在しませんから。追加したサイトもエラーで表示されません。

冷静にマルチサイト化の解説サイトをみる

サブドメインにインストールする解説で、いままで書いてきた内容が事細かにスクリーンショットも交えて解説されている。

がしかし、肝心なサイト(論理)と実体(物理)との組み合わせを解説してるところがないので、どうでもいいんだろうと思い込んでいた私がいます。

ある意味、共通化する

ここでは2つのサイトを使用していて、Wordpressをインストールしたサイトは問題がない。では、問題のあるサイトが問題のないサイトを内部(物理)的に参照できるようにします。

WordPressをインストールしたサイトの物理構造をそっくりもう一つのサイトで再現するだけです。ここからは、lnコマンドでシンボリックリンクを張るだけです。

今回は、『http://xxxxx.com/』にインストールしてしまったので、トップディレクトリーに配置したファイルはすべてシンボリックリンクを張り、残りのディレクトリーはディレクトリー単位でシンボリックリンクを張ります。

結果

再度、見れなかったサイトを見てみましょう。管理画面を含めて正常に表示できるはずです。

え?みれませんでしたか?

私と一緒に、勉強しながらチャレンジしてみましょう。

取り敢えず最後に

今回は、サイトのトップにインストールしたので、wpなどのサブディレクトリーに配置しても動作するのか試してみたいです。これには理由がありまして、上記にも書きましたが、ファイルを直接シンボリックリンクしているので、Wordpressのファイルが増減されると、アップデート後に手動で操作しなくちゃいけなくなりますからね。

サイトテーマの骨組みを作りながらので、のんびりになるかもしれません。

これだけでやりきった感がある私って何?

 

XSERVERにてWordPressのマルチドメイン化

いろいろなサイトを探してたのですがXSERVERではWordpressのマルチサイト化はできてもマルチドメイン化は無理だという記事ばかりです。

でぇ、さくらのレンタルサーバでできてXSERVERではできない理由を考えてみた。

そうか、サイトとディレクトリマッピングの差か。

できる構成

a.com -> /home/test/a
b.com -> /home/test/a

できない構成

a.com -> /home/test/a
b.com -> /home/test/b

確かにできない構成だとWordpressの本体にアクセスできないから動かないわけだ。

そうなんですよ。Wordpressのすべてをb.comが参照する/home/test/bにシンボリックリンクを張ってしまえば同じ状況じゃんと考えた私はあほだろうか?

こんな時間だし、一度のチャンスって感じで、プレゼントで頂いたドメインにサブドメインを追加してWordpressをインストール。

続いてマルチドメイン化。

マルチドメイン化のプラグイン導入とサブドメインの設定。

普通の解説ならここで終わってしまって、XSERVERでは404で終了!

数も少ないし、手動でシンボリックリンクをすべて張る、張る、張る。

お!サブドメイン側のダッシュボードが表示された!

同じ内容が出てないか確かめるのに、メインのドメイン側の記事を削除っと。両方のサイトを表示してみると、できるじゃん。Wordpressすげー。

ってさ、これだけ書いても、わかる人は限られますよね。なんでこんな単純なことを解説してくれるサイトがないんだろう。疑問だ。

近いうちにまとめて解説らしきものを記事にしてみようと心に誓った・・・つもり。最低限、備忘録的なものは書く予定です。

折角、XSERVERを使っているのに、サブドメイン単位でWordpressを運用している方にはすでに時遅しかもしれませんが。

本日、これまで。

引っ越し

なにかとメンテナンスが面倒な自宅サーバーをやめるべく、レンタルサーバー探しをしてました。

もう、何年も前からです。

取り敢えず移すなら、さくらのレンタルサーバでもよかったんだけど、メアドがドメインが違ってもユーザー名はユニークにしなくちゃいけないという制限があったもので、躊躇してました。

それに、ちょっとしたアクセスの増大ですぐにアクセス制限されちゃうので、複数ドメインの運用には向かないかなって。特にWordPressみたいに、常時PHPがHTMLを吐き出すものだと。

少し話を戻して、重い腰を上げる理由になったのが、LANケーブルの経年劣化です。自宅サーバーでは2つのドメインを運用していました。

外部からVPNで家庭内LANに入る口を開けていたのですが、流石に物理的に壊れたものは直せず。

一週間くらい吟味しました。レンタルサーバーを。マルチドメインでの運用になるので、管理しやすいところがいいなって。今運用しているサイトは1つを除いてWordPressになるので、サブドメインの数も入れたMySQLが必要になります。さらに言えば、さくらのレンタルサーバより速いこと。

そんで、結果として残ったのが、XSERVERです。X20のプランで契約したので、ディスクの容量もそう簡単にはなくならないでしょう。MySQLも70個まで使えるし、余裕綽々って感じ。

 

試用期間中に1サイトを無理やり引越ししました。ちょっと設定が復元できなくて焦ったけど、まあ、想定内だったのでよしと。

もう一個は、リニューアルしようかと思ったけど、風邪のため頭が働かず断念してそのままひっこしました。

どちらも、ドメインの管理はスタードメインです。そのせいなのかDNSをちょちょっと変更するとすぐに浸透してあっという間に引っ越し完了。

あとは、自宅サーバーの火を落とすだけ。XeonなCPUで格好よくサーバーライフを楽しんでいたんだけど、当分自宅サーバーに火が入ることはないでしょう。

 

XSERVERですが、X20以上の契約をするとドメインが1個、契約の更新料も含めて無料になるサービスを行っていたので、ありがたく頂きました。こっちは、なかなかDNSの設定が浸透せず焦りましたが、30分ほどで浸透しましたかね。

 

最後の問題は、このブログ自体ですね。記事を全然書かなくなったので、アクセス数もほぼなしに近い状態。なのでパーマリンク等も含めて、WordPressの仕様に合わせようかと計画中。もしかすると、ドメインそのものも変更するかもです。やってもいいんだけど、それやると、さくらのレンタルサーバが空っぽになっちゃうことかな。

まあ、新しいテーマができてから考えよう。

さくらのレンタルサーバ、価格据え置き容量アップ

何やら、さくらのレンタルサーバたんが、価格をそのままに容量をアップするようです。

  =================================================================
  プラン名             ディスク容量     ディスク容量
                                       増量前           増量後
  =================================================================
  ・さくらのレンタルサーバ
   ライト              500MB   →    1GB
  —————————————————————–
   スタンダード             3GB   →     10GB
   —————————————————————–
   プレミアム              10GB   →     40GB
   —————————————————————–
   ビジネス               20GB   →      80GB
  —————————————————————–
   ビジネスプロ             40GB   →     150GB
  —————————————————————–
  ・さくらのメールボックス         300MB   →       1GB
  =================================================================

ふむ、MovableTypeを使用しているから、ディスクが増えてもね、まだ3GBすら使い果たせるか。殆ど画像をアップしてないのが使用率の少なさに繋がっているんですけど。

容量アップより、個人的にはハードの増強を望みたいのだが。夜間、特に20時~24時までのレスポンスの悪さは心臓に悪い。

画像を沢山貼り付けるなら、使い勝手が良いのかもしれない。

自宅サーバーへ向けて

いよいよ、借りているさくらのレンタルサーバが再構築はダイナミックパブリッシングを使用しているから問題ないが、記事の投稿でもエラーが出る始末で、前に借りていたステップサーバを思い出してしまう。

確かにMobableTypeは重いけど、MySQLのマシンスペックが低いとかだけじゃないかと思う今日この頃。いろいろカスタマイズしてきたが、すればするほど酷くなるので、うんざり。

じゃあ、サーバーを自宅で構築すれば、いくら負荷が掛かろうが文句は言われないし、規制もない。

そんな訳で、自宅でサーバーを構築すべく、約20年ぶりくらいにUNIX(Linux)の勉強を始めた。

“自宅サーバーへ向けて” の続きを読む

この時間は鬼門か?

さくらのレンタルサーバに引っ越して、Internal Server Errorを見ることがなくなって安心してましたがとうとう出ちゃいました。

“この時間は鬼門か?” の続きを読む

完全復旧

え~と、MySQL4から5への移行で文字化けが存在しておりましたが、現行の最新データベースをエクスポートし、旧バックアップからコピペしました。

行ったテーブルは、`mt_comment`, `mt_entry`, `mt_trackback`の3テーブルのみです。他のテーブルで「~」や2バイト特殊文字を使っているものは無いだろうと判断して行いました。

これ以上は、面倒なのでやりません。

なので、ここ20分間の間にコメント、トラックバックがあっても消えて無くなってます<m(__)m>

いや、この3テーブルの構造が変わってなかったので楽だったですが、そうじゃなかったら、全面降伏ですね(´∀`*)ウフフ

次回からは、メジャーアップもそうですがマイナーアップ時も、不具合?が無いか確認してから行うようにしたいと思います。

本音を言うとバッチを作れば済むかなって思ったのですが、さすがに2倍と特殊文字だけはどうにもならない。それに「?」て文字がそのものの意味を持つ場合もあるので、最初は一件、一件書き換えていたのですが、「これ、何が化けたのかな?」って数日前のログを見ながら変えていって、「ん?追加された部分以外を数日前のログから取り出してマージし、テーブルの中身を殻にした状態にすれば、バッチじゃんと思い、せこせことさぎょうしました。

まあ、相方には、チョコレートを狩って来いと言われながらも、早くすっきりしたかったの、黙々と作業。ゴメンネ相方ちゃん。でもね、手作業で嫌になったのは、貴方のブログの修正しなければならないコメント数が多すぎるからだよ。まあ、これで吹っ切ってSQL分のマージを行ったんですけど。

そうそう、さくらのインポートで受けられるテキストファイルがの最大が8,192KB なので、バックアップはいいけど、一発でインポート作業が出来なくなるのが面倒だな。8,192KBに収まるようにバックアップしたファイルを分割しなければならないんだよな。

エクスポート/インポートは、phpMyAdminじゃなくMovebleTypeのバックアップ/復元の方がいいのかな。どっちが正しいか、わからないや。

あと、ログファイルをみていて、前に使っていレンタルサーバー時代の残骸と、テスト的に作ったブログの残骸など、このレコード必要?ってのが一杯。かといって、勝手に削除して不具合起きたらやだからから、そのままにしてありますけどね。

誰か、不要と思われるレコードの抽出、ユーサーによる判断、削除な~んていうユーティリティを作ってくれないものだろうか。MySQLともいえども不要なテーブルやレコードが無くなれば、パフォーマンスに影響が出ると思うんだけどな。

ってことで、バージョンアップの際は、バックアップを取りMovableTypeをインストールし、ujis_japanese_ciになっておりフィールドをutf8_general_ciへしてからインポートすると幸せになります。

教訓その2:仕事じゃなくても事前に問題が無い事を確認する。

追伸:2009/03/30 肝心な事を忘れてました。mt-comments.cgiに「SQLSetNames 1」を入れないと文字化けが直らないかもしれません。失礼しました^^;

これらの修正はどの様な環境でも適用できるものではないと思いますので、要所要所で確認しながら行ってください。また、失敗したからと言って、私は何の責任も終えない事を最後に記します。

レスポンスが遅い

記事数の関係もあるだろうが、やっぱり重い。ステッ○・サーバは、再構築中にプロセスKillしたりするサーバーだったので、さくらに変えてから特に最近重い意外、ほとんど不満は無い。

いろいろ高速化の方法を検索しているのだが、PHP化WordPressに移行以外に解決策が見つからない。

1日に数千のスパムトラックバックがあるんだけど、これも重さに貢献しているのかな。

一応、Not Japanese Lookup plugin-version 1.00っていう日本語を含まないトラックバックをスパムとみなすプラグインなんだけど、結局スパムトラックバックとしてDBに書き込まれるには変わりない。

まっちく、こんな弱小個人ブログにスパムなんて、やるだけ無駄だと思うんだけど。

トラックバックが来たかどうかもわからなくて良いので、どなたかこれってプラグインがありましたら、コメントください。

やっぱり、PHP化かな・・・WordPressか・・・

キャッシュの設定してみたけど、あまり効果がないな。

ん~、いろいろ情報を集めてみると、さくらのDBってあまり性能が良くないらしい。

ここ1,2ヶ月でMySQL 5へ移行できるので、これって新規にサーバーを用意したのかな。

レンタルしてるサーバーも、今時Pentium M processor 2.00GHzってどうだろう。これに108人も同居してるんだよな。

特に夕方位から、だんだんと重たくなり、20時から24時にかけてピークをむかえている模様。

まあ、そんなこともあり、私のCPUリソース使用時間は1日1時間30分前後です。

PHP化してもDBが遅ければ効果がない訳で、逆に新MySQLのスペックがアップしていれば、今のままでも、そこそこのスピードになると思うんだけど。

暇だし、WordPressをインストールしてみて、検討してみようかな。

追伸:私のサーバーのOSバージョンアップが3月27日に決まりました。MySQL 4から5への移行が面倒だな。だって、一度バックアップを取り、5へ切り替えてリストアですよ。やっぱり、面倒だ。