New install - Trying to install WHMCS but IonCube does not load

SYSTEM INFORMATION
OS type and version Rocky Linux
Virtualmin version 7.3 Pro

First time using Virtualmin, trying to migrate my cpanel sites.
First dependency for me was php7.4, installed that and configured the site to use this version. Great the site is up.
Now I am trying to install WHCMS and I cannot get past the IonCube not loaded error… Using the scripts I have installed ioncube and I can see there’s an entry in the /home/site/etc/php.ini is see:

zend_extension=/home/site/etc/ioncube_loader_lin_7.4.so

And the 7.4.so ioncube file exist in the same directory. But WHMCs continues to say:

Site error: the ionCube PHP Loader needs to be installed

I have search this forum and google trying to find some clues but to no avail. any help would really be appreciated.

Thank you

Are you sure you didn’t install mod_php when installing PHP 7.4? That breaks everything.

Very good question, I did see mod_php mentioned in the server settings - subserver settings (i selected FPM) but not in the general.
Anyway i can confirm mod_php was installed?

If you see mod_php execution mode listed in server settings, you have installed mod_php, and you definitely should not have.

Uninstall it. It’s in the package named simply php or php7.4-php or similar, on RPM-based distributions.

There is never any reason to have mod_php installed, and it breaks all other execution modes.

I followed this Virtualmin article:

Multiple PHP Versions

Not sure why it would install mod_php.

Forgive me for being dense, just started learning all this. Are you saying I should remove php7.4? Its a principal dependency I need.

I restored from snapshot, clean install of Rocky, ran the Virtualmin install script.

Before I run the server configuration wizard, I goto server templates/[Default Settings] and I can see that the Default PHP exection mode is set to FCGID but when I goto [Settings For Sub-Servers] I see that mod_php is selected.
I have not installed any auxiliary php version, this is a clean install.

It would not.

None of our docs ever recommend installing mod_php.

That may be a bug. A fresh install performed on a freshly installed OS does not have mod_php.

When you run the configuration check what execution modes are shown?

Please indulge my workflow here.

Installed a fresh install of Rocky Linux 9 on Heztner.
Ran the Virtualmin install script, copied from the Software Licenses page.
Once server is online I goto site:10000 and this is where it gets interesting. If I dont do the “Post-installation Wizard” goto System Settings/Server Templates/ Default Settings/PHP options, I get the following:

And in the System Settings/Server Templates/ Settings For Sub-Servers/PHP options, i get this:

Not sure why mod_php is there nor why its red… So now I run the Post-Installation wizard i can clearly see that the execution is FPM.

After the Post-Installation is done I go back to System Settings/Server Templates/ Default Settings/PHP options and I get:

And in the System Settings/Server Templates/ Settings For Sub-Servers/PHP options, this:

Sorry for the long post… Virtualmin has really grown on me and i really like it, i’d like it more if i could resolve this.

Thank you for your patience.

OK, the config check looks good, but there’s definitely a bug in the sub-server template. I’ll let @Jamie know.

That does not explain why IonCube isn’t loading, though.

So, we need to see errors from the error log for this domain, so we can see if we can spot why it isn’t loading the module. FPM might also have a log, somewhere, I don’t remember…yes, looks like there’s an error log in /var/log/php-fpm. Check there, too.

And, finally, make a simple phpinfo script in the public_html for the domain in question.


<?php

// Show all information, defaults to INFO_ALL
phpinfo();

?>

And browse to it.

That may give us some clues about what’s happening, I don’t know.

Thank you for your time.

One more bit of information, in the System Settings/Server Templates/ Settings For Sub-Servers/PHP options I have selected FPM. When i do this and go back, the mod_php is no longer there(?).

I have now installed PHP 7.4.
Reference here: https://www.virtualmin.com/documentation/web/multiplephp/

I am in the process of restoring my cpanel site and will report further findings soon.

Thank you

That does look like a bug in the default template for sub-servers - I’ll fix it in the next Virtualmin release.

3 Likes

Thank you Jamie.

The store.domain.com is setup as a subserver of domain.com.

Now onto the IonCube issue, which is still persistent. I have setup a sub server, made sure that php execution mode is FPM. Installed IonCube via the install scripts, then installed WHMCS also via the scripts. Upon script “completion”, I get this:

Attention specifically to “System check failed”, tried several times to install but the result is same. And the outcome is always:

Not certain its related or consequential, but in order to see the main page for https://store.domain.com subserver, I have to type https://store.domain.com// * note two slashes. If use https://store.domain.com/ it takes me to the parent server website(?).

I have checked that IonCube has a file for php7.4. And here are the php options for this subserver

I have checked logs as well:

var/log/php-fpm/error.log output
[07-Jan-2023 00:24:30] NOTICE: fpm is running, pid 19544
[07-Jan-2023 00:24:30] NOTICE: ready to handle connections
[07-Jan-2023 00:24:30] NOTICE: systemd monitor interval set to 10000ms
[07-Jan-2023 12:12:53] NOTICE: fpm is running, pid 776
[07-Jan-2023 12:12:53] NOTICE: ready to handle connections
[07-Jan-2023 12:12:53] NOTICE: systemd monitor interval set to 10000ms
[07-Jan-2023 15:12:41] NOTICE: Terminating …
[07-Jan-2023 15:12:41] NOTICE: exiting, bye-bye!

