设为首页 收藏本站
查看: 892|回复: 0

[经验分享] php-fpm chroot功能的使用

[复制链接]

尚未签到

发表于 2018-12-23 06:27:24 | 显示全部楼层 |阅读模式
  nginx+php-fpm是现在配置php环境非常流行的组合之一。nginx以其并发能力强,轻巧,速度快而受到非常多人的青睐,php-fpm以其安全,处理php速度快而成为与nginx的最佳组合。php-fpm提供有一个非常重要的功能chroot,它可以把指定的网站完完全全限制在一个目录下,可以对系统和其它虚拟机起到很好的隔离效果,这对系统的安全无疑是加强了不少,下面介绍如何配置。

我们假设域名为www.centos.bz,网站根目录为/home/chroot/www.centos.bz/web,需要把此网站限制在/home/chroot/www.centos.bz。
1、php-fpm.conf配置
打开php-fpm.conf文件,把chroot更改为  


  • chroot = /home/chroot/www.centos.bz
  


2、nginx配置
我们上面把www.centos.bz站点限制在了/home/chroot/www.centos.bz,所以对于php-fpm,此网站根目录已经变成是/web,所以我们需要更改nginx传递给php-fpm的网站根目录地址。
找到  


  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  

更改为  


  • fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
  


3、一些目录创建  


  • cd /home/chroot/www.centos.bz/
  • mkdir -p tmp etc bin usr/sbin lib dev/
  • mknod -m 0666 dev/null c 1 3
  • mknod -m 0666 dev/random c 1 8
  • mknod -m 0666 dev/urandom c 1 9
  • mknod -m 0666 dev/zero c 1 5
  • chmod 1777 tmp
  

4、修复解析
把www.centos.bz的php完全限制在一个目录下后,导致了php无法解析域名,以32位系统为例(64位库文件位置为lib64)下面是修复的步骤,  


  • cd /home/chroot/www.centos.bz/
  • cp /etc/hosts /etc/resolv.conf /etc/nsswitch.conf etc/
  • cp /lib/{ld-linux.so.2,libc.so.6,libdl.so.2,libnss_dns.so.2,libnss_files.so.2,libresolv.so.2,libtermcap.so.2}  lib/
  

这样php就可以解析域名了。
5、修复sendmail功能
同样chroot目录后,就无法发送邮件了,我们这里使用mini_sendmail代为发送邮件。同样以32位系统为例。  


  • cd /home/chroot/www.centos.bz/
  • cp -P /bin/bash /bin/sh bin
  • cp /etc/passwd /etc/group etc
  • cd /tmp
  • wget http://www.acme.com/software/mini_sendmail/mini_sendmail-1.3.6.tar.gz
  • tar xzf mini_sendmail-1.3.6.tar.gz
  • cd mini_sendmail-1.3.6
  • make
  • cp mini_sendmail /home/chroot/www.centos.bz/usr/sbin/sendmail
  


原文出自:http://www.centos.bz/2012/05/php-fpm-chroot/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654564-1-1.html 上篇帖子: 用VIM做PHP开发环境 下篇帖子: PHP 的知识体系结构图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表