首页 > 开发 > PHP > 正文

PHP-FPM之Chroot执行环境详解

2024-05-04 23:38:33
字体:
来源:转载
供稿:网友
在PHP-FPM中设立chroot,有很好的隔离作用,提高系统安全性,但是要想建立一个合理的PHP-FPM Chroot环境难度有点大,比用debootstrap等工具建立还要麻烦,这篇文章就详细介绍了PHP-FPM之Chroot执行环境,需要的朋友可以参考下。
 

在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 。

执行下面的命令建立基本的目录结构:
 

  1. bash 
  2. mkdir -p /var/www/chroot/ 
  3. cd /var/www/chroot 
  4. mkdir -p public bin dev tmp usr/sbin/ usr/share/zoneinfo/ var/run/nscd/ var/lib/php5/sessions var/www 
  5. cp -a /dev/zero /dev/urandom /dev/null dev/ #注3 
  6. chmod --reference=/tmp tmp/ 
  7. chmod --reference=/var/lib/php5/sessions var/lib/php5/sessions #注4 
  8. chown -R root:root .     #注2 
  9. chown -R www-data:www-data public/ #注2 
  10. cd var/www 
  11. ln -s ../.. chroot     #注1 
?
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表