web-dev-qa-db-ja.com

Debian上でApacheを実行しているWordPressに適切な権限を取得する方法

私はDebian 6.0上のLAMPスタック上にWordPressサイトを設定しようとしています。 WordPressのドキュメント (および共有ホストでの私の経験)から、正しい権限は次のようになります。

すべてのファイルはあなたのユーザーアカウントによって所有され、あなたによって書き込み可能であるべきです。 WordPressからの書き込みアクセスが必要なファイルはすべて、Webサーバーが使用するユーザーアカウントによってグループ所有されるべきです。

私は、すべてのディレクトリに対して755のパーミッションを持ち、すべてのファイルに対して644のパーミッションを持つように私のサーバーをセットアップすることができました。しかし、WordPressはまだアップロードやアップグレード用のフォルダを作成することができません。これは、WordPressが私のユーザーアカウントとしてではなく、www-dataとして実行されているため、グループの書き込み権限が必要だからだと思います。

WordPressを自分のアカウントとして実行するにはどうすればよいですか?それとも私は間違った方向に進んでいますか?

私はこれが初めてで、共有ホスティングの成長と私の最初のVPSの設定を行いました。あなたが可能な限り詳細に答えることができれば私はそれを本当に感謝するでしょう。

5
blogjunkie

多くの例では、あなたがサーバ上で何かを実行しているのはあなただけではない、またはsuPHPまたは他のユーティリティがPHPをWebサーバ以外のユーザとして実行するために実行されていると仮定します。

PHPがwww-dataユーザーとして動作する基本的なDebian LAMPのインストールでは、www-data:www-dataで所有されているウェブサーバーのドキュメントルートディレクトリ以下のすべての所有権を設定するのが安全です。権限700/600または770/660.

唯一の問題は、あなたが(ユーザとして)それらのディレクトリにファイルを入れたいときです、その場合あなたはwww-dataグループに自分自身を追加する(そして上記の2番目のパーミッションのセットを使う)かSudo経由でそれをする必要があります。またはrootとして、後で権限を設定することを忘れないでください。

個人的には、Wordpressがプラグインとテーマを自動更新して自動インストールできるようになったので、すべてをwww-data:www-dataに設定してWordpressに処理させるだけで、問題なく動作します。

あなたのユーザ名にパーミッションを設定することに関するウォークスルーはPHPがあなたとして実行されていると仮定します、私が言うように、他の拡張またはApache mod。

7
EightBitTony