wp-config.php

タグ



Wordpress をインストールする際に wp-config.php を編集しアップロードします。
インストーラーから wp-config.php を作成することもできますが、セキュリティを高めるため、自分で作成したほうが安全です。
必須項目から上級者向け設定・セキュリティ強化用の例をあげてみました。

必須項目

必ず設定しなくてはならない項目です。データベース情報を誤って入力するとインストールできません。

データベース情報入力

PHP:
  1. // ** MySQL settings - You can get this info from your web host ** //
  2. /** The name of the database for <a href="http://wordpress.org/" title="Visit WordPress">WordPress</a> */
  3. define('DB_NAME', 'データベース名');
  4. /** MySQL database username */
  5. define('DB_USER', 'データベースのユーザ名');
  6. /** MySQL database password */
  7. define('DB_PASSWORD', 'データベースのパスワード');
  8. /** MySQL hostname */
  9. define('DB_HOST', 'localhost');
  10. /** Database Charset to use in creating database tables. */
  11. define('DB_CHARSET', 'utf8');
  12. /** The Database Collate type. Don't change this if in doubt. */
  13. define('DB_COLLATE', '');

MySQL 代替ポート

localhost の代替ポートを使用している場合

PHP:
  1. define('DB_HOST', 'localhost:3307');

データベース/キャラクタセット

文字化けに悩まないためにもエンコードを指定します。

PHP:
  1. define('DB_CHARSET', 'utf8');

セキュリティ キー

PHP:
  1. define('AUTH_KEY', 'put your unique phrase here');
  2. define('SECURE_AUTH_KEY', 'put your unique phrase here');
  3. define('LOGGED_IN_KEY', 'put your unique phrase here');
  4. define('NONCE_KEY', 'put your unique phrase here');

セキュリティキーのオンライン ジェネレーターにアクセスしてランダムに表示されたキーをコピーペースト(上書き)します。

言語および言語ディレクトリ

wp-content/languages またはwp-includes/languages 言語翻訳ファイル(.mo)の名前を定義します。(日本語版は"ja"です)

PHP:
  1. define('WPLANG', 'ja');

データベース・テーブル名の接頭辞

値には半角英数字・最後に必ずアンダースコア(_)を付けます。セキュリティ強化のためデフォルトの"wp_"を任意のものに書き換えます。例:"rg559_"

PHP:
  1. $table_prefix  = 'gw526_';

オプション

管理画面はSSL だけで行う

