
我在一個 VPS 上託管多個網站,並且想要 chroot 每個網站,例如。 /chroot/網站1 /chroot/網站2
我正在使用 makejail,這是一個高級工具,用於創建監獄並複製庫和依賴項。十分簡單。
每個網站都需要 nginx、php 和 mysql。對於 php,我使用 php5-fpm,它實際上透過配置支援 chroot,但是我沒有使用它(也許我應該?)
我的問題是以下三種方法中哪一種方法比較好:
1)每個網站都會有自己獨立的nginx、php和mysql實例。缺點是,每個 Web 伺服器 + php 都必須監聽不同的連接埠。我還需要在它們前面有一個“主”nginx Web 伺服器,反向代理到它後面的 chroot 伺服器。可能是最安全的,但也是最先進的。
2)我不手動創建任何chroot監獄。我設定了一台 nginx Web 伺服器,在不同的連接埠上將 php 請求代理到 php-fpm。我可以有多個 php-fpm 配置,每個配置都有自己的 chroot 資料夾。這是相當容易管理的——但是只有 php 會被 chroot。不是實際的網頁伺服器。這樣夠安全嗎?另外,我嘗試了這個選項,看來我需要使用 TCP 而不是套接字來連接到 MySQL。
3)你告訴我;)
我對 chroot 監禁還很陌生,所以如果我的假設有誤,請糾正我。我一直在閱讀我能找到的所有教程,但是,我發現 chroot 指南的市場非常稀缺。非常感謝任何幫助或意見!
答案1
我最終使用了選項 2。
必須注意一些事情:sendmail 和外部服務。對於 sendmail,您可以使用 mini_sendmail。如果您使用 makejail(Debian/Ubuntu 軟體包)並按照本教學進行操作,則設定非常容易: http://www.cyberciti.biz/tips/howto-setup-sendmail-php-mail-chrooted-apache-lighttpd.html