免責事項:誰かがグーグル(または同様のもの)について賢明に言及する前に、私は私の好みの記事を見つけることができなかったので、私がこの質問を提起していることに注意したいと思います。 。
まえがき:
Amazon EC2マイクロインスタンス(VPS)と-buntu 10.10サーバー + nginx + php-fpm + Wordpress。
質問:
明らかに正しい答えも間違った答えもありませんが、それでも--私のスタックを考えると、どのディレクトリ構造&&ファイルのユーザー/グループのアクセス許可をお勧めしますか?
もちろん、セキュリティは常に懸念事項であるため、理想的な構造/権限にはセキュリティリスクはありませんが(例:chmod 777 wp-content)、正しく機能することも問題ありません(wp-content、プラグインへの画像のアップロード)。また、ApacheではなくNginxを扱っていることを忘れないでください。
私はいくつかの解決策を試しましたが、今のところどれも満足していません。より良いアイデアを得たいと思っています!
WordPressをnginxsites-enabled /site-name.confのサーバーの場所で定義されたルートディレクトリに配置します
SVNを使用してWordPressをダウンロードしてインストールします
$ cd public_html
$ svn co http://core.svn.wordpress.org/tags/3.1.2 .
chown www-data:www-data public_html/ -R
Nginxがwww-dataとして実行されていることを確認するか、ユーザーとグループを上記のnginxに変更します
WordPressがインストールされている場合、すべてのカテゴリは755になり、ファイルは644になります。これは安全です
上で説明した正確なアーキテクチャを構成するための最良の方法についての良い情報があまりないという理由から、現時点でこれに関するガイドをまとめています。
私の設定は、上記のChirs_Oの設定に似ています。
/ srv/www /
/site1.com/logs
/site1.com/public_html
/site2.com/logs
/site2.com/public_html
/site3.com/logs
/site3.com/public_html
各サイトでファイルを管理する必要がある唯一の管理者である状況では、通常、ファイルの所有権を特定のユーザーに変更して、ローカルから各サイトにファイルを簡単にscp/ftpできるようにします。
私は通常、次のコマンドを使用します
chown -R myuser:myuser /site1.com
これにより、権限の問題なしにファイルを転送でき、これらのファイルを提供するための安全なセットアップにもなります。
この構成の欠点は、プラグインのインストール、wordpress更新など(および画像のアップロード))であらゆる種類の問題が発生することです。
プラグインのインストールを行う前に、wordpress更新私は通常、同じコマンドを使用してサイトの所有権をmyuserからwww-dataに変更します
chown -R www-data:www-data /site1.com
次に、必要なプラグインをインストールしてから、アクセス許可をmyuserにリセットします。
Www-dataをメインの所有者として残す人もいますが、これは優れたセキュリティ設定ではないことは理解していますが、nginx/php5-fpmのアクセス許可構成に出くわしましたが、個々のftp/sshアカウントでファイル転送を簡単に行うことができます。 WordPressプラグインのインストール/更新は、特定のフォルダーに777のアクセス許可を設定する必要なしに実行できます。これは面倒であり、独自のセキュリティ問題があります。
私は現在、各ユーザーの個々のアカウント内に直接個々のvhostをセットアップする代替構成を検討しています。
/home/myuser/www/site1.com/public_html
これにより、そのユーザーのftp/sshアカウントが自分のホームアカウントに制限されます。現在でも、wordpress更新などのために所有権をwww-dataに戻す必要がありますが、これらのユーザーアカウントを追加できる安全な方法があるかどうかを調べようとしていますwww-dataグループにアクセスして、両方の世界のシナリオの最良のものを許可します。機能する構成を取得したかどうかをお知らせします。