• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

ネットワークの作成

提供: WordPress Codex 日本語版
2011年12月9日 (金) 19:13時点におけるBono (トーク | 投稿記録)による版 (最新に更新。要翻訳)

移動先: 案内検索

このページ「ネットワークの作成」は 情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。最新に更新してくださる協力者を求めています

このページ「ネットワークの作成」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

  • 画面表示やボタン名などが英語版のままになっている箇所があります。WordPress日本語版の画面表示が分かる人は書き換えてください。

情報募集中 次の情報を求めています。 協力できることがあれば、該当部分を編集するか、このページのノートまたはフォーラム等で教えてください。

WordPress 3.0以降、サイトのネットワーク(マルチサイト、複数サイト)を作成できるようになりました。このページでは、ネットワークの作成手順を説明します。It is very similar to creating your own personal version of wordpress.com. By creating a multisite, you are making a virtual network of sites - there will be no directories created for each site, just ones in the blogs.dir folder for media uploads specific to each site.

(注) WordPress MUを使っている場合、この手順を実行する必要はありません。ネットワークは既に有効になっています。Once you upgrade to the 3.x branch, you will be prompted to update your .htaccess rules for MultiSite.

(注) Upgraded and can't find the Network Admin menu?

始める前に

Admin Requirements

If you want to run a network of sites you should at least have a basic understanding of WordPress development, PHP, HTML and CSS, as well as UNIX/Linux administration.

Setting up and running a multi-site installation is more complex than a single-site install. Reading this page should help you to decide if you really need a multi-site install, and what might be involved with creating one. Be sure to test things on a development site first, rather than your live site.

サーバ要件

この機能には特別なサーバ設定や技術的な能力が必要です。自分のホスティングサービス(レンタルサーバ)がこの機能に対応しているかどうか十分確認してください。It is not recommended to try this on shared hosting.

手順4: ネットワークの作成の中で、サブドメインとサブディレクトリのどちらかを選びます。これは、ネットワークに追加していく各サイトを、新たな仮想サブドメインとして作成するかサブディレクトリとして作成するか、ということです。

  • サブドメイン -- site1.example.comsite2.example.com のような構成
  • サブディレクトリ -- example.com/site1example.com/site2 のような構成

It is also possible later, through use of a plugin such as WordPress MU Domain Mapping, to map individual sites to independent domain names.

サブドメイン型サイト
ワイルドカードサブドメインを用いて動作します。Apacheでこれを有効にし、DNSレコードにワイルドカードサブドメインを追加する必要があります。(設定方法は手順2を参照のこと)
サーバ側でワイルドカード設定済みのホストであれば、自分で行なうのはDNSレコードの追加のみです。
共有サーバは対応していないかもしれません。この機能を有効にする前に、自分のウェブホストを確認してください。
(参考) レンタルサーバ情報/マルチサイト対応
サブディレクトリ型サイト
.htaccess ファイルを読み込めるサーバの mod_rewrite 機能を用いて動作します。
既にサイトでprettyパーマリンクを使っているなら、サブディレクトリ型サイトも上手く動くでしょう。
To really check if mod_rewrite is running, create 'nano /var/www/test.php' and inside that file put '<?php phpinfo(); ?>' then go to your web browser and try loading test.php and search for mod_rewrite in the loaded apache modules.
If not loaded, then use command from cli 'sudo a2enmod rewrite'; 'sudo nano /etc/apache2/sites-enabled/000-default' changing the Allow None to Allow All under the /var/www sections (2 places) and 'sudo /etc/init.d/apache2 restart' Otherwise you won't get sub sites to show up. The above is under Ubuntu server 10.04 with LAMP, other distros will likely be similar (Centos 6.0 also does not have set under default).

WordPressの設定による制約

  • WordPressファイルを専用ディレクトリに配置する設定」をしている場合、ネットワーク機能が正常に動作しません。If you wish to install WordPress in a folder AND have that folder name it will work. Domain mapping, however, will not work.
  • If you have www in the settings for your domain url, and plan to use subdomains for multisite, make sure that both the site address and the WordPress address are the same. If you plan on changing them to domain.com or www.domain.com, do so before you begin the rest of the setup for MultiSite, as changing the domain name after the fact is more complicated.
  • 次の場合には「ネットワークの作成」を実行できません
    • 「WordPress のアドレス(URL)」と「サイトのアドレス(URL) 」が異なるとき
    • 「WordPress のアドレス(URL)」に「:80」「:443」以外のポート番号が付いているとき
  • 次の場合にはサブドメイン型インストールを選べません
    • WordPressがディレクトリの中に設置されている(ドキュメントルートにない)とき
    • 「WordPress のアドレス(URL)」が「localhost」のとき
    • 「WordPress のアドレス(URL)」が「127.0.0.1」などのIPアドレスであるとき
  • 次の場合にはサブディレクトリ型インストールを選べません
    • WordPressを設置してから1ヶ月以上経っている場合。既存のパーマリンク構造に問題が生じるため。(この問題は今後のバージョンで修正される見込みです。See Switching between subdomains and subfolders for more information.)

