LOADING STUFF...

PHP-FPM之Chroot执行环境详解

技术教程2小时前发布 北陌
17 0 0

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 。

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

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

下面是此时目录结构,之后还会添加一些新的东西:

/var/www/chroot/
├── bin
├── dev
│ ├── null
│ ├── urandom
│ └── zero
├── public
├── tmp
├── usr
│ ├── sbin
│ └── share
│ └── zoneinfo
└── var
├── lib
│ └── php5
│ └── sessions
├── run
│ └── nscd
└── www
└── chroot –

© 版权声明

相关文章

暂无评论

暂无评论...