var/log/httpd/error_log output
[Sun Jan 08 00:01:47.936970 2023] [suexec:notice] [pid 910:tid 910] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Jan 08 00:01:47.958877 2023] [lbmethod_heartbeat:notice] [pid 910:tid 910] AH02282: No slotmem from mod_heartmonitor
[Sun Jan 08 00:01:47.973825 2023] [mpm_event:notice] [pid 910:tid 910] AH00489: Apache/2.4.53 (Rocky Linux) OpenSSL/3.0.1 mod_fcgid/2.3.9 configured – resuming normal operations
[Sun Jan 08 00:01:47.973838 2023] [core:notice] [pid 910:tid 910] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
[Sun Jan 08 00:09:26.211998 2023] [mpm_event:notice] [pid 910:tid 910] AH00493: SIGUSR1 received. Doing graceful restart
[Sun Jan 08 00:09:26.279705 2023] [lbmethod_heartbeat:notice] [pid 910:tid 910] AH02282: No slotmem from mod_heartmonitor
[Sun Jan 08 00:09:26.281263 2023] [mpm_event:notice] [pid 910:tid 910] AH00489: Apache/2.4.53 (Rocky Linux) OpenSSL/3.0.1 mod_fcgid/2.3.9 configured – resuming normal operations
[Sun Jan 08 00:09:26.281283 2023] [core:notice] [pid 910:tid 910] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
[Sun Jan 08 00:15:20.694152 2023] [mpm_event:notice] [pid 910:tid 910] AH00492: caught SIGWINCH, shutting down gracefully
[Sun Jan 08 00:15:29.722885 2023] [suexec:notice] [pid 894:tid 894] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Jan 08 00:15:29.760288 2023] [lbmethod_heartbeat:notice] [pid 894:tid 894] AH02282: No slotmem from mod_heartmonitor
[Sun Jan 08 00:15:29.764404 2023] [mpm_event:notice] [pid 894:tid 894] AH00489: Apache/2.4.53 (Rocky Linux) OpenSSL/3.0.1 mod_fcgid/2.3.9 configured – resuming normal operations
[Sun Jan 08 00:15:29.764420 2023] [core:notice] [pid 894:tid 894] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
[Sun Jan 08 00:16:46.623502 2023] [mpm_event:notice] [pid 894:tid 894] AH00493: SIGUSR1 received. Doing graceful restart
[Sun Jan 08 00:16:46.690041 2023] [lbmethod_heartbeat:notice] [pid 894:tid 894] AH02282: No slotmem from mod_heartmonitor
[Sun Jan 08 00:16:46.691762 2023] [mpm_event:notice] [pid 894:tid 894] AH00489: Apache/2.4.53 (Rocky Linux) OpenSSL/3.0.1 mod_fcgid/2.3.9 configured – resuming normal operations
[Sun Jan 08 00:16:46.691773 2023] [core:notice] [pid 894:tid 894] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’

var/log/virtualmin/store.domain.com_error_log output
[Sat Jan 07 23:45:39.715888 2023] [ssl:warn] [pid 909:tid 909] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sat Jan 07 23:46:15.110971 2023] [ssl:warn] [pid 909:tid 909] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sat Jan 07 23:48:26.282335 2023] [ssl:warn] [pid 909:tid 909] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:01:47.939602 2023] [ssl:warn] [pid 910:tid 910] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:01:47.957242 2023] [ssl:warn] [pid 910:tid 910] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:09:26.278123 2023] [ssl:warn] [pid 910:tid 910] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:15:29.728256 2023] [ssl:warn] [pid 894:tid 894] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:15:29.758710 2023] [ssl:warn] [pid 894:tid 894] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 08 00:16:46.687346 2023] [ssl:warn] [pid 894:tid 894] AH01906: store.domain.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

Thank for your perseverance on this issue.

I’d still like to see that phpinfo output I mentioned above. We’re not getting the module loaded, but it’s not clear to me why. May be related to it being a sub-server; I think I’ve seen someone else mention a problem with PHP modules in sub-servers.

DM sent with link.

One observtion, not knowing if it means anything I figure I post it. While reviewing ionCube install it says this:
Installed URL https://store.domain.com~/etc/*

Ok, ok i’ll stop helping :stuck_out_tongue:

In hopes of getting this to work, in a process of elimination, I have eliminated the sub-server model and simply created and alias in the main server (domain.com/store), however the result is the same;

Site error: the ionCube PHP Loader needs to be installed.

I have confirmed that the script is installed. I appreciate your time.

I’m not sure what to make of it. I see from the phpinfo that the module is definitely not loaded. So, it’s an accurate assessment by WHMCS. I just don’t know why it isn’t working right. I don’t think we’ve had other reports of this problem…

I’ll have to try it myself, I guess. What version of Rocky are you running?

Will version 7.10.3 run on php 7.4?
https://docs.whmcs.com/PHP_Version_Support_Matrix

1 Like

I’m running Rocky Linux 9. But first i am going to look at the matrix so kindly provided by @stefan1959.

1 Like

Thank you for the matrix. On my cpanel server I am running php7.4 WHMCS 8.1 and according to the matrix it is compatible. In fact it works there but not here.
The screencap was one of my attempts in testing other versions.

1 Like