2

ubuntu 12.04でphp5-fpmを使用しており、nginxでホストされているドメインごとに個別のプールとchrootの場所があります。ただし、一部のシステム ファイルを直接刑務所に入れる必要があることはわかっていますが、どのシステム ファイルが必要ですか?

DNS 解決が現在機能していないことは知っています。また、システム コア ファイルの一部をディレクトリにコピーする必要があるという記事をいくつか読みましたが、実際にどのファイルにコピーする必要があるかについては詳しく説明していません。そこの。

DNS、タイムゾーンに何かがあることは知っています(phpは時間/日付関連の関数でエラーになるようです)。

そして、一般的なchrootの使用について疑問に思っていました。それを使用する価値はありますか、それともドメインごとに個別のパーティションを作成したり、ドメインごとに個別の vm を作成したり (リソースのコストが高くなります) した方が安全でしょうか?

4

2 に答える 2

1

私も、これに対する答えを探していました。調査の結果、答えはそれほど単純ではないようです。

ほとんどすべてに使用されるため、何かが非常に明白です。ここにあるこれらのファイルは、名前、ポート、およびタイムゾーンを解決するためのものです。

  • /etc/ホスト
  • /etc/nsswitch.conf
  • /etc/resolv.conf
  • /etc/サービス
  • /etc/現地時間

しかし、インストールした拡張機能や PHP のコンパイル方法によっては、さらに多くのものが必要になります。それらが必要かどうかはわかりませんが、必要な場合に備えて、コマンドlddと PHP バイナリを引数として使用して、PHP が使用するライブラリのリストを取得できます。

ldd /usr/bin/php5

拡張機能が含まれているパスに応じて、同じコマンドを使用して、必要なライブラリを取得できます。

ldd /usr/lib/php5/20100525/*

ここで、PHP-config ファイルで使用する他の実行可能ファイルに注意する必要があります。私の場合、sendmailへの参照を見つけました。

私はそれが完全に機能していませんでした... curlを使用して名前を解決する際にまだ問題があります。しかし、これまでのところ、開始するには:)

ソース:

編集:これは、IRC の誰かから入手したスクリプトです。私はそれを試していませんが、彼はそれが非常にうまく機能すると言いました... http://pastebin.com/index/HyE87bcF

于 2013-01-14T15:22:09.247 に答える
0

deboostrapを使用してchrootを作成する一連のスクリプトを使用してDebian/Ubuntuのchrootを作成しているので、すべてのライブラリがそこにあり、何をインストールするかを理解する必要はありません。それはあなたが望む以上かもしれませんが、それはあなたが始めるかもしれません。私は日常的にスクリプトによって作成されたchrootで開発作業を行っていますが、(まだ)問題はありません。幸運を!

https://github.com/vtonehundred/vroot

于 2012-08-09T03:20:51.103 に答える