
1 つの VPS で複数の Web サイトをホストしており、各 Web サイトを chroot したい (例: /chroot/website1 /chroot/website2)
私は、jail を作成し、ライブラリと依存関係をコピーするために、高レベルのツールである makejail を使用しています。とても簡単です。
各 Web サイトには、nginx、php、mysql が必要です。php については、設定によって chroot をサポートする php5-fpm を使用していますが、私はこれを使用していません (使用すべきでしょうか?)
私の質問は、次の 3 つのアプローチのうちどれが優れているかということです。
1) 各 Web サイトには、nginx、php、mysql の個別のインスタンスがあります。欠点は、各 Web サーバーと php が異なるポートをリッスンする必要があることです。また、それらの前に「マスター」nginx Web サーバーが必要で、その背後にある chroot されたサーバーにリバース プロキシします。おそらく最も安全ですが、最も先進的です。
2) 手動で chroot jail は作成しません。異なるポートで php-fpm への php リクエストをプロキシする nginx Web サーバーを 1 つセットアップします。それぞれ独自の chroot されたフォルダーを持つ複数の php-fpm 構成を持つことができます。これは非常に管理しやすいですが、php のみが chroot されます。実際の Web サーバーではありません。これは十分に安全ですか。また、このオプションを試しましたが、MySQL への接続にはソケットではなく TCP を使用する必要があるようです。
3) あなたに教えて下さい ;)
私は chroot jailing についてはまったくの初心者なので、私の想定が間違っている場合は訂正してください。私は見つけられる限りのチュートリアルをすべて読んできましたが、chroot ガイドの市場は非常に少ないと感じています。どんな助けや情報でも大歓迎です!
答え1
最終的にオプション 2 を使用しました。ソケット (localhost) の代わりに TCP (127.0.0.1) を使用すると、ほとんどのものがそのまま動作します。
いくつかのことに注意する必要があります: sendmail と外部サービス。sendmail には mini_sendmail を使用できます。makejail (Debian/Ubuntu パッケージ) を使用し、次のチュートリアルに従うと、セットアップは非常に簡単です: http://www.cyberciti.biz/tips/howto-setup-sendmail-php-mail-chrooted-apache-lighttpd.html