Installing WHMCS on virtualmin

Hi I have been trying to find a solution to be able to install whmcs on one of my vmin site, and wondering if anyone can help me, where i keep failing…

I am currently using a trial of whmcs and want it to work with virtualmin, even though I have found a lot of posts discussing, whmcs and virtualmin, nothing shows you how to install, well not the way I want.

apparently I can install virtualmin via whmcs but that’s not what I’m after, and after so many failed attempts I thought I would ask around :slight_smile:

Im using debian 5.0464bit and I have done the basic install with ioncube and curl etc, and all seems to work fine, but when I attempt to run crons for say monitoring the admin directory or for support tickets etc, I get the error,

[code]Output from command php -q /home/hostmewebz/public_html/smclients/seedmin/cron.php …

Site error: the file /home/hostmewebz/public_html/smclients/includes/hookfunctions.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.[/code]

and no matter what I try or were I try it wont work. I have tried moving ioncube to the public_html directory and pointed the zend_extention to the public_html dir, but that failed because php.ini would not pick up that ioncube was installed, so I then tried in the var directory and a few others, but failed each time, so I then thought maybe it would be easier with ubuntu (dnt ask me why lol) but anyways same thing, whmcs wont pickup on ioncube even tho it shows in php info…
Can anyone please help me get over this hurdle…

Thanks

Which version of virtualmin? GPL or Pro?
Is the domain where you have WHMCS installed running in mod_php, CGI or mod_fcgid?

Did you install Zend according to their instructions? Which version of Zend?
Did you install Ioncube according to their instructions?
Do you have the correct lines in the php.ini?

It would look like this with Zend 3.3.3:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Did you restart Apache after installation?

the line needed is in your used php.ini
what says phpinfo() ?
Create a info.php in the whmcs domain, put below code in and call it in a browser.
Is the Ioncube module actually loaded?

[code]<?php

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

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>
[/code]

Hi I created the php info, and ioncube is still loaded, I haven’t had any trouble getting the ioncube to show in php info, its just after I install whmcs and try to create the crons needed I would get the error, that

hookfunctions.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator

which makes me confused because it is actually loaded, the only thing i guess is that whmcs or something isnt picking up on it…

Ive added a screen shot of my php info additional moduals, this time I also created the info page with the code you gave me, instead of

<?php phpinfo(); ?>

which i normaly use…

also with the lines you showed me regarding zend, if I have to manually put them somewhere, I haven’t done that before…
The most Ive done regarding zend is just that one line

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

in the php.ini

Thanks:)

In the instructions it doesnt say to install zend, what I did on my debian LAMP, before I used virtualmin GPL, was download and unpack ioncube, then ftp it to the server, which I then would use the

mv /home/husskii/ioncube /usr/local/

command, the restart apache and find ioncube in my php info under addon modules.
Then I would ftp whmcs to the internet root dirtectory and install via my browser…

after Im done I would create the crons in webmin and all was done…
I got no errors and it worked like a charm.

this time with virtualmin GPL I uploaded ioncube via the site user, then use root to move it to the /usr/local/ directory, then upload whmcs again with the site user and go to my browser and install whmcs, but this time it woulodnt allow me to create crons, thus giving me the errors I mentioned in my first post…

I havent seen anything in the instructions to actually install zend, the max I installed was

apt-get install curl php5-curl libcurl4-openssl-dev

this is wat it looks like in my php info file

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

this is the instructions I follow when installing whmcs

http://wiki.whmcs.com/Installing_WHMCS

I must say that, I have never seen this…

[Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

thanks

Get ZendOptimiser 3.3.3, install it over a shell and put the code I posted earlier at the bottom of php.ini.
That is how i got my WHMCS working.
I couldn’t get it to work with only Ioncube either.

in a shell, do:
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
Decompress it.
tar xvfz ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
then run install.sh and follow instructions

You may need to get the 64bit version from zends website, not sure if it exists though

my phpinfo looks like:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright © 1998-2009 Zend Technologies
with the ionCube PHP Loader v3.3.7, Copyright © 2002-2009, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright © 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright © 1998-2007, by Zend Technologies

HI I have just downloaded the ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz via the site, then ftp’d across to the tmp directory on my server, after that I followed the instructions you posted, by unpacking

vs2:/tmp# tar xvfz ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

then attempted to run the install.sh command and got the error

vs2:/tmp/ZendOptimizer-3.3.9-linux-glibc23-x86_64# install.sh -bash: install.sh: command not found

so I ran ls -l to see if it was maybe ./install.sh like vmin but all I found were these files…

vs2:/tmp/ZendOptimizer-3.3.9-linux-glibc23-x86_64# ls -l total 44 drwxr-xr-x 9 root root 4096 2009-08-24 21:58 data -rw-r--r-- 1 root root 10342 2006-05-19 03:21 EULA-ZendOptimizer -rw-r--r-- 1 root root 7716 2009-08-24 21:58 Inventory.xml -rw-r--r-- 1 root root 10342 2006-05-19 03:21 LICENSE -rw-r--r-- 1 root root 469 2009-08-24 21:58 md5 -rw-r--r-- 1 root root 1264 2009-08-24 21:54 README-ZendOptimizer

so I attempted ./install.sh just in case but encountered the same error as i got with install.sh

after unpacking the tar.gz on my local pc and having a look in its folders I noticed that the data folder that there has more directories such as 4_2_0_comp, 4_2_x_comp etc all the way upto 5_2_x_comp and inside 5_2_x_comp the is a file called ZendOptimizer.so

just a theroy lol, but is it possible that I may have to upload that to a directory such as /usr/local/ and then maybe add the path to the php.ini as I did with ioncube…

EDITED**** Very strange I just had a look at the pdf install instructions that came with the download and it shows the same install method you gave me ronald but as mentioned there is no option to actually use ./install.sh or install.sh…

[ONCE AGAIN IM STUCK LOL] oh by the way I’m just downloading the optimizer, I dnt need anything else do I, such as the ZEND GAURD or ZEND SERVER…

thanks:)

