Jump to content

Clean install of 8.6 with PHP8.1


Recommended Posts

As always support have been no help whatsoever and refused to provide the information that you would expect from any sofware, namely clear installation instructions of the components their software depends on.

I am not a developer or Linux admin I am a business person wanting to use supposed business software.

I am using Debian 11/Bullseye

I can install MySQL
I can install PHP
I can install Nginx

I cannot for the life of me work out the names of the PHP extensions that I need to install and support wont provide them - they clearly know as they provide charged installation services and the useless documentation is clearly intended to force people down this path and I refuse to pay a software vendor to install their own software due to their inadequate documentation

I may be able to configure Nginx (I need WHMCS to co-exist with Magento from a previous post on here)

If anyone can advise the PHP extension names I need to install it would be greatly appreciated 

If anyone has a working Nginx config with WHMCS co-existing with Magento that would also be appreciated

This is probably tthe final straw for WHMCS as I am now seriously contemplating abandoning the project that has a dependency on a particular WHMCS module

 

Link to comment
Share on other sites

4 minutes ago, leemahoney3 said:

ou can view the required PHP extensions here: https://docs.whmcs.com/System_Requirements

Thanks for that

I am not expectng WHMCS to install for free, I am however expecting them to provide the same level of documentation that pretty much every other software vendor of business applications provides - it shouldnt require advanced admin or developer support to install their application.
I am not going to pay a vendor for a service that they are making necessary due to not providing adequate documentation.

Unfortunately that doesnt help me really as I dont know PHP (nor should I need to) its the package names that I need and expect WHMCS to provide

Link to comment
Share on other sites

32 minutes ago, MrGettingRatherFrustrated said:

Thanks for that

I am not expectng WHMCS to install for free, I am however expecting them to provide the same level of documentation that pretty much every other software vendor of business applications provides - it shouldnt require advanced admin or developer support to install their application.
I am not going to pay a vendor for a service that they are making necessary due to not providing adequate documentation.

Unfortunately that doesnt help me really as I dont know PHP (nor should I need to) its the package names that I need and expect WHMCS to provide

There are so many different environments that WHMCS can be installed in, creating documentation for each would be well outside their remit.

If you do not know how to install the PHP extensions listed on that page, you should really consider getting someone to set up the environment for you as WHMCS is not a plug and go application and requires a bit of configuration post-install.

Perhaps a managed VPS or shared hosting would be more adequate as they would come with all required PHP extensions.

Link to comment
Share on other sites

"There are so many different environments that WHMCS can be installed in, creating documentation for each would be well outside their remit."
It can only be installed on Linux, so sufficiently detailed installation instructions for RHEL/Debian/Ubuntu would be the minimum expected

"If you do not know how to install the PHP extensions listed on that page, you should really consider getting someone to set up the environment for you as WHMCS is not a plug and go application and requires a bit of configuration post-install."
I know how to install PHP extensions but I need to know what theie package names are to do so- it is a business application not a development platform (although frequently that seems to be neded such as having to craft hooks to add/remove/change menu which is simply ludicrous)

"Perhaps a managed VPS or shared hosting would be more adequate as they would come with all required PHP extensions."
Compleltly unneccesary, its WHMCS documentation that needs changing not the way I do things

I you can provide the package names of the php extensions then please do so 

Link to comment
Share on other sites

8 minutes ago, MrGettingRatherFrustrated said:

"There are so many different environments that WHMCS can be installed in, creating documentation for each would be well outside their remit."
It can only be installed on Linux, so sufficiently detailed installation instructions for RHEL/Debian/Ubuntu would be the minimum expected

"If you do not know how to install the PHP extensions listed on that page, you should really consider getting someone to set up the environment for you as WHMCS is not a plug and go application and requires a bit of configuration post-install."
I know how to install PHP extensions but I need to know what theie package names are to do so- it is a business application not a development platform (although frequently that seems to be neded such as having to craft hooks to add/remove/change menu which is simply ludicrous)

"Perhaps a managed VPS or shared hosting would be more adequate as they would come with all required PHP extensions."
Compleltly unneccesary, its WHMCS documentation that needs changing not the way I do things

I you can provide the package names of the php extensions then please do so 

Not necessarily true, WHMCS can be run on a WAMP stack also. It's the end users responsibility to ensure their environment is compatible and ready to use WHMCS on, all the requirements for the software are set out in plain English. E.g. if your using cPanel you may be using MultiPHP, or you may be using PHP Selector. If you are using another control panel the flow of operations you need to follow to enable a PHP extension may also differ, the same goes for containers, etc...

A quick Google search of the extension names will give you detailed instructions on how to install the extensions and their correct names. This may entirely depend on the PHP version you are using (e.g. sodium extension may be php-sodium or php81-sodium etc...)

The reason I suggested you go managed or shared hosting is that all extensions required will likely be available or easier to enable through the control panel used by the provider.

Link to comment
Share on other sites

5 minutes ago, leemahoney3 said:

