我成功地使mod_fastcgi与fpm一起工作,这使我能够设置用户:通过fpm池定义运行脚本的组。但是,对于通过mod_fastcgi运行的python脚本,没有类似的替代方法,因此我正在尝试学习如何使用suexec来通过mod_fastcgi与我选择的用户一起运行任何脚本。
我从这个工作配置开始:
#/etc/apache2/sites-available/test1
<VirtualHost *:80>
ServerName test1.slothcompany.net
DocumentRoot /var/www/test1
LogLevel Debug
ErrorLog /var/www/test1/error.log
<Directory /var/www/test1/>
Options Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
DirectoryIndex index.php
AddHandler php5-fastcgi .php
Action php5-fastcgi /php5.fcgi
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#/var/www/test1/php5.fcgi
#!/bin/bash
PHPRC="/var/www/test1/php.ini"
PHP_FCGI_CHILDREN=5
export PHPRC
export PHP_FCGI_CHILDREN
exec /usr/bin/php5-cgi我在phpInfo()中放置了一个/var/www/test1/index.php,它显示了正确的php.ini路径。
现在,要激活suexec i:
apache2-suexec:sudo apt-get install apache2-suexecmod_suexec:sudo a2enmod suexecsudo chown -R michele:michele /var/www/test1SuexecUserGroup michele michelesudo a2dissite test1 && sudo a2ensite test1 && sudo service apache2 restart用户:组michele:michele存在于系统中。在运行test1.slothcompany.net时,我看到的phpInfo()输出和以前完全一样,echo exec('whoami');打印www-data而不是michele。
sudo /usr/lib/apache2/suexec -V告诉我日志文件应该在/var/log/apache2/suexec.log中,但是不存在这样的文件。然后,我知道apache应该将suexec包装器的激活作为通知登录到error.log文件中,但是在error.log中也没有找到这样的通知。因此,我怀疑由于某种原因,suexec根本没有开始。
我阅读了suexec所做的检查列表,以确定调用是否成功,但我不知道如何检查这些检查的结果,are..it说这些检查的结果应该写在suexec日志文件中,但是这个文件从来没有创建过,就像看起来的那样。
我做错什么了?
非常感谢大家。
发布于 2013-11-14 21:20:48
在这帖子的帮助下,我终于成功了。我的第一个配置有两个大问题:第一个问题是,我没有启用suexec来使用快速all (这需要编辑fastcgi.conf配置文件);第二个问题是,在我的第一个虚拟主机中,我根本没有使用requires!当我意识到这个系统在禁用disabling之后同样工作的时候,我就得到了这个结果。
但是,这些是对我有效的最后步骤(我在一个Debian虚拟机中尝试了这些步骤,该虚拟机就是为此创建的):
non-free添加到/etc/apt/sources.list for libapache2-mod-fastcgi之后):
sudo apt-获取安装apache2 libriache2-mod-快速cgi apache2-suexec php5-cgi#行中删除FastCgiWrapper ):
sudo a2dismod IfModule sudo nano /etc/apache2/mods-现有/快速cgi.conf#/etc/apache2/mods-现有/快速cgi.conf AddHandler快速var脚本.fcgi FastCgiWrapper /usr/lib/apache2/suexec FastCgiIpcDir /var/lib/apache2/IfModule 2https://stackoverflow.com/questions/19914130
复制相似问题