It looks like you're new here. If you want to get involved, click one of these buttons!
Sign In RegisterIt looks like you're new here. If you want to get involved, click one of these buttons!
Howdy, Stranger!
It looks like you've been lurking for a while.
If you register, we also will remember what you have read and notify you about new comments. You will also be able to participate in discussions.
So if you'd like to get involved, register for an account, it'll only take you a minute!
0. Preliminary requirements
Webmin 1.8 using CentOS 7.
1. Log into your server
Log in to your server with root user. How to log into Linux based server see here.
2. Install PHP 5.6 on CentOS 7
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.2 on CentOS 7. Install the SCL Repo:
yum install centos-release-scl
Install the PHP packages:
yum install rh-php72 rh-php72-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.2.10 (/opt/rh/rh-php72/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
And in the line “Edit template section:” choose “PHP Options”. Make sure that these settings are checked:
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 the “Server Configuration → PHP version”.
Comments
in the step No. 4
first i dont know how to find and save throw vi
so i tried
and i didnt find the line you mentioned :
and i am sure i made the first 3 steps right so what did i do wrong ?
my VPS Ip: 194.135.89.64
Thank you
"The Suexec command on your system is configured to only run scripts under /var/www, but the Virtualmin virtual server home directory is /home. CGI and PHP scripts run as domain owners will not be executed.
.. your system is not ready for use by Virtualmin."Where can i find the right version of Suexec command?
Thanks
Umberto
Centos 6.9
You will be inside the file, where you should find the line "#LoadModule suexec_module modules/mod_suexec.so". If you can not find the correct line, just go to the start of the file and enter:
You will see this line and then just remove the "#" symbol. The line should not be commented and therefore will be enabled. If you can not find this module, just write it in:
In order to save it press "Esc + :" and then write:
wq
You will save and quit the file.
1. Log into your Webmin panel.
2. In Virtualmin go to "System Settings -> Virtualmin configuration"
3. Find the section "Defaults for new domains"
4. In the line "Home directory base" select the second box and enter the following: /var/www
5. Press "Save" on the bottom of the page.
6. Then go to your Virtual Server (domain);
7. Press "Server Configuration -> Website Options"
8. Make sure these are checked and press "Save":
9. Check "Server Configuration -> PHP versions" for PHP version selection.
Please take a note, that the tutorial above is meant for newly added Virtual Servers to your Webmin panel and using it on already added domains, the basic directory from /home to /var/www should be changed. This may cause other errors in the website.
It works well!
Umberto
This tutorial was meant for setting up multiple PHP versions using our prepared template with Webmin. This template by default has Virtualmin installed into it also.
You can see all of our templates here:
https://billing.time4vps.eu/knowledgebase/article/55/what-os-do-you-offer-/
Thank you for your responce in advance
This prepared tutorial is for our offered template with Webmin and it has CentOS 6 installed. It should have differences when installing into other operating system like Ubuntu 16.04. As I do not know the exact steps you have taken and full configuration of your server, unfortunately, I can not comment on it. However, in some cases the PHP version should be also set in "base folder".
After that, install yum-utils which will give an opportunity for more advanced package management:
You can later use yum-config-manager (provided by yum-utils) to activate Remi repository for installing various PHP versions:
After you enabled PHP version, you can install PHP with all needed modules:
You can check the PHP version by running:
You can also install PHP 5.6 version on CentOS for SAPI from webtatic.com:
Install PHP 5.6 mod_php SAPI by running:
As an alternative, you can use PHP 5.6 php-fpm SAPI: