ワードプレスっ!!

WordPress必須のMySQLデータベースをエコノミープランで使う

ちょっとインチキ臭いやり方だけど、他に自由になるデータベース・サーバーを持っていれば、そちらを利用してWordPressを走らせる事ができる。
近頃のレンタルサーバーでは、phpが当たり前になってきているのでphp側から見ると、php-mysqlndあたりをインストールして置かなければ、MySQLデータベースへのアクセスが出来ないわけだが、幸甚いにして、Lolipopエコノミーでは、当然のことのように、インストールされている。

要は、データベースサーバーへのアクセス権限を与えないというだけの話である。

ぢゃあ、安価なエコノミープランを契約して、データベースは、他所のデータベースを使えばおk!と、そんな”ずる賢い”目論見を考えたあなたは、それはそれで、正論なのである。
ロリポップサーバーの性質上、契約毎に、自由にプラン変更が出来るので、サーバー側でいちいちアカウントをサーバー間で移動していたのでは、効率が悪い訳ですね。

実際に、スタンダードプランを契約しても、ロリポップサーバーのローカルマシンにMySQLデータベースがあるわけではなく、別のサーバーへの接続となるので、似たようなレイテンシであるなら、独自のDBサーバーを準備しても充分利用可能なのである。

独自のデータベースが準備できるとして、どこからの接続を許可したら良いかというのが、今回のテーマである。

DBサーバー側で許可すべき権限

MySQLやMariaDBを持っているなら、ユーザーアカウントを準備するわけだが、どのサーバーアドレスからのQuery要求を許可するかが問題である。
まあ、ここは、共有サーバーなのできめ細かい権限を作るのは難しいのだが、せめて、全世界から接続できるDBサーバーというのも危険極まりないので、ある程度のIPアドレス制限をしておく。

問題のアドレスなのだが、ユーザーアカウント情報をよく見ると、以下のようになっている。

これの何処を見ても、IPアドレスの記載がない大変不親切な設計になっているのだが、初期ドメインのみで運用する場合、自動的にアドレスが割り当てられるので問題ないのだろう。
ここで、初期ドメインをmydomain.mond.jpだったとすると、このIPアドレスを調べれば、Webアクセスの為のIPアドレスが得られる。まあ、ここまでは当然なのだが、ロリポップサーバー側では、初期ドメインと実際の物理サーバーとの間では、アドレスマッピングを実施しているので、自分が借りたサーバーが、外部に向かってアクセスを行う場合のアドレスとは、別のアドレスになる。

物理サーバーのIPアドレスは、上記の「FTPサーバー」か、「FTPSサーバー」に記載されたドメイン名で検索すると物理サーバーのIPアドレスがわかる。

# nslookup mydomain.mond.jp
Name:   mydomain.mond.jp
Address: 157.7.107.57

# nslookup ftp.mydomain.mond.jp
Name:   ftp.mydomain.mond.jp
Address: 157.7.105.192

# nslookup users***.lolipop.jp
users***.lolipop.jp     canonical name = users***.phy.lolipop.jp.
Name:   users***.phy.lolipop.jp
Address: 157.7.105.192  <--- これが物理サーバーアドレス

# nslookup mond-mydomain.webdav-lolipop.jp
Name:   mond-mydomain.webdav-lolipop.jp
Address: 157.7.107.2

Webサーバーは、おそらくnginxあたりが走行しているサーバーでこれが物理サーバーにマッピングしている。
WebDAVサーバーも別のサーバーで、このサーバーは、物理サーバーと同じストレージをマウントして共有。
この他にメールサーバーとDBサーバーがあるが、このサーバーも別の物理サーバーである。

以上のように合計、最低5つの物理サーバーが存在していると思われる。

話は少しそれたが、上記の例で調べた、users***.lolipop.jpのアドレスを調べれば、これが自分が借りている物理サーバーのIPアドレスである。
つまりこの物理サーバーのIPアドレスに対してアクセス許可を行えば良いワケ。