管理画面はSSL(thhps://)だけで行う。http://でアクセスしてもリダイレクトされます。

PHP:
  1. define('FORCE_SSL_ADMIN', true);

データベース/照合順序

ほとんどの場合、データベース照合順序は、データベース・キャラクタセット(DB_CHARSET)に基づいて MySQL によって自動的に割り当てられるので、この値はブランク(null)のままでいいはずです。

PHP:
  1. define('DB_COLLATE', 'utf8_general_ci');

via: MySQL :: MySQL 5.1 リファレンスマニュアル :: 9.10.1 Unicode キャラクタセット

WordPress アドレス (URL)

WordPress アドレス (URL)」を定義できるオプションです。
WordPress のコアファイルが存在する URL を入力します。http:// の部分は含め、末尾にスラッシュ "/" は入れません。ここで定義すると 
管理パネル > 設定 > 一般設定画面の「WordPress アドレス (URL)」欄は無効となります。
注:インストール後にこの定義を削除しても、URL は元のデータベースの値に戻りますが、データベースの値は変わりません。よく分からない場合はここで定義しないで管理パネル > 設定 > 一般設定画面から設定してください。

PHP:
  1. define('WP_SITEURL', 'http://www.example.com/wordpress');

ブログアドレス (URL)

WP_SITEURL と同じくここで定義すると
管理パネル > 設定 > 一般設定画面の「ブログ アドレス (URL)」より優先されます。
恒久的(永遠に)変更する訳ではなく、ここに定義している間だけ切り替えるときに定義します。
ブログに訪れる人がブラウザに入力するアドレス(URL)を入力します。

PHP:
  1. define('WP_HOME', 'http://www.example.com/wordpress');

ブログのアドレス (URL)を、ルートディレクトリの URL に変更する場合 (*1)

PHP:
  1. define('WP_HOME', 'http://www.example.com');

自動保存間隔の変更

投稿を編集する際、WordPress は Ajax を使って編集中の状態を自動保存します。自動保存の間隔を延ばすにはこの値を増やし、編集を確実に保存するにはこの値を減らします。初期値は 60秒です。

PHP:
  1. define('AUTOSAVE_INTERVAL', 160 )// seconds

投稿の改訂履歴保存を無効にする

投稿の改訂履歴保存(変更前のコピーを保存し、簡単に編集を元に戻したり差分表示できる)機能を無効にできます。

PHP:
  1. define('WP_POST_REVISIONS', false );

改訂の保存版数の最大値を指定する

PHP:
  1. define('WP_POST_REVISIONS', 3);

デバックの表示・非表示

PHP:
  1. define('WP_DEBUG', true);
  2. define('WP_DEBUG', false);

エラーログの設定

PHP:
  1. @ini_set('log_errors','On');
  2. @ini_set('display_errors','Off');
  3. @ini_set('error_log','/home/example.com/logs/php_error.log');
  4. /* That's all, stop editing! Happy blogging. */

PHP への割り当てメモリを増やす

例:メモリリミットを 64M にする場合

PHP:
  1. define('WP_MEMORY_LIMIT', '64M');

キャッシュを有効にする

PHP:
  1. define('WP_CACHE', true);

上級編

wp-content ディレクトリの移動

wp-content ディレクトリをWordPress アプリケーションディレクトリの外に移動します。
例:Wordpress コアファイルを"http://example/wordpress/"にアップロードし、"wp-content"ディレクトリを"http://example/blog/"以下に移動する場合

PHP:
  1. define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );

wp-content アドレス(URL)

PHP:
  1. define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');

デフォルトのファイルパーミッションをオーバーライド する

FS_CHMOD_DIR および FS_CHMOD_FILE はデフォルトのファイルパーミッションを上書き再定義できる文です。この2つの定数は、suEXEC で動作するホスト(イタリアのホストなど)でコアアップグレード機能が失敗する問題に対応すべく開発されました。ユーザファイル全てに限定パーミッション(400 など)を用いるホストで、グループおよびその他のクラスがファイルにアクセスできるようにするパーミッション設定を拒否される場合、この定義で解決できます。

PHP:
  1. define('FS_CHMOD_FILE', 0755);
  2. define('FS_CHMOD_DIR', 0755);

FTP・SSH 定数

FTPユーザとしてサーバ上にある各フォルダへのパスが分かっていれば、wp-config.php ファイルに手動でそのパスを定義できます。

  • FTP_BASE: フルパスは、ワードプレスをインストールの"フォルダです。
  • wp - FTP_CONTENT_DIR: ワードプレスのインストールのコンテンツフォルダへのフルパスを指定します。
  • FTP_PLUGIN_DIR: ワードプレスのプラグインをインストールしてあるフォルダへのフルパスを指定します。
  • FTP_PUBKEY: あなたのSSH公開鍵へのフルパスを指定します。
  • FTP_PRIVKEY: あなたのSSHの秘密鍵へのフルパスを指定します。
  • FTP_USER: FTPまたはSSHのユーザー名。
  • FTP_PASS: FTP_USERのユーザー名のパスワードを入力します。SSH公開鍵認証を使用している場合は省略できます。
  • FTP_HOST: FTPサーバーとSSHポートのホスト名。標準のFTPポートは21・標準のSSHポートは22です。
PHP:
  1. define('FTP_BASE', '/path/to/wordpress/');
  2. define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
  3. define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
  4. define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
  5. define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
  6. define('FTP_USER', 'username');
  7. define('FTP_PASS', 'password');
  8. define('FTP_HOST', 'ftp.example.org:21');

via: wp-config.php の編集 - WordPress Codex 日本語版 - 2009/06 現在
*1: Wordpress インストールをご覧ください。

関連する投稿

コメントをどうぞ