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 > -- Daniel Ferradal HTTPD Project #httpd help at Freenode --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org