[Webmin] Setting up multiple PHP versions in Webmin/Virtualmin

Webmin control panel allows you to have several PHP versions in the same server. There is a possibility to choose different PHP versions for seperate Virtual Servers (per domain and per directory).

0. Preliminary requirements

Webmin 1.8 using CentOS 6.

1. Log into your server

Log in to your server with root user.

2. Install PHP 5.6 on CentOS 6

Install the SCL Repo:

yum install centos-release-scl

Install the PHP packages:

yum install rh-php56 rh-php56-php-mysqlnd

3. Install second PHP version

In this case we will install PHP 7 on CentOS 6. Install the SCL Repo:

yum install centos-release-scl

Install the PHP packages:

yum install rh-php70 rh-php70-php-mysqlnd

4. Enable “suexec_module” on server

This will allow Webmin to recognize different PHP versions:

vi /etc/httpd/conf/httpd.conf

Find and remove comment from line “#LoadModule suexec_module modules/mod_suexec.so”. It should look like this:

LoadModule suexec_module modules/mod_suexec.so

Save and close the file. Then restart Apache:

service httpd restart

5. Log into your Webmin control panel

If you haven’t done it yet, see how to use it in the link here.

6. Re-Check Configuration of the server

After logging into Webmin, go to Virtualmin, then go to “System Settings → Re-Check Configuration

If you see the error:

Virtualmin is configured to setup DNS zones, but this system is not setup to use itself as a DNS server. Either add 127.0.0.1 to the list of DNS servers, or turn off the BIND feature on the module config page.”

Press on “list of DNS servers” and in the empty line in “DNS servers” section enter localhost IP: 127.0.0.1 and press “Save”.

Again go to “System Settings → Re-Check Configuration” and you should see something like this:

The following PHP versions are available : 5.5.38 (/usr/bin/php-cgi), 5.6.25 (/opt/rh/rh-php56/root/usr/bin/php-cgi), 7.0.10 (/opt/rh/rh-php70/root/usr/bin/php-cgi)

7. Modify Server Templates

Go to “System Settings → Server Templates”. Press on “Default Settings”.

In the line “Edit template section:” choose “Apache website”. Make sure that these settings are checked:

Automatically add appropriate SuExec directive? - Yes
Default PHP execution mode: CGI wrapper (run as virtual server owner)

Save by pressing the button “Save”. From now on, all created Virtual Servers in Virtualmin will recognize different installed PHP versions.

8. Choose PHP version for your domain or directory

Now you just need to choose the required PHP version for your domain. Just press on the Virtual Server you want to choose the PHP version for and go to “Server Configuration → PHP version”.

Here you can choose the PHP version for the whole domain and choose different PHP version for selected directory (enter the name of directory in the empty line).

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Linux Applications
How to resolve spamming issue with postfix

How to resolve the spamming issue with your postfix mailserver having CWP. Before starting we should stop the postfix mailserver. service postix stop For start lets count the number of emails stuck in the mail server queue: postqueue -p | grep -c “^[A-Z0-9]” Select few similar emails and use IDs …

Web hosting control panels
How to manually import emails

Instructions for manual import of the emails to your CWP server. 1. Create all required mailboxes via CWP2. Login in each created mailbox (this will create required file and folder structure)3. Copy the emails (like any other files) in /var/vmail/DOMAIN.COM/USERNAME4. Fix Permissions (chown uploaded files vmail:mail) Example path for email …

General
Basic and most common iptables rules

Iptables is basically a powerful firewall, which can allow a user to set specific rules to control incoming and outgoing traffic. You can use it to block specific port, IP addresses and much more. In this article we present most common uses of iptables. The iptables rules can be specified …