Not necessarily true, WHMCS can be run on a WAMP stack also. It's the end users responsibility to ensure their environment is compatible and ready to use WHMCS on, all the requirements for the software are set out in plain English. E.g. if your using cPanel you may be using MultiPHP, or you may be using PHP Selector. If you are using another control panel the flow of operations you need to follow to enable a PHP extension may also differ, the same goes for containers, etc...

A quick Google search of the extension names will give you detailed instructions on how to install the extensions and their correct names. This may entirely depend on the PHP version you are using (e.g. sodium extension may be php-sodium or php81-sodium etc...)

The reason I suggested you go managed or shared hosting is that all extensions required will likely be available or easier to enable through the control panel used by the provider.

Jesus, do you work for WHMCS?

You are entitled to your opinions but if you are not going to answer the exam question please stop clutering my request with your opinions

Link to comment
Share on other sites

I'm going to have to agree with @leemahoney3 here.

WHMCS was the first ever software I deployed on a web server when I was 15 or 16. I wasn't tech savy or anything like that, and WHMCS' documenation provided me with all the information that I needed. My only issue was installing Ioncube.
The WHMCS documentation gives a full list of all requirements, including recommendations as well.

You don't have to know PHP to install WHMCS but if you're hosting everything yourself, it's expected that you know how to install the requirements. PHP extensions can be tricky because they can have different names depending on the distro, but they're generally called something like "php8.1-mbstring". Do note that not every distribution has extensions for PHP 8.1 available on the default repositories, so you'd either need to add a custom repository or build the extensions yourself. WHMCS cannot be expected to provide help for this - it would be really cool if they did but it can't be expected.

4 hours ago, MrGettingRatherFrustrated said:

Compleltly unneccesary, its WHMCS documentation that needs changing not the way I do things

I think you're exaggerating. I have a long list of why I hate working with WHMCS but their documentation is very solid.
If you want to know the names of the packages for the extensions, why don't you just search for them on Google or your preferred search engine?

The installation for WHMCS does exactly what it's supposed to do - it tells you how to install WHMCS itself. WHMCS should not provide distro-specific documentation for how to install the webserver, PHP (including extensions) and the database server.

Link to comment
Share on other sites

4 hours ago, MrGettingRatherFrustrated said:

Jesus, do you work for WHMCS?

You are entitled to your opinions but if you are not going to answer the exam question please stop clutering my request with your opinions

No, I do not. This is a discussion board and I believe I have answered your questions, I've given advice around the PHP modules and Nginx configurations.  

A simple thank you for my contribution would be nice, but hey ho 🤐👇

I understand you can install Nginx, PHP and MySQL. But lets take it from the start..

Update and upgrade your packages:

sudo apt update
sudo apt upgrade

Install Nginx and start it:

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Install, start and set up MariaDB:

sudo apt install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

Install dependencies:

sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release

Import a repository for PHP 8.1 and then update and upgrade packages again:

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
sudo apt update
sudo apt upgrade

Install PHP 8.1 and then start FPM and check its running:

sudo apt install php8.1 php8.1-fpm php8.1-cli
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
sudo systemctl status php8.1-fpm

Install the extensions required by WHMCS:

sudo apt install php8.1-curl php8.1-gd php8.1-xml php8.1-common php8.1-mbstring php8.1-gmp php8.1-bcmath php8.1-intl php8.1-zip php8.1-mysql php8.1-soap

Download and extract ioncube loaders:

cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

Get your PHP extension path:

php -i | grep extension_dir
>> extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902

Copy the correct loader to your extensions directory:

sudo cp /tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902

Add the extension to your php.ini file (you may also want to add it to /etc/php/8.1/cli/php.ini:

sudo nano /etc/php/8.1/fpm/php.ini
zend_extension = /usr/lib/php/20210902/ioncube_loader_lin_8.1.so

Restart PHP FPM:

sudo systemctl restart php8.1-fpm

 

Set up your Nginx configuration file (in my example debian.leemahoney.cloud)  :

sudo nano /etc/nginx/sites-available/debian.leemahoney.cloud
server {
        listen 80;
        server_name debian.leemahoney.cloud;

        root /var/www/html;
        access_log /var/log/nginx/debian.leemahoney.cloud-access_log;
        error_log /var/log/nginx/debian.leemahoney.cloud-error_log;

        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";

        index index.php index.html index.htm;

        charset utf-8;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }

        error_page 404 /index.php;


        proxy_send_timeout 300s;
        proxy_read_timeout 300s;


        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                include fastcgi_params;
        }

		location ~ /announcements/?(.*)$ {
                rewrite ^/(.*)$ /index.php?rp=/announcements/$1;
        }

        location ~ /downloads/?(.*)$ {
                rewrite ^/(.*)$ /index.php?rp=/downloads/$1;
        }

        location ~ /knowledgebase/?(.*)$ {
                rewrite ^/(.*)$ /index.php?rp=/knowledgebase/$1;
        }

        location ~ /\.(?!well-known).* {
                deny all;
        }


        location ^~ /vendor/ {
                deny all;
                return 403;
        }

        location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)\$ {
                expires 1M;
                access_log off;
                add_header Cache-Control "public";
        }

        location ~* \.(?:css|js)\$ {
                expires 7d;
                access_log off;
                add_header Cache-Control "public";
        }

        location ~ /\.ht {
                deny  all;
        }
}

