I am setting up a suexec environment with Apache2 and PHP 7.0 with FastCGI.
I have installed everything the normal way
Aptitude install libapache2-mod-fcgid apache2-suexec-custom
A2enmod suexec
My server has following structure:
- There are users who have their websites in /home/username/public_html/ (linux user "username")
- and there is a main website which has its docroot in /data/www/ (user "homepage").
SuEXEC works so far, but there is a major problem: for some reason, suEXEC queries /etc/apache2/suexec/www-data instead of /etc/apache2/suexec/username , therefore I can only have my website at /data working, or the websites at /home working, but not both. I do not understand that, since no script on my server is owned by www-data.
/etc/apache2/suexec/www-data (unchanged, since I don't use www-data)
/var/www
public_html/cgi-bin
/etc/apache2/suexec/homepage
/data
www/cgi-bin
/etc/apache2/suexec/userXYZ
/home/userXYZ
public_html/cgi-bin
/data/www/cgi-bin/php-fcgi
#!/bin/sh
export PHPRC="/etc/php/7.0/cgi"
exec /usr/bin/php-cgi
/home/userXYZ/public_html/cgi-bin/php-fcgi
#!/bin/sh
export PHPRC="/etc/php/7.0/cgi"
exec /usr/bin/php-cgi
/etc/apache2/sites-enabled/...
<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>
So, when I access my main home (/data/www), it does not work since suexec/www-data.conf has its docroot at /var/www . If I change suexec/www-data.conf to /data , then the main homepage works. But then the users websites do not work, since they are located at /home . If I change www-data to /home , then my main homepage does not work, since it has its docroot at /data ... How can I avoid that suEXEC queries the www-data config, and instead query the correct user config?