在PHP-FPM中設立chroot,有很好的隔離作用,提高系統安全性,但是要想建立一個合理的PHP-FPM Chroot環境難度有點大,比用debootstrap等工具建立還要麻煩,下面通過參考相關資料,把PHP-FPM之Chroot執行環境整理出來,分享給大家。
本文以Ubuntu 14.04.2為例,php-fpm使用的是 ppa:ondrej/php5-5.6 提供的PHP5.6版本,跟系統自帶以及Debian系統的php-fpm和系統目錄結構應該是一致的。CentOS請自行調整。
php-fpm的chroot環境配置和所使用的服務器前端沒有關聯,也不強求Apache/Nginx進行chroot。當然那樣更安全——也更復雜。
1.建立目錄結構
chroot的目錄選擇為 /var/www/chroot ,其中頁面文件放置在 /var/www/chroot/public 。
執行下面的命令建立基本的目錄結構:
- bash
- mkdir -p /var/www/chroot/
- cd /var/www/chroot
- mkdir -p public bin dev tmp usr/sbin/ usr/share/zoneinfo/ var/run/nscd/ var/lib/php5/sessions var/www
- cp -a /dev/zero /dev/urandom /dev/null dev/ #注3
- chmod --reference=/tmp tmp/
- chmod --reference=/var/lib/php5/sessions var/lib/php5/sessions #注4
- chown -R root:root . #注2
- chown -R www-data:www-data public/ #注2
- cd var/www
- ln -s ../.. chroot #注1
新聞熱點
疑難解答