WordPress ネットワークのデバッグ

WordPress ネットワークのデバッグ

このページに来たということは、恐らくWordPress ネットワークでエラーが表示されたのでしょう。WordPress ネットワークエラーは WordPress がデータベースのグローバルテーブルを見つけられない場合に発生します。

一部の共有サーバーでは、WordPress のネットワーク機能を使えません。ベストプラクティスとして ネットワークの作成に、使用するサーバーが技術要件を満たすことを確認してください。

ネットワークインストール直後の場合

wp-config.php ファイルで以下を確認してください。

  • データベース接続情報が正しいかどうか
  • SUBDOMAIN_INSTALL 定数
  • MULTISITE 定数
  • $base 変数
  • テーブル接頭辞

以下のコードの下には何も含めないこと

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

最後の行

require_once(ABSPATH . 'wp-settings.php');

より後にコードがあれば、「 編集が必要なのはここまでです ! 」のコメント行よりも上に移動してください。

Mod_rewrite が動作しない

メインのサイトは動作するが、追加した子のサブドメインサイトにアクセスすると 404 エラーが表示される場合、Ubuntu 10.04 LAMP apache2 インストールでは次の手順が必要です。

  sudo a2enmod rewrite
  sudo nano /etc/apache2/sites-avail/default

そして2箇所の ‘AllowOverride None’ を ‘AllowOverride all’ に変更し、次のコマンドで apache2 を再起動してください。

  /etc/init.d/apache2 restart

注意: 最新の Ubuntu であれば Apache などのサービスの再起動には以下のコマンドを使用してください。sudo を前につける必要があるかもしれません

  service apache2 restart

データベースの確認

以上がすべて正しい場合、データベース本体を調べて追加のネットワークテーブルがすべて作成されていることを確認してください。追加テーブルは以下のとおりです。

  • wp_blogs
  • wp_blog_versions
  • wp_registration_log
  • wp_signups
  • wp_site
  • wp_sitemeta

テーブルが存在する、あるいは手動で追加した場合、次に wp_site テーブル、wp_blogs テーブルのレコードを確認します。どちらか、あるいは両方が空の場合、次の SQL クエリを使用して、テーブルにサイトの情報を挿入する必要があります。注意: テーブル接頭辞、ドメイン名、ユーザー名、その他の箇所を環境に合わせて変更してください。

   INSERT INTO wp_site VALUES(1,'domain.com','/'); 
   # domain.com はサイトの完全ドメイン名で置換。/ はパスで置換
   
   INSERT INTO wp_blogs VALUES(1, 1, 'domain.com', '/', '2015-01-01', '2015-01-01', 1, 0, 0, 0, 0, 0);
   # domains.com と / はサイトのドメインとパスで置換。必要であれば日付を変更
   
   INSERT INTO wp_sitemeta VALUES(, 1, 'site_admins', 'a:1:{i:1;s:5:"admin";}');
   # 管理ユーザーを Super Admin として設定。"admin" はログインアカウントで置換 
   # "s:5" は "s:#" で置換。このとき # にはログインアカウントの文字数を入れる

突然、新規サイト追加ができなくなった場合

上述のデータベースを確認してください。データベースサーバーの場所が移動されていないかどうか、もう一度確認してください。移動されていた場合は、wp-config.php ファイルを更新してください。

その他のあまり知られていない問題

データベースユーザーに対し、すべての権限が与えられているかを確認してください。

.htaccess 命令が Apache ログにエラーを出力していないことを確認してください。たとえば

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden:

この場合、ネットワークのインストールは失敗し、次の WordPress エラーが表示されます。

One or more database tables are unavailable. The database may need to be repaired.

関連記事

外部リンク

原文

この記事は役に立ちましたか ? どうすればさらに改善できますか ?