CentOS 6.5 is the latest version that Parallels Plesk Panel 12 supports. CentOS 7 was released two weeks ago and has some significant changes compared to its previous version. As a result of these changes it is taking Parallels a bit longer than normal to prepare a new compatible version of their software.
A recent post on their support forums hints at two more weeks to complete it, though it is only an estimate and no official ETA has been announced.
Centos 6.5 repos provide you with PHP 5.3.3. This is beginning to cause issues when trying to meet system requirements. To further exacerbate the issue it will not be possible to dist-upgrade to CentOS7. Parallels thinks that they may have this ability ready by the next release which would be Plesk 13.
Joomla 3.3.0 was released on April 30, 2014 and has a new PHP requirement of version 5.3.10. and onward are now requiring PHP 5.3.10. Joomla version 3.3.3 was released today and is becoming quite popular. Unfortunately you cannot install it on a CentOS 6.5 system due to the PHP requirements. To make matters worse, it looks like the next iteration of Drupal is going to require PHP 5.4.0.
Your options are to deploy a new server with a distro that meets the PHP requirements and migrate accounts as needed, or enable multiple PHP version in Plesk.
Getting a newer version of PHP is actually quite easy. CentOS provides an SCL repo for just such a purpose. Once that is installed all you need to do is tell Plesk where it is.
The SCL repo allows you to run the default PHP that comes with CentOS (so yum and other system tools in CentOS work), while also allowing you a newer version of PHP to be installed alongside for the use of running software with newer requirements.
You can get the following collections from this repo but PHP is the only one I needed.
- Ruby 1.9.3 (ruby193)
- Python 2.7 (python27)
- Python 3.3 (python33)
- PHP 5.4 (php54)
- Perl 5.16.3 (perl516)
- Node.js 0.10 (nodejs010)
- MariaDB 5.5 (mariadb55)
- MySQL 5.5 (mysql55)
- PostgreSQL 9.2 (postgresql92)
More information on the SCL repo can be found at the link below.
These were the steps necessary to get everything running on a freshly configured Plesk 12 / CentOS 6.5 test box.
1) Install the SCL repo
yum install centos-release-SCL
2) Install PHP 5.4.16
yum install php54 php54-*
This will install quite a few packages in a new and separate area.
php54.x86_64 : Package that installs php54
php54-runtime.x86_64 : Package that handles php54 Software Collection.
php54-apc-panel.noarch : APC control panel
php54-build.x86_64 : Package shipping basic build configuration
php54-php.x86_64 : PHP scripting language for creating dynamic web sites
php54-php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php54-php-cli.x86_64 : Command-line interface for PHP
php54-php-common.x86_64 : Common files for PHP
php54-php-dba.x86_64 : A database abstraction layer module for PHP applications
php54-php-devel.x86_64 : Files needed for building PHP extensions
php54-php-enchant.x86_64 : Enchant spelling extension for PHP applications
php54-php-fpm.x86_64 : PHP FastCGI Process Manager
php54-php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php54-php-imap.x86_64 : A module for PHP applications that use IMAP
php54-php-intl.x86_64 : Internationalization extension for PHP applications
php54-php-ldap.x86_64 : A module for PHP applications that use LDAP
php54-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
php54-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php54-php-odbc.x86_64 : A module for PHP applications that use ODBC databases
php54-php-pdo.x86_64 : A database access abstraction module for PHP applications
php54-php-pear.noarch : PHP Extension and Application Repository framework
php54-php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code
php54-php-pecl-apc-devel.x86_64 : APC developer files (header)
php54-php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon
php54-php-pgsql.x86_64 : A PostgreSQL database module for PHP
php54-php-process.x86_64 : Modules for PHP script using system process interfaces
php54-php-pspell.x86_64 : A module for PHP applications for using pspell interfaces
php54-php-recode.x86_64 : A module for PHP applications for using the recode library
php54-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
php54-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php54-php-tidy.x86_64 : Standard PHP module provides tidy library support
php54-php-xml.x86_64 : A module for PHP applications which use XML
php54-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
Once installed you can test that both versions are working.
Checking the default PHP version:
[root@plesk etc]# php -v
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.6.0, Copyright (c) 2002-2014, by ionCube Ltd.
Checking the version of the newly installed PHP 5.4.16:
[root@plesk bin]# pwd
[root@plesk bin]# ./php -v
PHP 5.4.16 (cli) (built: Dec 11 2013 16:55:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
3) Configure php_handler to allow PHP 5.4.16. You need to provide it with the location of the php-cgi and php.ini.
[root@plesk bin]# /usr/local/psa/bin/php_handler --add -displayname 5.4.16 -path /opt/rh/php54/root/usr/bin/php-cgi -phpini /opt/rh/php54/root/etc/php.ini -type fastcgi
One limitation of running multiple versions of PHP is that you can only configure them to run as either apache or fastcgi. PHP-FPM is not an available option.
You are now ready to change the PHP version for your hosting account. Log into Plesk and navigate to the hosting settings for your domain. The PHP version is now a dropdown menu with both versions available.
5.4.16 and the original 5.3.3 are now available
Don’t forget to save your changes by clicking the ‘OK’ button at the bottom of the page.
PHP is now running in fast-cgi mode and is using PHP 5.4.16.
Joomla requests that output buffering be disabled. On my machine it was enabled by default. The user can disable this using the PHP settings area of the hosting panel. At the bottom of the page they can enter
output_buffering = Off
Joomla requests that output buffering be disabled.
Joomla 3.3.3 installed with no issues and all pre-check items were green. Mission accomplished.