Suexec error after upgrade to 3.82


I am running Red Hat Enterprise Linux Server release 5.5 (Tikanga) with Apache 2.2.3.

We just upgraded to Virtualmin 3.82. Virtualmin-install.log reports that the upgrade was successful:

"INFO - 2010-07-21 16:55:25 - yum -y -d 2 install virtualmin-base: Succeeded."

However I am now getting the following config message when I log into VM:

“The Suexec command on your system is configured to only run scripts under /home, but the Virtualmin base directory is /var/www/vhosts. CGI and PHP scripts run as domain owners will not be executed.”

I know there are many posts on this (although when I tried to search directly from here, I got an Apache error). I tried changing the default Apache settings to “Automatically add appropriate SuExec directive? = No” but when I tried to save the setting, I got this error:

“Failed to save server template : PHP scripts cannot be run as the domain owner unless suexec is enabled”

Does this mean I need to recompile/rebuild Apache?

Thanks in advance for any help.



Well, it sounds like somewhere along the way, you may have somehow pulled in an alternate Apache version.

Do you by chance have any third party repositories installed? You can determine that by taking a look in /etc/yum.repos.d… do you see any outside of centos and virtualmin?

Also, what does this command show:

rpm -qa | grep httpd



Hi Erik,

Thanks for your reply. In our repos, we have these:

rhel-debuginfo.repo utterrambling2.repo utterrambling.repo virtualmin.repo

The utterrambling is to update php, but I can get rid of those if need be. If we want PHP 5.3, I thik we have to switch to Virtualmins bleeding edge repo anyway.

rpm -qa | grep httpd gets this:

httpd-2.2.3-43.3.vm httpd-manual-2.2.3-43.3.vm system-config-httpd-

Would upgrading to VM pro fix this issue? I think we may want to do that anyway.



Well, upgrading isn’t likely to solve that problem… that problem shouldn’t occur in GPL or Pro :slight_smile:

I’m curious what the output of these commands is:

which suexec rpm -qf `which suexec` suexec -V

Note that the ` mark in the second command above is not an apostrophe, but is a “back tick” (on the same key as the ~ on many keyboards). That should tell us what package provided the suexec program that’s active on your system.


We were able to solve the problem!

My co-worker had the default home directory base set to something other than /home, so he just changed it back to ‘From Users and groups’ in VM config. Because we’re not running lots of domains or sub-domains, this isn’t really a problem.

FYI, the results of your commands were:

which suexec /usr/sbin/suexec rpm -qf `which suexec` httpd-2.2.3-43.3.vm suexec -V -D AP_DOC_ROOT="/home" -D AP_GID_MIN=100 -D AP_HTTPD_USER="apache" -D AP_LOG_EXEC="/var/log/httpd/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=500 -D AP_USERDIR_SUFFIX="public_html"

Thanks again for your help!