Modified from https://gist.github.com/Bharat-B/6ba2e18f85591c77fdf00ad7334fb9c6 and https://gist.github.com/Bharat-B/62205bfd1dbe6d7ac9e24973c2bfd47e

Enable the configuration file and reload Nginx:

sudo ln -s /etc/nginx/sites-available/debian.leemahoney.cloud /etc/nginx/sites-enabled/debian.leemahoney.cloud
sudo systemctl reload nginx

Optionally install a free SSL on the domain:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d debian.leemahoney.cloud

Create a database and a user for WHMCS:

sudo mysql -u root -p

>> create database whmcs;
>> create user whmcsuser@localhost identified by 'mystrongpassword';
>> grant delete, insert, select, update, lock tables, alter, create, drop, index on whmcs.* to whmcsuser@localhost;
>> flush privileges;
>> exit

Download WHMCS v8.6 to your /var/www/html folder and enjoy. (will not work on versions prior due to PHP 8.1)

Ps, don't forget to change permissions on your html folder:

sudo chown -R $USER:$USER /var/www/html

 

There's some obvious further steps such as securing directories, setting up a firewall and allowing Nginx through it etc... to follow, but the above steps will get you started. You're welcome.

Edited by leemahoney3
Link to comment
Share on other sites

On 10/17/2022 at 5:42 AM, MrGettingRatherFrustrated said:

As always support have been no help whatsoever and refused to provide the information that you would expect from any sofware, namely clear installation instructions of the components their software depends on.

I am not a developer or Linux admin I am a business person wanting to use supposed business software.

I am using Debian 11/Bullseye

I can install MySQL
I can install PHP
I can install Nginx

I cannot for the life of me work out the names of the PHP extensions that I need to install and support wont provide them - they clearly know as they provide charged installation services and the useless documentation is clearly intended to force people down this path and I refuse to pay a software vendor to install their own software due to their inadequate documentation

I may be able to configure Nginx (I need WHMCS to co-exist with Magento from a previous post on here)

If anyone can advise the PHP extension names I need to install it would be greatly appreciated 

If anyone has a working Nginx config with WHMCS co-existing with Magento that would also be appreciated

This is probably tthe final straw for WHMCS as I am now seriously contemplating abandoning the project that has a dependency on a particular WHMCS module

 

Its right there on the documentation under PHP extensions:

System Requirements - WHMCS Documentation

It's basically MySQL+PHP+Webserver

Any web server will work as long as its serving PHP code. What do you mean with co-existing with Magento? The same server? As long as you don't mix files that is fine, you can run other software, but don't put other PHP files in your WHMCS installation, it should go into its own folder. This applies to any software, not just WHMCS.

Edited by yggdrasil
Link to comment
Share on other sites

On 10/17/2022 at 10:50 AM, MrGettingRatherFrustrated said:

Thanks for that

I am not expectng WHMCS to install for free, I am however expecting them to provide the same level of documentation that pretty much every other software vendor of business applications provides - it shouldnt require advanced admin or developer support to install their application.
I am not going to pay a vendor for a service that they are making necessary due to not providing adequate documentation.

Unfortunately that doesnt help me really as I dont know PHP (nor should I need to) its the package names that I need and expect WHMCS to provide

The documentation already states what is required. If you mean documentation on how to install specifically for Nginx, or MySQL, well, you should check the documentation for those softwares, since they are not developed by WHMCS.

The operating system is irrelevant, so is the web server. But its preferable since its more widely used and tested under Linux and Apache.

Edited by yggdrasil
Link to comment
Share on other sites

On 10/17/2022 at 1:02 PM, MrGettingRatherFrustrated said:

"There are so many different environments that WHMCS can be installed in, creating documentation for each would be well outside their remit."
It can only be installed on Linux, so sufficiently detailed installation instructions for RHEL/Debian/Ubuntu would be the minimum expected

"If you do not know how to install the PHP extensions listed on that page, you should really consider getting someone to set up the environment for you as WHMCS is not a plug and go application and requires a bit of configuration post-install."
I know how to install PHP extensions but I need to know what theie package names are to do so- it is a business application not a development platform (although frequently that seems to be neded such as having to craft hooks to add/remove/change menu which is simply ludicrous)

"Perhaps a managed VPS or shared hosting would be more adequate as they would come with all required PHP extensions."
Compleltly unneccesary, its WHMCS documentation that needs changing not the way I do things

I you can provide the package names of the php extensions then please do so 

You don't need Linux, as long as you can run PHP or MySQL you could probably install it on anything you like because WHMCS being a PHP software does not care about the running operating system. I don't think it interacts with the operating system in anyway, its just requires PHP and MySQL/MariaDB. Or it should. If its actually checking or requiring something specific in an operating system, (which I would not be surprised) its clearly a fault in the software.

As for Linux, there are gazillion variants. Some people installed WHMCS on Windows Servers as well.

The extensions are in listed in the documentation. Not sure what exactly are you missing from the documentation.

Link to comment
Share on other sites

  • 4 weeks later...
  • 6 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated