I suggest you remove the php stuff from Apache, switch it over to php-fpm (which basically turns it into an appserver). If you do so, consider changing your MPM over to either event or worker at that point. Rick Houser Web Administration > -----Original Message----- > From: Marc Chamberlin [mailto:marc@xxxxxxxxxxxxxxxxxx] > Sent: Wednesday, April 19, 2017 15:58 > To: users@xxxxxxxxxxxxxxxx > Subject: Virtual hosts, include php.conf, DirectoryIndex failure > > EXTERNAL EMAIL > > > Hi - While I have a work-around for this issue, I thought I would post > it here to see what, if any, feedback I might get. Perhaps I am doing > something wrong? I run a rather complex server environment where I use > both Apache HTTPD and Apache Tomcat servers in combination and host a > number of virtual hosts (named and all using the same IP address) On one > of my virtual hosts I recently installed WordPress and this required me > to also add in PHP support, since WordPress uses mostly PHP scripts. > Since this is only needed on one of my virtual hosts, I tried to > configure just that virtual host to include the additional stuff needed > to support PHP. My attempts to do so failed and the workaround was to > include the PHP configuration stuff (php7.conf) at a global level that > will affect all the virtual hosts that I am supporting. For now, that is > OK and won't bother anything but I am wondering why my initial approach > failed and if there is something that I am missing or don't understand. > > Basically, the symptoms, of what happened, was that the DirectoryIndex > index.php setting fails when I just included the php7.conf file in the > configuration file for the virtual host. But when I included the > php7.file in the global http.conf or in the global default-server.conf > files then it works! Error logs do not show anything other than the fact > that an index file could not be found when referencing a directory that > does indeed have an index.php file in it. I will show the pertinent > config files (urls obscured) below in the configuration that fails, and > I hope this is not overwhelming. First here is the version info for > Apache just so we are all on the same page - > > httpd -V > Server version: Apache/2.4.23 (Linux/SUSE) > Server built: 2017-03-22 14:54:04.000000000 +0000 > Server's Module Magic Number: 20120211:61 > Server loaded: APR 1.5.1, APR-UTIL 1.5.3 > Compiled using: APR 1.5.1, APR-UTIL 1.5.3 > Architecture: 64-bit > Server MPM: prefork > threaded: no > forked: yes (variable process count) > Server compiled with.... > -D APR_HAS_SENDFILE > -D APR_HAS_MMAP > -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > -D APR_USE_PROC_PTHREAD_SERIALIZE > -D APR_USE_PTHREAD_SERIALIZE > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > -D APR_HAS_OTHER_CHILD > -D AP_HAVE_RELIABLE_PIPED_LOGS > -D DYNAMIC_MODULE_LIMIT=256 > -D HTTPD_ROOT="/srv/www" > -D SUEXEC_BIN="/usr/sbin/suexec" > -D DEFAULT_PIDLOG="/run/httpd.pid" > -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" > -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" > -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" > > -------------------------------------------------------------------- > > Here is php7.conf that I am including - > > cat php7.conf > <IfModule mod_php7.c> > <FilesMatch "\.ph(p[345]?|tml)$"> > SetHandler application/x-httpd-php > </FilesMatch> > <FilesMatch "\.php[345]?s$"> > SetHandler application/x-httpd-php-source > </FilesMatch> > DirectoryIndex index.php4 > DirectoryIndex index.php5 > DirectoryIndex index.php > </IfModule> > > -------------------------------------------------------------------- > > And this is my virtual host configuration (comments removed and URLs > obscured)- > > cat myvirtualhost.conf > <VirtualHost *:80> > ServerAdmin me@xxxxxxxxxxxx > ServerName www.myvirtualhost.org > ServerAlias myvirtualhost.org > DocumentRoot "/srv/tomcat/myvirtualhost_webapps/ROOT" > ErrorLog "/var/log/apache2/myvirtualhost.org-error_log" > TransferLog "/var/log/apache2/myvirtualhost.org-access_log" > HostnameLookups Off > UseCanonicalName Off > ServerSignature On > <IfModule mod_rewrite.c> > RewriteEngine On > RewriteCond %{HTTPS} off > RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} > </IfModule> > > # THIS INCLUDE STATEMENT AND/OR THE DIRECTIVES IN PHP7.CONF FAILS > FOR SOME UNKNOWN REASON! > Include /etc/apache2/conf.d/php7.conf > > Alias / /srv/tomcat/myvirtualhost_webapps/ROOT/ > <IfModule mod_jk.c> > JkMount / tomcatWorker1 > JkMount /* tomcatWorker1 > JkUnMount /*.html tomcatWorker1 > JkUnMount /*.php tomcatWorker1 > JkUnMount /*.css tomcatWorker1 > JkUnMount /*.js tomcatWorker1 > JkUnMount /*.jpg tomcatWorker1 > JkUnMount /*.png tomcatWorker1 > JkUnMount /*.gif tomcatWorker1 > </IfModule> > ScriptAlias /cgi-bin/ "/srv/tomcat/myvirtualhost_webapps/ROOT/cgi-bin/" > <Directory "/srv/tomcat/ahoa_webapps/ROOT/cgi-bin"> > AllowOverride None > Options +ExecCGI -Includes > <IfModule !mod_access_compat.c> > Require all granted > </IfModule> > <IfModule mod_access_compat.c> > Order allow,deny > Allow from all > </IfModule> > </Directory> > <IfModule mod_userdir.c> > UserDir public_html > Include /etc/apache2/mod_userdir.conf > </IfModule> > > <Directory "/srv/tomcat/myvirtualhost_webapps/ROOT"> > Options +Indexes +FollowSymLinks > AllowOverride None > <IfModule !mod_access_compat.c> > Require all granted > </IfModule> > <IfModule mod_access_compat.c> > Order allow,deny > Allow from all > </IfModule> > <IfModule sapi_apache2.c> > php_admin_flag engine on > </IfModule> > <IfModule mod_php7.c> > php_admin_flag engine on > </IfModule> > </Directory> > </VirtualHost> > > as I said, if I move the "Include /etc/apache2/conf.d/php7.conf" > statement to a global configuration file, then everything works OK. Any > kind guru got an explanation, I don't grok this one... Perhaps this is > a bug? Thanks in advance... Marc.. > > -- > "The Truth is out there" - Spooky > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx > For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx