EasyApache is software that installs, configures, updates, and validates your web server, PHP, and other web server components.
EasyApache 4 (EA4) represents a total overhaul in how cPanel & WHM ships and maintains their Apache and PHP distributions. The following steps will show you how to configure LiteSpeed Web Server to work with cPanel + EasyApache 4.
Note: It is assumed that you have already made the switch from EasyApache 3 to EasyApache 4. Please note that you have to switch back to Apache web server before migration otherwise it may cause problems. Then you can either use LiteSpeed plugin for cpanel for one click LiteSpeed EA3 to EA4 upgrade or manually upgrade LiteSpeed to be EA4 compatible.
Staring from version 2.1.8, LiteSpeed's WHM Plugin will detect and notify you if you need to upgrade LiteSpeed from EA3 to EA4 or vice versa.
The upgrade itself will be performed automatically after clicking “Resolve Now” and confirming. This is much easier than manually updating your configuration. To use this feature, please either upgrade LSWS to the latest version >= 5.1.7 or upgrade the LiteSpeed WHM Plugin separately to at least version 2.1.8. Upgrade LSWS will automatically upgrade the LiteSpeed WHM Plugin.
/usr/local/lsws/admin/misc/lsup.sh -f -v <latest-version>
Alternatively, you can run the upgrade script:
/usr/local/cpanel/whostmgr/docroot/cgi/lsws/migrate_ea3_to_ea4_litespeed.sh
If you are running CloudLinux and CL PHP Selector is your preferred way for all PHPs, please check how to configure cpanel ea4 + cloudlinux + LSWS to use CL php selector instead of ea4 multiphp.
The upgrade script is the easiest way. However if you still want to do it manually or try to understand how the upgrade works, please follow the following steps.
Upgrade script mentioned above is always the best way. The following manually upgrade steps are for your knowledge only or you still want to keep your hand dirty for any reason.
EA4 uses the Software Collections Library (SCL) for PHP. The use of SCLs enable the installation of multiple concurrent version of PHP on the file system. SCL is installed at /opt/cpanel/ea-php*. You need to install corresponding LSAPI binary packages from cPanel EA4 repository for each php version to enable LiteSpeed work with ea4 phps.
For example, assuming ea-php54, ea-php55, ea-php56, ea-php70 have been installed, you will need to install ea-phpxx-php-litespeed ( xx means 54,55,56 and 70 ) packages.
yum install ea-php54-php-litespeed ea-php55-php-litespeed ea-php56-php-litespeed ea-php70-php-litespeed
Note: The lsphp binary will be installed to “/opt/cpanel/ea-phpxx/root/usr/bin/lsphp” (xx means 54,55,56 and 70)
cp /opt/cpanel/ea-php56/root/usr/bin/lsphp /usr/local/bin/lsphp
ln -sf /usr/local/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp5
When choosing a PHP version for a domain in cPanel Admin Home → Software → Multi-PHP Manager, LiteSpeed will now correctly use the selected version. PHP handlers should be “CGI” (can not be “DSO”) to able to choose different versions. Otherwise, LiteSpeed may only return the default version instead of the version you have selected from Multi-PHP manager.
If you are experienceing any of the following errors:
“MIME type [application/x-httpd-ea-php70] for suffix '.php' does not allow serving as static file, access denied!” “MIME type [application/x-httpd-ea-php56] for suffix '.php' does not allow serving as static file, access denied!” “MIME type [application/x-httpd-ea-php55] for suffix '.php' does not allow serving as static file, access denied!” “MIME type [application/x-httpd-ea-php54] for suffix '.php' does not allow serving as static file, access denied!”
It is likely that your PHP handler has not yet been properly configured. Please follow the steps above to configure it. You should also upgrade LiteSpeed Web Server to the latest version to ensure correct MIME type recognition.
Note: LSWS is not compatible with mod_ruid2 because LSWS does not allow the process user to change mid-process. Make sure that mod_ruid2 is disabled in your WHM settings when using LSWS. LSWS is compatible with Apache prefork or event MPM. If mod_ruid2 is enabled, a variety of functionality may be disrupted due to WHM creating files that the web server user cannot access.
If you are experienceing any of the following errors and your external apps and script handlers have been configurated, you might not install the following ea-phpxx on your server, you can use easy apache to install them to fix the errors.
2018-08-27 20:53:25.421588 ERROR [config:scripthandler] use static file handler for suffix [php71] 2018-08-27 20:53:25.421606 ERROR [config:scripthandler] Can not find handler with type: 17, name: lsphp72. 2018-08-27 20:53:25.421615 ERROR [config:scripthandler] Can not find External Application: lsphp72, type: lsapi 2018-08-27 20:53:25.421623 ERROR [config:scripthandler] use static file handler for suffix [php72] 2018-08-27 20:53:25.421668 ERROR [config:scripthandler] Can not find handler with type: 17, name: lsphp54. 2018-08-27 20:53:25.421684 ERROR [config:scripthandler] Can not find External Application: lsphp54, type: lsapi 2018-08-27 20:53:25.421693 ERROR [config:scripthandler] use static file handler for suffix [php54] 2018-08-27 20:53:25.421711 ERROR [config:scripthandler] Can not find handler with type: 17, name: lsphp55. 2018-08-27 20:53:25.421742 ERROR [config:scripthandler] Can not find External Application: lsphp55, type: lsapi 2018-08-27 20:53:25.421752 ERROR [config:scripthandler] use static file handler for suffix [php55] [Mon Aug 27 20:53:26 2018] [notice] Finish reading Apache configuration, server configured -- resuming normal operations 2018-08-27 20:53:26.572142 [ALERT] [Child: 30527] LiteSpeed/5.2.8 Enterprise starts successfully! [root@server1 opt]# find /opt/cpanel/ -name lsphp /opt/cpanel/ea-php56/root/usr/bin/lsphp
User only installed ea-php56, but missing all the rest php versions. If you intended to do so, it is fine and the above error message can be saftly ignored.