WordPressをインストールしているときに、「wp-config.phpを作成できません」と表示されて、途中で止まってしまったことはないでしょうか。
画面上では「手動でwp-config.phpを作成してください」と案内されることもありますが、初心者の方にとっては少し分かりにくいエラーです。
この記事では、WordPressインストール時にwp-config.phpを作成できない原因と、VPS環境での対処法をまとめます。
結論から言うと、多くの場合はファイルの所有者やパーミッションが原因です。
wp-config.phpを作成できないときの症状
WordPressのインストール中に、以下のような状態になることがあります。
- wp-config.phpを自動作成できない
- 設定ファイルを書き込めないと表示される
- 手動でwp-config.phpを作成するよう案内される
- データベース情報を入力しても先に進めない
この場合、WordPress本体やデータベース設定が間違っているとは限りません。
サーバ上のファイル権限が原因で、WordPressが設定ファイルを書き込めない状態になっている可能性があります。
原因は所有者とパーミッションの問題
wp-config.phpを作成できない原因として多いのが、以下の2つです。
- ファイルやディレクトリの所有者が適切でない
- WordPressが書き込めるパーミッションになっていない
特にVPSにWordPressを手動で設置した場合、ファイルを配置したユーザーとWebサーバが使用するユーザーが異なることがあります。
その結果、WordPressから見ると「ファイルを書き込みたいけど権限がない」という状態になります。
所有者が違うと書き込みできない
Apache環境では、WordPressは通常 www-data ユーザーとして動作します。
一方で、WordPressファイルをSSHで配置した場合、ファイルの所有者がログインユーザーになっていることがあります。
例えば、以下のような状態です。
所有者:user
Webサーバ:www-data
この状態では、Webサーバ側からwp-config.phpを作成できない場合があります。
私の場合も、ファイルの所有者がホームディレクトリ側のユーザーになっており、実際に書き込みを行うのは www-data だったため、wp-config.phpを作成できませんでした。
パーミッションが644だと書き込めない場合がある
ファイルのパーミッションが 644 の場合、所有者は書き込みできますが、グループやその他のユーザーは書き込みできません。
そのため、所有者がWebサーバのユーザーと異なる場合、WordPressからは書き込めない状態になります。
644 = 所有者は読み書き可能、その他は読み取りのみ
つまり、パーミッションだけを見るのではなく、「誰が所有者なのか」も合わせて確認する必要があります。
現在の所有者とパーミッションを確認する
まずは、WordPressを設置しているディレクトリで所有者とパーミッションを確認します。
ls -l /var/www/html
出力結果の左側に、ファイルの権限と所有者が表示されます。
所有者が www-data ではなく、SSHログインユーザーになっている場合は、WordPressが書き込みできない原因になることがあります。
解決方法:所有者をwww-dataに変更する
Apache環境でWordPressを動かしている場合は、WordPressディレクトリの所有者を www-data に変更します。
sudo chown -R www-data:www-data /var/www/html
これで、ApacheからWordPressファイルを扱いやすくなります。
ただし、設置場所が /var/www/html 以外の場合は、自分の環境に合わせてパスを変更してください。
解決方法:パーミッションを整える
次に、ディレクトリやファイルのパーミッションを整えます。
sudo chmod -R 755 /var/www/html
この設定により、ディレクトリをたどれる状態にしつつ、基本的な読み取り・実行権限を付与できます。
より厳密に設定する場合は、ディレクトリとファイルで権限を分ける方法もあります。
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
まずは所有者を正しく設定し、そのうえで適切なパーミッションに整えるのが基本です。
777にするのは避けた方がよい
権限エラーが出ると、つい chmod 777 にしたくなるかもしれません。
しかし、777は誰でも読み書き実行できる状態になるため、セキュリティ上おすすめできません。
一時的な確認として使う場合でも、作業後は必ず適切な権限に戻すようにしてください。
ConoHa VPSのセキュリティ設定については、以下の記事でもまとめています。
それでもwp-config.phpを作成できない場合
所有者とパーミッションを変更しても解決しない場合は、以下も確認してみてください。
- WordPressの設置場所が正しいか
- Apacheが参照しているドキュメントルートが合っているか
- データベース名・ユーザー名・パスワードが正しいか
- wp-config.phpがすでに存在していないか
- ディスク容量が不足していないか
特に、WordPressを配置した場所とApacheの公開ディレクトリがズレていると、別の場所を見てしまうことがあります。
VPSでWordPressを構築する場合の注意点
VPSでは、レンタルサーバと違ってファイルの所有者や権限を自分で管理する必要があります。
自由度が高い一方で、今回のような権限エラーも起こりやすくなります。
VPSでWordPressを構築する基本手順については、以下の記事で詳しく解説しています。
VPSの初期設定も確認しておく
WordPressの権限エラーは、初期設定の流れを整理しておくことで防ぎやすくなります。
SSH接続、パッケージ更新、セキュリティ設定、WordPress配置の順番を確認しておくと安心です。
VPSの初期設定については、以下の記事でまとめています。
VPS選びで迷っている場合
WordPressをVPSで運用する場合は、サービスごとの使いやすさや管理画面の違いも確認しておくと安心です。
ConoHa VPS・さくらのVPS・Xserver VPSの違いについては、以下の記事で比較しています。
まとめ
WordPressでwp-config.phpを作成できない場合、原因はファイルの所有者やパーミッションであることが多いです。
- WordPressはWebサーバのユーザーで動作する
- Apache環境では
www-dataが使われることが多い - 所有者が違うとwp-config.phpを書き込めない場合がある
- 安易に777へ変更するのは避ける
まずは ls -l で所有者を確認し、必要に応じて chown と chmod で権限を整えましょう。
ConoHa VPSの始め方については、以下の記事でまとめています。