データベースが1つだけのサーバーでWordPressを複数設置する方法

ロリポップのロリポプランは格安で独自ドメインを50個まで使えますが、MySQLが1個しか使えません。では、独自ドメインがたくさん使えるのにブログはひとつしか作れないのかというとそうではなく、データベースのMySQLが1個しか使えなくてもWordPressを複数設置する方法はあります。

WordPressはデータベースにMySQLを使っているので、基本的に1つのWordPressを設置するごとにMySQLがひとつ必要になります。

お断り:このブログはMySQLが無制限に使えるバリューサーバーのスタンダードプランを使っています。ロリポップではありません。

たとえば、ロリポップ!のロリポプランは格安でドメインを50個まで使えますが、MySQLが1個しか使えません。では、ドメインがたくさん使えるのにブログはひとつしか作れないのかというとそうではなく、データベースのMySQLが1個しか使えなくてもWordPressを複数設置する方法はあります。

ひとつはマルチサイトにしてしまうことです。WordPressのインストール後にもマルチサイトへの設定変更はできます。ただし、マルチサイトではベースとなるドメインはひとつしか使えません。

マルチサイトの構成例

サブディレクトリ方式
  • http://example.com/山本のブログ/ <- ここで1ブログ
  • http://example.com/田中のブログ/ <- ここで1ブログ
サブドメイン方式
  • http://山本.example.com<- これで1ブログ
  • http://田中.example.com<- これで1ブログ

この例の場合、サブディレクトリ方式にせよ、サブドメイン方式にせよ、使えるドメインはexample.comのひとつだけです。

そうではなく、完全に別ドメインの hoge.comfuga.net の2つのWordPressサイトをひとつのデータベースで作るには、wp-config.php の $table_prefix を変更すれば出来ます。また、そのやり方で上のマルチサイトと同じ構成にも出来ます。

このページでは、マルチサイトの設定方法は説明しませんが、複数のWordPressをひとつのデータベースで設置する方法をロリポップを例にして書きます。

完全な別ドメインのWordPressサイトをひとつのデータベースで作る

wp-config.php の $table_prefix を変更してインストールするには、ロリポップの「簡単インストール」は使えません。

手動でWordPressをインストールする必要がありますが、そのやり方はロリポップ公式サイトのマニュアル「WordPress(ワードプレス)の設置」に書いてあります。

基本は上記ページの手順にしたがって、手動でインストールすればいいだけです。この時に wp-config.php の $table_prefix を変更します。

追記:
ロリポップの「簡単インストール」マニュアルに「WordPress(ワードプレス)複数インストール」というページが増えています。マニュアルページには「テーブル接頭辞」の設定をする項目がないのですが、自動で「テーブル接頭辞」を変えてくれるのであれば、ひとつのデータベースでも複数インストール出来ると思います。もし、できないのであれば今ご覧のこのページの通りにすればできます。

ロリポップを例にした複数ブログインストール方法

以下、ロリポップのマニュアルが古い部分と追加する手順だけをピックアップして書きます。

データベース作成
これは、ロリポップのマニュアル通りに行ないます。
アーカイブの入手
これも、ロリポップのマニュアル通りですが、2015年5月5日時点のWordPress最新バージョンは4.2.1です。
ファイルのアップロード
これも、ロリポップのマニュアル通りに行ないますが、アクセスして欲しいページが http://example.com/wordpress/ ではなく http://example.com/ であるなら wordpressという名前のフォルダは作らないでいいです。

wordpressというフォルダを作らないので、アップロード先は /wordpress ではなく / (スラッシュのみ)になります。

ただ、トップディレクトリに色々たくさん置きたくないという場合は、/wordpress など(名前は何でもいい)のディレクトリを作ってそこにまとめ、アクセスだけ http://example.com/wordpress/ ではなく、 http://example.com/ にする設定方法もあり、このブログはそうしています。その方法は、次のページを参考にしてください。

WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版

インストール
インストールを次の通りに実行します。

Webブラウザで、自分のWordPressを設置したURLを開きます。
/ (スラッシュのみ)にアップロードしたなら http://example.com/ などの自分が公開するURLです。

するとブラウザで次のページが開きます。

WordPressのインストール画面

一番下の「さあ、始めましょう!」をクリック。

切り替わった次のページで、上記4つには自分が作成したデータベースの情報を入力します。

WordPressのインストール画面

そして最後の「テーブル接頭辞」をブログごとに書き替えます。

これは重複しなければ何でもいいのですが、たとえば http://hoge.com/ と http://fuga.net/ の2つのWordPressサイトを作りたいなら、 http://hoge.com/ の「テーブル接頭辞」を「hoge_」、 http://fuga.net/ の「テーブル接頭辞」を「fuga_」などとします。

データベース情報とテーブル接頭辞を入力したら、「送信」をクリック。

問題がなければ次の画面に変わります。

WordPressのインストール画面

「インストール実行」をクリック。

WordPressのインストール画面

「必要情報」を入力します。

この時のパスワードはデータベースのパスワードとは違う、WordPressにログインするためのパスワードを新たに作ります。パスワードを作る際はなるべく強力なものにします。

参考:gmailのパスワードは記号も使って複雑にした方がいいと思う話。WordPressもね

すべて入力が終わったら「WordPressをインストール」をクリック。

成功すれば次の画面に変わります。後は「ログイン」を押せばWordPressにログイン出来ます。

WordPressのインストール成功

その後、インストールしたファイルの「パーミッション変更」を忘れずに実行します。ロリポップの場合は次のとおりです。

./wp-config.php → 400
./wp-admin/install.php → 000

これでWordPressをひとつインストール出来ました。2つ目以降のインストールの際は、すでに済んでいる「データベース作成」と「アーカイブの入手」を飛ばし、「ファイルのアップロード」から始めます。そして「テーブル接頭辞」を違うものにしてインストールします。

インストールしたWordPressに、他のブログからデータをインポートする場合は、次のページを参考にしてください。

無料ブログからWordPressへデータを移動する手順

ちなみにですが、「テーブル接頭辞」を「hoge_」 と「fuga_」にして2つのWordPressをインストールした場合、MySQLの中では次のように、それぞれのブログ用に接頭辞で区別されたテーブルが作成されます。

mysql> show tables;
+-------------------------+
| Tables_in_wordpress     |
+-------------------------+
| fuga_commentmeta        |
| fuga_comments           |
| fuga_links              |
| fuga_options            |
| fuga_postmeta           |
| fuga_posts              |
| fuga_term_relationships |
| fuga_term_taxonomy      |
| fuga_terms              |
| fuga_usermeta           |
| fuga_users              |
| hoge_commentmeta        |
| hoge_comments           |
| hoge_links              |
| hoge_options            |
| hoge_postmeta           |
| hoge_posts              |
| hoge_term_relationships |
| hoge_term_taxonomy      |
| hoge_terms              |
| hoge_usermeta           |
| hoge_users              |
+-------------------------+
22 rows in set (0.00 sec)

参考:
wp-config.php の編集 – WordPress Codex 日本語版内の「$table_prefix : データベース・テーブル名の接頭辞