On 04/09/2021 12:18 PM, Daniel Ferradal wrote:
> No, specifically pruning everything you don´t need.
>
> That list of modules is not normal, and there is probably lots of
> configuration associated with them you are not using either. If I were
> you I would end up with a quite simple config with only the modules I
> really need.
>
>
> El vie, 9 abr 2021 a las 18:10, H (<age...@meddatainc.com>) escribió:
>> On 04/09/2021 11:48 AM, Daniel Ferradal wrote:
>>> That´s probably it. You still have php7_module, and are probably
>>> pointing to it somewhere in your config. For the looks of it you need
>>> a serious and thorough cleanup of your configuration that you haven´t
>>> done yet.
>>>
>>> Like we told you earlier, get rid of that module.
>>>
>>> As for your question:
>>> You just need mod_proxy and mod_proxy_fcgi to reverse proxy requests
>>> to php-fpm, that´s it, you are reverse proxying requests for php files
>>> to another service, and php-fpm will interpret those and return the
>>> dynamic content to apache.
>>> PHP libs have nothing to do in your Apache if you are using/want to
>>> use php-fpm, which is a good path imo. So no, no php modules of any
>>> kind in apache, apache will not do any more interpretation of php
>>> code.
>>>
>>> Also let me take the liberty to tell you that you could take the
>>> chance and clean that horrendous list of modules you will never use.
>>>
>>> Ideally you should just load those modules you use, no more no less.
>>>
>>> Ideally you will use mpm_event too, not mpm_prefork, but I don´t want
>>> to distract you too much, focus on ridding everything php but the
>>> mod_proxy mod_proxy_fcgi and the directives we mentioned earlier.
>>>
>>>
>>> Cheers
>>>
>>>
>>>
>>> El vie, 9 abr 2021 a las 17:36, H (<age...@meddatainc.com>) escribió:
>>>> On 04/09/2021 06:03 AM, Daniel Ferradal wrote:
>>>>> Looks correct yes. But still lots of things you are not showing could be 
>>>>> wrong.
>>>>>
>>>>> To solve issues you have to go one thing at a time, you know for sure
>>>>> apache is pointing to different ports, if you disabled mod_php. Now
>>>>> you must make sure the fpm pools are correct, both versions listening
>>>>> to each port, that you disabled all mod_php stuff, etc. things we
>>>>> can't see because you don't show, so it is quite hard to hand-guide
>>>>> you with just small bits of info.
>>>>>
>>>>> El vie, 9 abr 2021 a las 3:26, H (<age...@meddatainc.com>) escribió:
>>>>>> On 04/08/2021 08:57 PM, Daniel Ferradal wrote:
>>>>>>> There is no such thing as default php version for a site.
>>>>>>>
>>>>>>> You have to make sure you have really two different instances of
>>>>>>> php-fpm running for the different php versions you want to use.
>>>>>>>
>>>>>>> Chances are you have the same php-fpm service with two pools, so both
>>>>>>> may be with the same version.
>>>>>>>
>>>>>>> Apache doesn't care what you do from now on, since it is just reverse
>>>>>>> proxying requests to the selected servers. So it is up to you and your
>>>>>>> php-fpm config and how you start them now.
>>>>>>>
>>>>>>> El vie, 9 abr 2021 a las 1:55, H (<age...@meddatainc.com>) escribió:
>>>>>>>> On 04/08/2021 07:34 PM, H wrote:
>>>>>>>>> On 04/08/2021 06:05 PM, Daniel Ferradal wrote:
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> What you must remove is all scriptalias, addhandler/action 
>>>>>>>>>> directives.
>>>>>>>>>> So I'd say with a directive for each virtualhost you mentioned you
>>>>>>>>>> have you just would need (and of course disable mod_php module):
>>>>>>>>>>
>>>>>>>>>> In one for one version pointing to 9002 port:
>>>>>>>>>> <FilesMatch \.(php|phar)$>
>>>>>>>>>>     SetHandler  "proxy:fcgi://localhost:9002"
>>>>>>>>>> </FilesMatch>
>>>>>>>>>>
>>>>>>>>>> In the other virtualhost you  want to have pointing to 9003:
>>>>>>>>>> <FilesMatch \.(php|phar)$>
>>>>>>>>>>     SetHandler  "proxy:fcgi://localhost:9003"
>>>>>>>>>> </FilesMatch>
>>>>>>>>>>
>>>>>>>>>> Apache is really much more simple and easier than many examples out
>>>>>>>>>> there try to show.
>>>>>>>>>>
>>>>>>>>>> El jue, 8 abr 2021 a las 23:54, H (<age...@meddatainc.com>) escribió:
>>>>>>>>>>> On 04/08/2021 05:06 PM, Daniel Ferradal wrote:
>>>>>>>>>>>> Hello,
>>>>>>>>>>>>
>>>>>>>>>>>> You mention PHP is set to listen to different tcp ports, yet the
>>>>>>>>>>>> config you show from apache points to a unix socket with
>>>>>>>>>>>> mod_proxy_fcgi
>>>>>>>>>>>>
>>>>>>>>>>>> Also worth mentioning you don't need php7_module at all when 
>>>>>>>>>>>> pointing
>>>>>>>>>>>> to FPM with mod_proxy_fcgi, so I would just unload that module 
>>>>>>>>>>>> asap in
>>>>>>>>>>>> case you have some other config lying around taking precedence and
>>>>>>>>>>>> causing the problems you mention.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers
>>>>>>>>>>>>
>>>>>>>>>>>> El jue, 8 abr 2021 a las 22:40, H (<age...@meddatainc.com>) 
>>>>>>>>>>>> escribió:
>>>>>>>>>>>>> Using CentOS 7 and need to run two different versions of php for 
>>>>>>>>>>>>> the websites, php 7.0 and 7.2. The set up is x.x.x.x/site1 and 
>>>>>>>>>>>>> x.x.x.x/site2 and I am using php-fm for both php versions 
>>>>>>>>>>>>> configuring port 9002 for php 7.0 and 9003 for php 7.2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have a conf file for each site (this is site 1 which is 
>>>>>>>>>>>>> supposed to run php 7.0) and called site1.conf, similar to:
>>>>>>>>>>>>>
>>>>>>>>>>>>> <VirtualHost *:80>
>>>>>>>>>>>>>         ServerAdmin xxx
>>>>>>>>>>>>>         ServerName x.x.x.x/site1
>>>>>>>>>>>>>         DocumentRoot /var/www/html/
>>>>>>>>>>>>>         DirectoryIndex info.php
>>>>>>>>>>>>>         ErrorLog /var/log/httpd/site1-error.log
>>>>>>>>>>>>>         CustomLog /var/log/httpd/site1-access.log combined
>>>>>>>>>>>>>
>>>>>>>>>>>>>     <IfModule !mod_php7.c>
>>>>>>>>>>>>>         <FilesMatch \.(php|phar)$>
>>>>>>>>>>>>>             SetHandler 
>>>>>>>>>>>>> "proxy:unix:/var/opt/rh/rh-php70/run/php-fpm/www.sock|fcgi://localhost"
>>>>>>>>>>>>>         </FilesMatch>
>>>>>>>>>>>>>     </IfModule>
>>>>>>>>>>>>> </VirtualHost>
>>>>>>>>>>>>>
>>>>>>>>>>>>> The other site is identical and supposed to run php 7.2 so the 
>>>>>>>>>>>>> file obviously uses site2 instead of site1 and php72 instead of 
>>>>>>>>>>>>> php70.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have installed both php versions and can successfully switch 
>>>>>>>>>>>>> between them on the commandline but have run into problem getting 
>>>>>>>>>>>>> apache to use both. I consulted 
>>>>>>>>>>>>> https://www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-centos-7
>>>>>>>>>>>>>  but apachectl configtest complains that "module php7_module is 
>>>>>>>>>>>>> already loaded, skipping". I can successfully get the websites to 
>>>>>>>>>>>>> use the same php version, either 7.0 or 7.2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I must have missed some configuration step and would appreciate 
>>>>>>>>>>>>> any pointers.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>>>>>>>>>>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>>>>>>>>>>
>>>>>>>>>>> Thank you for your quick reply. I am sort of dabbling with apache 
>>>>>>>>>>> and am not 100% sure what I need to change but would the following 
>>>>>>>>>>> change to the above conf file be what you are telling me?
>>>>>>>>>>>
>>>>>>>>>>>      SetHandler "proxy:fcgi://localhost:9002
>>>>>>>>>>>      ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
>>>>>>>>>>>      AddHandler php70-fcgi .php
>>>>>>>>>>>      Action php70-fcgi /cgi-bin/php70.fcgi
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>>>>>>>>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>>>>>>>>
>>>>>>>>> This is what I did:
>>>>>>>>>
>>>>>>>>> - I disabled what I think are the php_mod statements in both 
>>>>>>>>> 15-rh-php70-php.conf and 15-rh-php72-php.conf by inserting #disabled 
>>>>>>>>> in front of "LoadModule php7_module modules/librh-php70-php7.so" in 
>>>>>>>>> the former and the equivalent in the latter.
>>>>>>>>>
>>>>>>>>> - For the the site1.conf I have:
>>>>>>>>>
>>>>>>>>> <VirtualHost *:80>
>>>>>>>>>         ServerAdmin xxx
>>>>>>>>>         ServerName x.x.x.x
>>>>>>>>>         DocumentRoot /var/www/html/
>>>>>>>>>         ErrorLog /var/log/httpd/site1-error.log
>>>>>>>>>         CustomLog /var/log/httpd/site1-access.log combined
>>>>>>>>>
>>>>>>>>>         <FilesMatch \.(php|phar)$>
>>>>>>>>>                 SetHandler "proxy:fcgi://localhost:9002"
>>>>>>>>>         </FilesMatch>
>>>>>>>>> </VirtualHost>
>>>>>>>>>
>>>>>>>>> and for site2.conf
>>>>>>>>>
>>>>>>>>> <VirtualHost *:80>
>>>>>>>>>         ServerAdmin xxx
>>>>>>>>>         ServerName x.x.x.x
>>>>>>>>>         DocumentRoot /var/www/html/
>>>>>>>>>         ErrorLog /var/log/httpd/site2-error.log
>>>>>>>>>         CustomLog /var/log/httpd/site2-access.log combined
>>>>>>>>>
>>>>>>>>>         <FilesMatch \.(php|phar)$>
>>>>>>>>>                 SetHandler "proxy:fcgi://localhost:9003"
>>>>>>>>>         </FilesMatch>
>>>>>>>>> </VirtualHost>
>>>>>>>>>
>>>>>>>>> - I have checked that I have both rh-php70-php-fpm and 
>>>>>>>>> rh-php72-php-fpm running and one is listening on port 9002 and the 
>>>>>>>>> other on 9003.
>>>>>>>>>
>>>>>>>>> Yet, when I check the php version in a html page in each of the site 
>>>>>>>>> directories I only see php 7.0 loading.
>>>>>>>>>
>>>>>>>>> So, there must be something more I need to do?
>>>>>>>>>
>>>>>>>>> Another question, I found that the Customlogs above catch messages 
>>>>>>>>> from all sites, not just site1 or site2 respectively. How can I 
>>>>>>>>> change so that each CustomLog only catches accesses for that 
>>>>>>>>> particular site?
>>>>>>>>>
>>>>>>>> How does the system define which the "default" php version for a 
>>>>>>>> particular site? Or is there no default and I have to write a eg 
>>>>>>>> site3.conf file specifying the port for each site?
>>>>>>>>
>>>>>>>> I should have added that I access the sites like this: x.x.x.x/site1 
>>>>>>>> and x.x.x.x/site2 etc.
>>>>>>>>
>>>>>>>> And I restarted httpd after each change.
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>>>>>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>>>>>
>>>>>> This is from ps aux | grep fpm:
>>>>>>
>>>>>> root     17004  0.0  0.6 339008 11244 ?        Ss   01:18   0:00 
>>>>>> php-fpm: master process (/etc/opt/rh/rh-php70/php-fpm.conf)
>>>>>> apache   17005  0.0  0.3 339112  7352 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17006  0.0  0.3 339112  7356 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17007  0.0  0.4 339252  8452 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17008  0.0  0.3 339112  7360 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17009  0.0  0.3 339112  7368 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> root     17036  0.0  0.9 562800 18540 ?        Ss   01:18   0:00 
>>>>>> php-fpm: master process (/etc/opt/rh/rh-php72/php-fpm.conf)
>>>>>> apache   17037  0.0  0.3 562800  6976 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17038  0.0  0.3 562800  6976 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17039  0.0  0.3 562800  6976 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17040  0.0  0.3 562800  6976 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>> apache   17041  0.0  0.3 562800  6980 ?        S    01:18   0:00 
>>>>>> php-fpm: pool www
>>>>>>
>>>>>> Does this not look correct?
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>>>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>>>
>>>> You write "both versions listening to each port", I have each version 
>>>> listening to its port, ie php 70 to 9002 and php 72 to 9003 as confirmed 
>>>> by netstat -tlpn.
>>>>
>>>> By the way, here are my httpd modules:
>>>>
>>>> Loaded Modules:
>>>>  core_module (static)
>>>>  so_module (static)
>>>>  http_module (static)
>>>>  access_compat_module (shared)
>>>>  actions_module (shared)
>>>>  alias_module (shared)
>>>>  allowmethods_module (shared)
>>>>  auth_basic_module (shared)
>>>>  auth_digest_module (shared)
>>>>  authn_anon_module (shared)
>>>>  authn_core_module (shared)
>>>>  authn_dbd_module (shared)
>>>>  authn_dbm_module (shared)
>>>>  authn_file_module (shared)
>>>>  authn_socache_module (shared)
>>>>  authz_core_module (shared)
>>>>  authz_dbd_module (shared)
>>>>  authz_dbm_module (shared)
>>>>  authz_groupfile_module (shared)
>>>>  authz_host_module (shared)
>>>>  authz_owner_module (shared)
>>>>  authz_user_module (shared)
>>>>  autoindex_module (shared)
>>>>  cache_module (shared)
>>>>  cache_disk_module (shared)
>>>>  data_module (shared)
>>>>  dbd_module (shared)
>>>>  deflate_module (shared)
>>>>  dir_module (shared)
>>>>  dumpio_module (shared)
>>>>  echo_module (shared)
>>>>  env_module (shared)
>>>>  expires_module (shared)
>>>>  ext_filter_module (shared)
>>>>  filter_module (shared)
>>>>  headers_module (shared)
>>>>  include_module (shared)
>>>>  info_module (shared)
>>>>  log_config_module (shared)
>>>>  logio_module (shared)
>>>>  mime_magic_module (shared)
>>>>  mime_module (shared)
>>>>  negotiation_module (shared)
>>>>  remoteip_module (shared)
>>>>  reqtimeout_module (shared)
>>>>  rewrite_module (shared)
>>>>  setenvif_module (shared)
>>>>  slotmem_plain_module (shared)
>>>>  slotmem_shm_module (shared)
>>>>  socache_dbm_module (shared)
>>>>  socache_memcache_module (shared)
>>>>  socache_shmcb_module (shared)
>>>>  status_module (shared)
>>>>  substitute_module (shared)
>>>>  suexec_module (shared)
>>>>  unique_id_module (shared)
>>>>  unixd_module (shared)
>>>>  userdir_module (shared)
>>>>  version_module (shared)
>>>>  vhost_alias_module (shared)
>>>>  dav_module (shared)
>>>>  dav_fs_module (shared)
>>>>  dav_lock_module (shared)
>>>>  lua_module (shared)
>>>>  mpm_prefork_module (shared)
>>>>  proxy_module (shared)
>>>>  lbmethod_bybusyness_module (shared)
>>>>  lbmethod_byrequests_module (shared)
>>>>  lbmethod_bytraffic_module (shared)
>>>>  lbmethod_heartbeat_module (shared)
>>>>  proxy_ajp_module (shared)
>>>>  proxy_balancer_module (shared)
>>>>  proxy_connect_module (shared)
>>>>  proxy_express_module (shared)
>>>>  proxy_fcgi_module (shared)
>>>>  proxy_fdpass_module (shared)
>>>>  proxy_ftp_module (shared)
>>>>  proxy_http_module (shared)
>>>>  proxy_scgi_module (shared)
>>>>  proxy_wstunnel_module (shared)
>>>>  ssl_module (shared)
>>>>  systemd_module (shared)
>>>>  cgi_module (shared)
>>>>  php7_module (shared)
>>>>
>>>> Does the above look correct? Should the last one, php7_module, be loaded 
>>>> since I am trying to run both 7.0 and 7.2?
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>
>> I got rid of php7_module and now have two sites loading php 7.0 and one 
>> loading 7.2... The latter is nextcloud and it must be doing something 
>> different to load 7.2. My intent was for that to use 7.2, another one to 
>> also use 7.2 and one to use 7.0. However, only nextcloud loads 7.2 and the 
>> other two load 7.0.
>>
>> I have double-checked the conf files and they seem to be pointing to the 
>> correct php versions...
>>
>> You mention pruning the modules and specifically getting rid of php modules. 
>> Which ones should I prune?
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>> For additional commands, e-mail: users-h...@httpd.apache.org
>>
>
I just looked at my notes on what I have installed on this server and when. I 
cannot find any extraneous apache modules in my notes so it should be a vanilla 
installation of httpd. Since I am not an apache expert, it would be foolish of 
me to just start removing stuff without understanding why I am doing it.

But, surely there must be some kind of authoritative documentation on how to 
accomplish what I am seeking to do? As I said, I have found a number of web 
pages but who knows if they are correct or not?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to