この記事では、定数「FS_METHOD」を設定する方法をご紹介します。設定が必要になる状況を問わず、開発プロジェクトをスムーズに展開できるよう、手順を詳しく見ていきます。
定数FS_METHODを設定する方法について動画での解説もご用意しています。
FS_METHODとは
FS_METHODはWordPressの定数で、ファイルシステム方式を指定するものです。デフォルトでは、ファイルをファイルシステムに直接書き込む「direct」に設定されています。directが最も効率的であり、理想的ですが、サーバーがファイルの直接書き込みを許可していない場合は、自動的にFTP方式が使用されます。
FS_METHODの方式には、以下のような種類があります。
- direct
- ssh2
- ftpext
- ftpsocket
FS_METHODをdirect以外に設定する場合は、WordPressが正しく動作するよう、FTPの認証情報が必要になります。
FS_METHODを変更する必要性
FS_METHODの変更が必要になる状況はいくつか考えられます。
まずは、先にも触れましたが、サーバーがファイルの直接書き込みを許可するように設定されていない場合。これに該当する場合は、WordPressが正しく動作するように、別の方式を選択しなければなりません。また、利用しているサーバーがセキュリティ上の理由でdirectメソッドを無効にしている可能性もあります。この場合も、FTP経由などの別の方式を使用します。
WordPressのプラグインやテーマの開発中にファイルシステムへの書き込みが必要な場合も当てはまります。WordPressは、プラグインやテーマがファイルシステムに書き込むことをデフォルトで許可していませんが、FS_METHODをssh2、ftpext、ftpsocketに変更することで可能になります。
FS_METHODの変更がサーバーに与える影響
FS_METHODを変更しても、サーバーに影響を与えることはありません。注意点としては、先にも触れましたが、この定数をdirect以外に設定する場合は、FTP認証が必要になる可能性があります。
「接続情報」エラー
管理画面で以下のようなエラーメッセージが表示された場合も、FS_METHODの設定が有効になります。
「要求されたアクションを実行するには、WordPressがWebサーバーにアクセスする必要があります。次に進むにはFTPの接続情報を入力してください。接続情報が思い出せない場合は、ホスティング担当者に問い合わせてください」
この「接続情報」のエラーは、ファイルシステムに書き込みが行えないことを意味します。この原因はいくつかありますが、最も一般的なのは、サーバーがファイルの直接書き込みを許可するように設定されていないことです。具体的には、wp-contentに書き込むことができないことを意味し、これは通常サーバーの設定によるものです。
KinstaのAPMを使用すると、このような問題の詳細をいつでも確認することができます。低速なデータベースクエリなど、その他のパフォーマンス関連の問題をデバッグするのに有用です。
WordPressサイトにFS_METHODを設定する方法
FS_METHODを設定するには、wp-config.phpファイルにコードスニペットを追加するのが一般的です。
この手順をご説明する前に、すべてのサーバーでサイトのwp-config.phpファイルにアクセスできるわけではないことに注意してください。お使いのサーバーでwp-config.phpにアクセスできない場合には、以下のいずれかの方法を選択してください。
- サーバーに設定を依頼する─現在利用しているサーバーに満足していて、FS_METHODの設定・変更だけを行いたい場合には、サーバーに問い合わせて依頼をお願いしましょう。大体のホスティング会社が設定してくれるはずです。
- サーバーを移行する─一見大袈裟な方法ですが、もし現在利用しているサーバーで度々問題が生じているようなら、サーバーを移行するのが賢い選択肢かもしれません。優れたWordPressホスティングサービスなら、そもそもこの手の問題に直面することはありません。また、今回のFS_METHODの設定だけでなく、今後もwp-config.phpファイルへのアクセスが必要になりそうな場合も、より良いホスティングサービスへの乗り換えを検討してみてください。
以上を踏まえた上で、FS_METHODの設定方法を見ていきましょう。
1. サイトのバックアップを取る
wp-config.phpファイルに変更を加える際には、事前に必ずサイトのバックアップを作成しましょう。何か問題が発生してもサイトを復元することができるため安心です。
バックアップ方法はいくつかありますが、Kinstaをご利用であれば、MyKinsta上でたった数回のクリックで実行することができます。
より高度なバックアップが必要で、Amazon S3またはGoogle Cloud Storageなどの外部サービスを利用したい場合には、外部バックアップアドオンで実現可能です。
MyKinstaをお使いでない場合は、UpdraftPlusやBackupBuddyなどのWordPressバックアッププラグインを使用してください。WordPressサイトのバックアップはもちろん、必要に応じて復元も可能です。
2. FTPでサイトに接続する
バックアップが完了したら、FTPを使ってWordPressサイトに接続します。FileZillaやCyberduckなどのFTPクライアントがおすすめです。
まず、MyKinstaにログインして、FTPのログイン情報を取得します。「サイト」>(サイト名)>「情報」に移動し、「SFTP/SSH」セクションにあるホスト名、URL、パスワード、ポートの情報をコピーします。
以下は、Cyberduckを使用した例です。
また、このような変更をまずローカルサーバーで試してみるのも得策です。例えば、ローカルWordPressサイト開発ツール「DevKinsta」は無料で利用することができます。
3. wp-config.phpファイルをダウンロードする
FTPでサイトに接続したら、WordPressのルートディレクトリ(通常/public_html/ディレクトリ)に移動します。
wp-config.phpファイルを見つけて、コンピュータにダウンロードします。
4. wp-config.phpファイルにFS_METHODを追加する
wp-config.phpファイルのローカルコピーを入手したら、任意のテキストエディターで編集します。Sublime Textのようなコードエディターがおすすめです。
以下のような行を見つけます。
* That's all, stop editing! Happy blogging. */
この行のすぐ上に、以下のコードを貼り付けてください。
define('FS_METHOD', 'direct');
5. 変更を保存し、wp-config.phpファイルをアップロードする
wp-config.phpファイルにコードを貼り付けたら、保存してサーバーにアップロードします。
以上で完了です。
FS_METHODをdirectに設定する際の注意事項
FS_METHODをdirectに設定することは、基本的に問題ありません。ただし、WordPressサイトに変更を加える際には、変更内容をすぐに取り消すことができるように、バックアップを取っておくことをお勧めします。
directを使用する際に注意が必要な状況としては、まずSucuriやWordfenceなどのセキュリティプラグインを使用している場合。セキュリティプラグインがこの変更を検知して、サイトがハッキングされたと認識する可能性があります。しかし、この場合も使用したIPアドレスをホワイトリストに登録するだけで正常に戻るはずです。
また、前述の通り、WordPressのホスティング会社によっては、直接書き込み(direct)を許可していない可能性もあります。この場合は、サーバーを移行するか、別の方法でWordPressのプラグインやテーマを更新してください。
最後に、一部の共用サーバーには、セキュリティ上の懸念があります。WordPressサイトに共用サーバーを使用している場合は、FS_METHODをdirectに設定する前に、サーバーに問い合わせて事前に確認しておくことをお勧めします。
WordPressサイトの更新を簡素化してくれるコントロールパネルをお探しなら、MyKinstaが答えかもしれません。MyKinstaは、Google Cloud Platform採用で、すべてのプランでSSH接続をサポートしています。そのため、サーバー側の設定を心配することなく、FS_METHODをdirectに設定することができます。
さらに、MyKinstaはWordPressのバックアップ機能も組み込まれており、何か問題が発生してもサイトをすぐに復元することができます。また、サーバーレベルのキャッシュでサイトの高速化も期待できます。
まとめ
この記事では、WordPressの定数FS_METHODを設定する方法を詳しくご紹介しました。バックアップ、ステージング環境、簡単なSSH接続などの豊富な機能が揃う一流のホスティングサービスをお探しなら、Kinstaのホスティングプランをぜひご利用ください。