Ok I think its installed or at least loaded now, I found a read me in the download folder and it said to do the same as what I mentioned earlier, which was the same method as ioncube loader by putting the data folder in the /usr/local/ directory, then opened php,ini and sent the path to it the same way as ioncube, which was

zend_extension= /usr/local/data/5_2_x_comp/ZendOptimizer.so

now I have the following in my php info page… [ATTACHED]

also I dnt have any of these to add to my php.ini

[Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

other then ZendOptimizer.so I have no other files, except a few read me files…

is there anything else I need to do, am I missing anything…

OK hopefully it will all work as planed, so ill try go ahead with the install of whmcs again and see if it help…

if there is anything else I need to do, please let me know…

Thanks:)

EDIT* Damn I just reinstalled and again I still get the same error when I try run crons,

[code]Output from command php -q /home/hostmeweb/public_html/whmcs/admin/cron.php …

Site error: the file /home/hostmeweb/public_html/whmcs/includes/hookfunctions.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.[/code]

I guess I need

[Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

But I dnt have them and they didnt come with the download?

i gave you the download link as a wget a few posts above…read it again…

in a shell, do:
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glib
Decompress it.
tar xvfz ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
then run install.sh and follow instructions

You may need to get the 64bit version from zends website, not sure if it exists though

the zendoptimiser 3.3.9 has no installer and need to be placed on the server, but i didnt get that to work either. so version 3.3.3 is what’s working on my server. try that one too, may get the 64bit version off their site though.

actually I just tried ioncube on another server which is 64bits and I got whmcs running there without ZendOptimiser.
I uploaded the iocube folder to /usr/local/ioncube I downloaded the 64bit version http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip.

this is in the php.ini: zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

HI ronald
Actually getting whmcs to work, like the site will load and I can login and use the features, add products etc, but when i try run the cron jobs, like

php -q /home/hostmeweb/public_html/whmcs/admin/cron.php

in virtualmin/webmin I get the following error

[code]Output from command php -q /home/hostmeweb/public_html/whmcs/admin/cron.php …

Site error: the file /home/hostmeweb/public_html/whmcs/includes/hookfunctions.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.[/code]

which basically means I cant run many tasks because there is a few sections like the support ticket systems, which need to be automated, and need crons to run… also I cant monitor certain folders, such as wen someone tries to login incorrectly I wont be notified, which is needed for security…

Where you able to run cron jobs, on your setup…

Thanks:)

On my 64bit server I can not run the cron as it needs ioncube, just as with your system. However Zend is not installed on that system.

On the 32bit server I can run that cron job. Here I have ZendOptimiser installed.

So although WHMCS will run with only Ioncube, for all functionality it seems to need ZendOptimiser as well.

Do install ZendOptimiser and see how it goes. You dont need the server nor guard.

I thought I would try the 32bit link you gave me and see if it would work with 64bit, but the link dead, as were a few others on the net…

[code]Not Found

The requested URL /optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glib was not found on this server.[/code]

and the zend site doesn’t have the 3.3.3 version, only the 3.3.9 which i tried earlier and it had no install candidate, just the same method as ioncube which was move the .so file to usr/local/ and add it to the php.ini…

so i googled ZendOptimizer 3.3.3 64bit, and found one which is like the one in your previous post and it has all the directory’s and installs needed.

I’m testing it now on my test server to see how it works…
Only thing its from a source I found on the net but I dnt know if its a trusted source…
(it looks like its off someone server…)

I’m still searching the net hoping to find a recognized source, but will test this in the meantime, to make sure it will work…

The link to where I found zend is
http://analytics2.com/temp/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz

btw I noticed that

zend.ze1_compatibility_mode = off

should this be turned on, since Im trying to use zend…

Thanks:)

okay so after installing zendoptimiser 3.3.9 the cron did not proceed. so there must be something else that Im missing. Odd as it works fine on the 32bit server.
Per haps ask Matt of WHMCS per ticket too.

3.3.9 didn’t have an install candidate like the 3.3.3, with 3.3.9 all I could do was move the .so file to usr/local and add it to php (that was the install instructions…

with the 3.3.3 I managed to find it and this time it had the ./install .sh but again it would not help with the cron problem, still that same error about ioncube…

I will test 1more time this time installing all that is needed first b4 I install whmcs and then see if it works, if not I will ask in the forums at whmcs…

I would of sent a support ticket but because Im only testing the product at the moment, I dnt have that feature…

I thought before I go ahead and pay for it, I might as well make sure it will work the way I want…

Thanks heaps for all your help, its been great :slight_smile:

Ill make a ticket at whmcs. Since I can’t get the cron to work on my 64bit version either. See if Matt has any ideas.
Im pretty sure it’s server side though.

That would really be good, thanks :slight_smile:

Im just test it on the 32bit for the 5trh time lol, and im having no luck… I dnt know why but after i install zend and then add ioncube I get an apache error

vs3:~# /etc/init.d/apache2 restart Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs failed!

all I know is that it only happens after I try add ioncube…

I am able to add ioncube and have it show as loaded in php info page, if I add it the normal way like i do on the 64bit, but again when i try run crons, it fails the same way as it does on the 64bit…