【PR】この記事には広告が含まれています。
手順の確認日:2026年10月6日(画面や仕様は、この日に公式のマニュアルで確かめました)
レンタルサーバーで1つ目のWordPressサイトが動いたら、2つ目、3つ目も同じサーバーで動かしたくなります。けれど「ファイルはどこに置くの?」「データベースは分けるの?」と、分からないことも出てきます。
この記事では、WordPress・Apache・cPanel の公式の説明をもとに、1つのサイトに何が必要で、サイトが増えるとどう分かれるのかを整理します。作業の手順は、続きの記事で説明します。
この記事でできるようになること
- 1つのサイトに必要な6つのものと、その役目が分かる。
- WordPress を複数置く公式の3つの方法を比べて、形を選べる。
- 同じ契約のサイトどうしの巻き込みを防ぐ分け方が分かる。
※手順は、公式のマニュアルと、このブログを動かしているサーバーでの作業の記録をもとにしています。サーバーの会社や契約によって、画面や名前がちがうことがあります。
作業の順番
- 1つのサイトに必要な6つのもの
- 1つのIPアドレスで、たくさんのドメインを受けるしくみ
- 複数のWordPressを置く3つの方法
- ドキュメントルートと .htaccess の届く範囲
- 同じ契約のサイトは、つながっている
- つまずきやすいところ
- ふりかえり
1つのサイトに必要な6つのもの
WordPress のサイトが1つ表示されるまでには、次の6つが関わっています。
| 必要なもの | 役目 | サイトが増えたとき |
|---|---|---|
| ドメイン | example.com のような、サイトの名前 | サイトの数だけ用意する |
| DNS | ドメイン名に対応する IP アドレス(サーバーの住所)などを調べるしくみ | ドメインごとに設定する |
| ドキュメントルート | そのドメインで公開するファイルを置くフォルダ | ドメインごとに分ける |
| データベースとユーザー | 記事や設定をしまう場所と、そこに入るための名前とパスワード | 分けるか、共有するかを選ぶ |
| wp-config.php | どのデータベースに、どのユーザーでつなぐかを書いた設定ファイル | WordPress ごとに1つ |
| SSL 証明書 | https で、やりとりを暗号化するためのもの | ドメインごとに用意する |
読む人がページを開くときは、おおまかに次の順で使われます。
- ブラウザが DNS で、example.com の IP アドレスを調べる。
- そのサーバーにつなぐ。https なら、そのドメインの SSL 証明書で暗号化する。
- サーバーは、ブラウザが伝えたドメイン名から、ドキュメントルートを選ぶ。
- WordPress が wp-config.php を読み、書かれたデータベースから記事を取り出して、ページを作る。
1つのIPアドレスで、たくさんのドメインを受けるしくみ
1つのサーバー(1つの IP アドレス)で、たくさんのドメインのサイトを動かすときに使われるのが、Web サーバーの「名前ベースのバーチャルホスト」というしくみです。
Apache の公式の説明では、このしくみのサーバーは、ブラウザが HTTP ヘッダー(通信の最初に送る情報)で伝えるホスト名をたよりに、返すサイトを決めます。だから、たくさんのサイトが同じ IP アドレスを共有できます。ドメインごとの設定には、少なくとも ServerName(どのドメインか)と DocumentRoot(ファイルを置くフォルダ)が必要です。
https では、暗号化を始める前にサイトを選ばなければなりません。Apache の FAQ によると、サーバーとブラウザが SNI というしくみに対応していれば、最初の SSL の要求にホスト名が入るので、正しいサイトを選べます。
cPanel(レンタルサーバーの管理画面のソフトの一つ)では、追加したドメイン(アドオンドメイン)は、どれも別々のバーチャルホストになります。管理画面でドメインを足せば、このしくみの上にサイトが1つ増えるわけです。
複数のWordPressを置く3つの方法
WordPress の公式の手引き「Installing Multiple WordPress Instances」は、WordPress を複数動かす形を、次の3つに分けています。
| 方法 | WordPress 本体 | データベース | 公式の説明のポイント |
|---|---|---|---|
| マルチサイト | 1つ | 1つ | 1つの WordPress の中に、サイトのネットワークを作る。かんたんそうだが、注意点と制限がある |
| 1つのデータベースを共有 | サイトの数だけ | 1つ | wp-config.php の $table_prefix(テーブル名の頭につける文字)をサイトごとに変えて見分ける |
| サイトごとに別のデータベース | サイトの数だけ | サイトの数だけ | 1つのサイトを入れるときと同じ手順で入れる |
3つ目の形では、wp-config.php の次の行を、サイトごとに書きかえます(公式の手引きの例)。
define('DB_NAME', 'wordpress'); // The name of the database
define('DB_USER', 'username'); // Your MySQL username
define('DB_PASSWORD', 'password'); // The user's password
define('DB_HOST', 'localhost' ); // The host of the database
2つ目の形でも、WordPress ごとに別の MySQL ユーザーを用意すると、より安全にできると公式の手引きは書いています。
ススの環境では
このブログを動かしているサーバーでは、1つの契約で、いくつものサイトを動かしています。データベースとデータベースのユーザーは、サイトごとに別々に作っています。データベースのパスワードはサーバーの中で作り、画面に出さないようにしています。
ドキュメントルートと .htaccess の届く範囲
cPanel では、追加したドメインは、ドメインごとのフォルダ(ドキュメントルート)に置かれます。このフォルダは public_html(公開用のフォルダ)の外には作れず、カラフルボックスのマニュアルでは、初期値が「/public_html/ドメイン名」です。
追加するときに「ドキュメントルートの共有」にチェックを入れると、新しいドメインは、もとのドメインと同じ中身を表示します。cPanel の説明では、この設定はあとで変えられません。サイトを分けるなら、チェックを外します。
気をつけたいのが .htaccess(フォルダごとに Web サーバーの設定を変えるファイル)です。Apache の説明では、.htaccess の設定は、置いたフォルダと、その中のすべてのフォルダに効きます。つまり public_html の .htaccess は、中にあるほかのドメインのフォルダにも効きます。カラフルボックスのマニュアルにも、PHP の版を変えても反映されないときは、public_html の .htaccess にある PHP の指定を消す、という案内があります。
同じ契約のサイトは、つながっている
WordPress の安全対策のページ(Hardening WordPress)は、同じサーバーのほかのサイトが破られると、自分のサイトまで破られるおそれがあると注意しています。
ホスティング向けの手引きは、できればサイトごとに別のユーザーで動かして、サイトどうしを切り離すようにすすめています。けれど、cPanel で追加したドメインは、どれも1つのアカウントのものです。同じアカウントのサイトは、この意味では切り離されていません。
そこで役に立つのが、データベースを分けることです。Hardening WordPress は、同じサーバーで複数のブログを動かすなら、データベースを分けて、それぞれ別のユーザーに管理させることを考えるとよいとしています。1つが破られても、ほかのブログを書きかえにくくする「封じ込め」の考え方で、最初のインストールのときにするのがよい、とも書いています。権限やバックアップは、サイトが増えたら見直すセキュリティで説明します。
つまずきやすいところ
- サイトを分けたいのに、「ドキュメントルートの共有」にチェックを入れたまま追加していませんか(あとで変えられません)。
- public_html の .htaccess を書きかえるとき、中のほかのドメインにも効くことを考えましたか。
- wp-config.php のデータベース名とユーザー名は、そのサイト用のものですか。
- 1つのデータベースを共有するなら、$table_prefix はサイトごとに違いますか。
- マルチサイトにする前に、公式の注意点と制限を読みましたか。
ふりかえり
1つのサーバーで複数の WordPress を動かすときは、1つの IP アドレスを、ドメイン名で見分けて使い分けています。サイトごとに、ドキュメントルート・wp-config.php・データベース・SSL 証明書が1組ずつあると考えると、全体がつかみやすくなります。同じ契約のサイトはつながっているので、データベースとユーザーは、最初からサイトごとに分けておきましょう。
確かめた公式マニュアル(2026年10月6日確認)
- WordPress.org「Installing Multiple WordPress Instances」
- WordPress.org「Hardening WordPress」
- WordPress.org(Make WordPress Hosting)「Security」
- Apache HTTP Server「Name-based Virtual Host Support」
- Apache HTTP Server「SSL/TLS Strong Encryption: FAQ」
- Apache HTTP Server「Apache HTTP Server Tutorial: .htaccess files」
- cPanel「Create a New Domain」
- cPanel「Guide to SSL」
- JPRS「用語辞典:DNS(ディーエヌエス)」
- カラフルボックス「独自ドメインの設定方法」
- カラフルボックス「PHPのバージョンを変更したが、phpinfoで反映されない」