(正確な条件は wp-admin/network.php を参照のこと)

手順1: WordPressのバックアップ

ネットワークの作成時にWordPressが更新されます。事前にデータベースとファイルのバックアップを取得してください。

手順2: ワイルドカードサブドメインの設定

(サブディレクトリ型インストールを選ぶ場合はこの手順を飛ばして次へ

サブドメイン型サイトはワイルドカードサブドメインを用いて動作します。これには二段階の手続きが必要です。

  1. Apache must be configured to accept wildcards.
    1. Open up the httpd.conf file or the include file containing the VHOST entry for your web account.
    2. Add this line:
      ServerAlias *.example.com
  2. In the DNS records on your server, add a wildcard subdomain that points to the main installation. It should look like:
    A *.example.com

外部リンク:

Specific Configurations

Due to the fact that every host is configured differently, the following 'per site' directions are not exhaustive. In all cases, if you cannot determine how to set up wildcard subdomains, contact your webhost for directions.

CPanel

Make a sub-domain named "*" (wildcard) at your CPanel (*.example.com). Make sure to point this at the same folder location where your wp-config.php file is located.

Plesk

There are several steps that differ when setting up the server for wildcard subdomains on a server using Plesk Panel compared to a server using cPanel (or no control panel). This article Configuring Wildcard Subdomains for multi site under Plesk Control Panel? details all the steps involved.

DirectAdmin panel

Click "User Panel" -> DNS Management -> add the following three entries using the three columns:
* A xxx.xx.xx.xxx
(Replace "xxx.xx.xx.xxx" with your website IP.) Click "Admin Panel" (If you have no "admin panel" ask your host to do this.) -> Custom Httpd -> yourdomain.com -> In the text input area, just paste and "save" precisely the following:
ServerAlias *.|DOMAIN|
(If you ever need to un-do a custom Httpd: return here, delete text from input area, save.)


Amazon Web Services

AWS instances are not assigned a permanent IP address by default. This means that a "server's" IP address may change when it is rebooted. To resolve this issue, assign an Elastic IP Address to your server instance and use that IP address when configuring the A record with your registrar.

AWS Elastic Load Balancers cannot be assigned an elastic IP, therefore you must use a CName to give them a friendly URL. You cannot have a CName to a root URL. Therefore you must point the domain root (example.com) at a specific server instance with an Elastic IP address and create a wildcard CName (*.example.com) and point that at your Elastic Load Balancer. In your .htaccess, then just redirect all domain root traffic (example.com) to a specific sub-domain (www.example.com).

Notes:

  • Some registrars do not currently support wildcard CNames.
  • Amazon's Route53 Domain Name Service eliminates the CName issue, but at an additional cost.

手順3: マルチサイトの許可

管理パネルでネットワークメニューを使えるようにするには、まず始めに、wp-config.php ファイルにマルチサイト(multisite)を定義する必要があります。

wp-config.php ファイルを開き、/* That's all, stop editing! Happy blogging. */ よりも上に次の行を追加します。

define ('WP_ALLOW_MULTISITE', true);

すると、ツールメニューの中に「Network Setup」リンクが現れます。

手順4: ネットワークのインストール

Administration > Tools > Network Setup に行き、「Create a Network of WordPress Sites」画面でネットワークについての下記の設定をした後、環境設定ファイルを作成します。

(注) 作成前に、全てのプラグインを無効化する必要があります。
Warning: Please deactivate your plugins before enabling the Network feature.」と表示されたら一旦プラグインを無効化し、ネットワークを作成した後に再び有効化してください。

Tools Network Screen
(画像を英語版Codexで見る)
ネットワーク内サイトのアドレス
ここでは、サブドメインかサブディレクトリかを選べます(上述の条件に当てはまらない場合)。これは、ネットワークに追加していく各サイトを、新たな仮想サブドメインとして作成するかサブディレクトリとして作成するか、ということです。この設定は、一度選択したら再インストールしない限り変更できません始める前にも参照のこと。
  • Sub-domains -- site1.example.comsite2.example.com のような構成
  • Sub-directories -- example.com/site1example.com/site2 のような構成
ネットワーク詳細
ここは自動的に入力されます。値を見直し、変えたい箇所があれば直します。下の2項目はネットワーク作成後に変更することもできます。
Server Address
(サーバアドレス)
ネットワークのURLが表示されます。合っているか確認しましょう。
(ネットワーク名)
ネットワークの呼び名
Admin E-mail Address
(管理電子メールアドレス)
あなたの電子メールアドレス

正しいことを再確認したら「Install」ボタンをクリックします。

ワイルドカードサブドメインについての警告が出るかもしれません。ワイルドカードサブドメインの設定を見直しましょう。

Warning! Wildcard DNS may not be configured correctly!

The installer attempted to contact a random hostname (13cc09.example.com) on your domain. This resulted in an error message: name lookup timed out

To use a subdomain configuration, you must have a wildcard entry in your DNS. This usually means adding a * hostname record pointing at your web server in your DNS configuration tool.

You can still use your site but any subdomain you create may not be accessible. If you know your DNS is correct, ignore this message.

(訳注: 参考として意訳を載せておきます。WP日本語版のメッセージが分かる人は差し替えてください。
インストーラが、あなたのドメイン上の無作為に選んだホスト名(13cc09.example.com)に接続しようとしましたが、「name lookup timed out」というエラーメッセージが返ってきました。サブドメイン設定を使うには、DNSにワイルドカードエントリ(a wildcard entry)が必要です。通常は、DNS設定ツールで自分のウェブサーバを指す * ホスト名レコードを追加するということです。サイトは利用できるけれど、作成するサブドメインにアクセスできないのかもしれません。DNSが正しいと分かっているなら、このメッセージは無視してください。)

手順5: ネットワークの有効化

インストールボタンを押すと、次の画面「Enabling the Network」に進みます。ネットワーク作成機能を有効にするには、次の作業を行なってください。

0. まず初めに、現在の wp-config.php ファイルと .htaccess ファイルをバックアップします。
1. wp-content/ ディレクトリの下に blogs.dir というディレクトリを作成します。
このディレクトリは追加するサイトのアップロードメディアの格納に使うので、通常のアップロードディレクトリと同様に、WordPressがファイルを書き込めるようパーミッションを変更してください。 They should be CHOWNed and CHMODed the same as your wp-content directory.(訳注: wp-content ディレクトリと同様に所有者とパーミッションを変更すべきです?)
2. 画面に表示されたコードを wp-config.php ファイルに追加します。

After you click "Install" in step 4 above (Installing a Network) then a new screen will appear, giving instructions to add lines to your wp-config.php and .htaccess files.

あなたの環境に合わせたコードが生成されます。
管理パネルにログインしたまま wp-config.php ファイルを編集してください。
コードは /* That's all, stop editing! Happy blogging. */真上に挿入します。
3. 生成された mod_rewrite ルールを .htaccess ファイルに追加します。WordPressの既存のmod_rewriteルールがある場合は置き換えます。
(ファイルが存在しないときは作成してください)
あなたの環境に合わせたコードが生成されます。
4. ログインし直す。
以上の作業を行ない、作成した wp-config.php.htaccess ファイルをサーバにアップロードすると、ネットワークが有効となり設定が完了します。管理パネルを再読み込みするため、「Log In」ボタンをクリックしてログインし直してください。ログインのし直しで問題が起きたら、ブラウザのキャッシュとCookieを消去してみてください。

手順6: ネットワーク管理設定

Network Admin

ログインし直すと、新たに「特権管理者」というメニュー項目が現れます。このメニューにはネットワークへのサイトの追加や管理機能が入っています。大元のWordPressはネットワークの主サイトとなります。

Network Admin

3.0で新たに特権管理者メニューができましたが、3.1以降ではネットワーク管理用のメニューが通常メニューから独立しました。管理画面の右上にあるあなたの名前をクリックすると「ネットワーク管理」というリンクがあります。

Go to the Settings Screen to configure network options, and the Sites Screen to manage your sites.

? Upgraded and can't find the Network Admin menu?


知っておくべきこと

サイトネットワークの管理について、さらに知っておくべきことがあります。

User Access

By design, all users who are added to your network will have subscriber access to all sites on your network. To allocate a different default role for users on individual sites, you must use a plugin, such as Multisite User Management.

The capabilities of the site administrator role are also reduced in a WordPress Network. Site admins cannot install new themes or plugins and cannot edit the profiles of users on their site. Only the Network Admin (aka Super Admin) has the ability to perform these tasks in a WordPress network.

パーマリンク

While permalinks will continue to work, the main site (i.e. the first one created) will have an extra entry of blog, making your URLs appear like domain.com/blog/YYYY/MM/POSTNAME.

This is by design, in order to prevent collisions with SubFolder installs. Currently there is no easy way to change it, as doing so prevents WordPress from auto-detecting collisions between your main site and any subsites. This will be addressed, and customizable, in a future version of WordPress.

Also note that the blog prefix is not used for static pages which will be accessible directly under the base address, e.g. domain.com/PAGENAME. If you try to create a static page in the first site with the name of another existing site on the network, the page's permalink will get a suffix (e.g. domain.com/PAGENAME-2). If you create a new site with the slug of an existing static page, the static page will not be reachable anymore. To prevent this, you can add the names of your static pages to the blacklist so that no site with that name can be created.

WordPressプラグイン

WordPress Plugins now have additional flexibility, depending upon their implementation across the network.
  • Site Specific Plugins: WordPress Plugins to be activated or deactivated by an individual site admin are stored in the plugins directory. You need to enable the Plugins page for individual site administrators from the Network Admin's Settings -> Network Settings menu. Specific site administrators can then toggle optional plugin activation.
  • Network Plugins: WordPress Plugins that are also stored in the plugins directory can be activated across the entire network by the super admin. Once 'Network Activated' plugins will become active in all sites. 'Network Activated' plugins are hidden entirely from per-site plugin lists.
  • Must-Use Plugins: Plugins to be used by all sites on the entire network may also be installed in the mu-plugins directory as single files, or a file to include a subfolder. Any files within a folder will not be read. These files are not activated or deactivated; if they exist, they are used. These plugins are hidden entirely from per-site plugin lists.

カテゴリーとタグ

Global terms are disabled in WordPress 3.0 by default. You can use the Sitewide Tags WordPress Plugin or other similar Plugins to incorporate global tags on the portal/front page of the site or on specific pages or sites within the network to increase navigation based upon micro-categorized content.

サブドメイン型とサブフォルダ型の切り替え

If you have had WordPress installed for longer than a month and are attempting to activate the network, you will be told to use Sub-domain sites. This is in order to ensure you don't have conflicts between pages (i.e. example.com/pagename ) and sites (i.e. example.com/sitename ). If you are confident you will not have this issue, then you can change this after you finish the initial setup.

In your wp-config.php file, you'll want to change the define call for SUBDOMAIN_INSTALL:

Use SubDomains
define( 'SUBDOMAIN_INSTALL', true );
Use SubFolders
define( 'SUBDOMAIN_INSTALL', false );

You'll also have to change your .htaccess to the new setup. Be aware, you may have issues if you attempt this after being on one setup or the other for any length of time, so proceed with caution.

Note that per the Settings Requirements you cannot switch from Sub-folder to Sub-domain when running on 127.0.0.1 or localhost. This can potentially cause an endless loop of reauth=1 on your root site due to cookie handling.

Apache Virtual Hosts と Mod Rewrite

To enable mod_rewrite to work within an Apache Virtual host you may need to set some options on the DocumentRoot.

<VirtualHost *:80>
  DocumentRoot /var/www/vhosts/wordpress
  <Directory /var/www/vhosts/wordpress>
    AllowOverride Fileinfo Options
  </Directory>

.htaccess と Mod Rewrite

Unlike Single Site WordPress, which can work with "ugly" Permalinks and thus does not need Mod Rewrite, MultiSite requires its use to format URLs for your subsites. This necessitates the use of an .htaccess file, the format of which will be slightly different if you're using SubFolders or SubDomains. The examples below are the standard .htaccess entries for WordPress SubFolders and SubDomains, when WordPress is installed in the root folder of your website. If you have WordPress in it's own folder, you will need to change the value for RewriteBase appropriately.

As a reminder, these are EXAMPLES and work in most, but not all, installs.

SubFolder Example

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

SubDomain Example

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
# END WordPress

Issues with old WPMU installs

If you installed Wordpress MU in subfolder/subdirectory (not in root folder on your server via ftp) and you have problem with image library, where thumbnails and images do not show, you may need to manually add in rewrite rules for your file directories as follows:

RewriteRule ^([_0-9a-zA-Z-]+/)?siteN/files/(.+) wp-content/blogs.dir/N/files/$2 [L]

Put those below the normal call for uploaded files.

Network Admin Link Location

The Network Admin Link has moved with each major release of WordPress, as this is still a work in progress. Depending on which version of WordPress you are using, the link can be found in the following locations:

  • 3.0 - A menu called Super Admin
  • 3.1 - On the admin header by "Howdy, YOURNAME."
  • 3.2 - On the admin header, as a drop-down under "Howdy, YOURNAME."
  • 3.3 - On the admin bar, as a drop-down under your "My Sites"

Importing into WordPress Network

When you've created your WordPress Network for importing other sites, you need to look at the Migrating Multiple Blogs into WordPress Multisite article.

関連ページ

外部リンク

最新英語版: WordPress Codex » Create A Network最新版との差分

警告: 既定のソートキー「ねつとわあくのさくせい」が、その前に書かれている既定のソートキー「かんりかめん」を上書きしています。