suEXEC在试图以userXYZ方式执行脚本时查询www数据

我正在用Apache2和PHP 7.0与FastCGIbuild立一个suexec环境。

我已经安装了一切正常的方式

Aptitude install libapache2-mod-fcgid apache2-suexec-custom A2enmod suexec 

我的服务器有以下结构:

  • 有用户在/ home / username / public_html /(linux用户“ 用户名 ”)
  • 在/ data / www /(用户“主页”)中有一个主要的网站。

到目前为止,SuEXEC的工作,但有一个主要的问题:由于某种原因,suEXEC查询/ etc / apache2 / suexec /万维网数据而不是/ etc / apache2 / suexec /用户名,因此我只能有我的网站/数据工作,或在/在家工作的网站,但不是两个。 我不明白,因为我的服务器上没有脚本是由万维网数据拥有。

/ etc / apache2 / suexec / www-data(不变,因为我不使用www-data)

 /var/www public_html/cgi-bin 

在/ etc / apache2的/ suexec的/主页

 /data www/cgi-bin 

的/ etc / apache2的/ suexec的/ userXYZ

 /home/userXYZ public_html/cgi-bin 

/数据/networking/的cgi-bin / PHP-FCGI

 #!/bin/sh export PHPRC="/etc/php/7.0/cgi" exec /usr/bin/php-cgi 

/家庭/ userXYZ /的public_html / cgi-bin目录/ PHP-FCGI

 #!/bin/sh export PHPRC="/etc/php/7.0/cgi" exec /usr/bin/php-cgi 

在/ etc /启用站点-的Apache2 / / …

 <Directory /data/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted FCGIWrapper /data/www/cgi-bin/php-fcgi .php <FilesMatch \.php$> SetHandler fcgid-script </FilesMatch> Options +ExecCGI </Directory> <Directory /home/userXYZ/public_html/> Options Indexes FollowSymLinks AllowOverride None Require all granted FCGIWrapper /home/userXYZ/public_html/cgi-bin/php-fcgi .php <FilesMatch \.php$> SetHandler fcgid-script </FilesMatch> Options +ExecCGI </Directory> <VirtualHost *:80> DocumentRoot "/home/userXYZ/public_html" SuexecUserGroup userXYZ userXYZ ServerName ... </VirtualHost> <VirtualHost *:80> DocumentRoot "/data/www" SuexecUserGroup homepage homepage ServerName ... </VirtualHost> 

所以,当我访问我的主目录(/ data / www)时,它不起作用,因为suexec / www-data.conf在/ var / www上有它的docroot。 如果我将suexec / www-data.conf更改为/ data,那么主页将工作。 但是,那么用户网站不工作,因为他们位于/ home。 如果我将www-data更改为/ home,那么我的主页不起作用,因为它的docroot位于/ data …我怎样才能避免suEXEC查询www-dataconfiguration,而是查询正确的用户configuration?

根据https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785740

这个想法是能够运行不同的apache2进程,因为不同的用户可以使用不同的suexecconfiguration。

因此,如果apache2在www-data下运行,只考虑文件/ etc / apache2 / suexec / www-data。