Re: Virtual hosts, include php.conf, DirectoryIndex failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marc,

+1 to what Rick is saying, if you could avoid mod_php it would be really better (more info https://wiki.apache.org/httpd/php).

But when I included the php7.file in the global http.conf or in the global default-server.conf files then it works! 

Sorry for the extra question but are you super sure that you were hitting the correct Virtual Host while running your tests? I am asking that since sometimes it may happen to forget about the Host header and hit the default virtual host instead.

If not, how did you check that DirectoryIndex wasn't working? What request did you make?

Luca

2017-04-20 14:28 GMT+02:00 Houser, Rick <rick.houser@xxxxxxxxxxx>:
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@marcchamberlin.com]
> 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@httpd.apache.org
> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux