Or, if you prefer: “WHMCS versus PHP.” Blogged for the next sysadmin searching Google.
$DAYJOB recently acquired WHMCS to help automate virtual server provisioning, billing, and so on. According to everything I’ve read, WHMCS runs just fine on FreeBSD, so I installed the prerequisites on a 9.0-i386 machine. As with any server for PHP-based Web sites, I verified that the server processed PHP with a simple phpinfo()
page. I then grabbed the WHMCS tarball (no link, you must be a customer, sorry), extracted it into the directory, ran the setup program, fed in the database information and license key…
..and it wouldn’t run. Calling up the app resulted in a blank page. WHMCS provides troubleshooting instructions for this exact circumstance. I enabled the requested debugging, but couldn’t get WHMCS to produce an error. Adding a bogus argument to my phpinfo() test page made an error appear, so I was confident the failure to display an error message wasn’t a server configuration problem.
This comes down to FreeBSD’s PHP packaging.
When you install PHP on the popular varieties of Linux, you generally get a whole slew of PHP extensions with it. BSD-based systems only install exactly what you ask for: if you want PHP but don’t request any extensions, you won’t get any extensions.
I agree with this approach. Every piece of installed software needs patching and updating. Every piece of installed software is a potential attack vector. If I don’t need a piece of software, I don’t want it on my server.
WHMCS doesn’t list all of the required extensions. They assume you have a kitchen-sink PHP install. After some reading and research, I found that WHMCS runs fine with the following PHP modules and extensions installed. I’ve included the version numbers for reference, but you should be able to just pkg_add -r
all of these by name.
php5-5.3.8
php5-bz2-5.3.8
php5-ctype-5.3.8
php5-curl-5.3.8
php5-dom-5.3.8
php5-extensions-1.6
php5-filter-5.3.8
php5-gd-5.3.8
php5-hash-5.3.8
php5-iconv-5.3.8
php5-json-5.3.8
php5-ldap-5.3.8
php5-mysql-5.3.8
php5-openssl-5.3.8
php5-pdo-5.3.8
php5-pdo_sqlite-5.3.8
php5-phar-5.3.8
php5-posix-5.3.8
php5-session-5.3.8
php5-simplexml-5.3.8
php5-tokenizer-5.3.8
php5-xml-5.3.8
php5-xmlreader-5.3.8
php5-xmlwriter-5.3.8
php5-zip-5.3.8
php5-zlib-5.3.8
I’d really like to trim this down to only what is strictly necessary to run WHMCS, but that information doesn’t seem to be available. I could methodically remove and reinstall extensions to see when WHMCS breaks, but I have better things to do than debug missing docs for a commercial PHP app.
On the plus side: now that WHMCS is installed, it’s really slick. I’m looking forward to using it. Actually, I’m looking forward to having other people use it for me, so I can do more interesting things than provision servers, accounts, and billing.
Hope you all enjoyed reading this and hopefully it has helped your gameplay.
last hitting with the champion you want to improve with.
If you find yourself getting nuked down by burst AP champions, get Maw of Malmortious.
my site :: riot points generator (league-of-legends-Twitch-build.Tumblr.com)