{"id":2339,"date":"2024-06-02T16:27:16","date_gmt":"2024-06-02T13:27:16","guid":{"rendered":"https:\/\/www.fibacloud.com\/community\/tutorials\/?p=2339"},"modified":"2026-09-20T21:55:54","modified_gmt":"2026-09-20T18:55:54","slug":"how-to-install-and-configure-litespeed-web-server","status":"publish","type":"post","link":"https:\/\/www.fibacloud.com\/community\/tutorials\/en\/how-to-install-and-configure-litespeed-web-server\/","title":{"rendered":"Install LiteSpeed Enterprise on cPanel or Plesk"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2339\" class=\"elementor elementor-2339\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb06cd0 e-flex e-con-boxed e-con e-parent\" data-id=\"fb06cd0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-51e4f0d elementor-widget elementor-widget-text-editor\" data-id=\"51e4f0d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.21.0 - 08-05-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>LiteSpeed Web Server Enterprise can serve websites using an existing panel-managed Apache configuration. This guide covers <strong>licensed LiteSpeed Enterprise on an existing Linux cPanel\/WHM or Plesk server<\/strong>. OpenLiteSpeed is a separate product; its installation instructions and panel integrations are different.<\/p>\n<p><strong>Review status \u2014 20 September 2026:<\/strong> These instructions were reviewed against the official documentation listed below. Installation, license activation, PHP integration, live switching and rollback have <strong>not been verified end to end on licensed cPanel or Plesk test servers<\/strong> for this article. Complete those checks in a matching staging environment before using this procedure in production.<\/p>\n<h2>1. Prepare a working Apache installation and a recovery plan<\/h2>\n<p>Use a currently supported combination of operating system, panel release and LiteSpeed Enterprise version. Confirm the supported combination with the vendors before installation; this guide does not establish a universal version matrix.<\/p>\n<p>Before changing the server:<\/p>\n<ul>\n<li>Obtain administrator access to the panel and authorized root access through SSH or <code>sudo<\/code>. Keep a recovery console available independently of the website.<\/li>\n<li>Obtain a valid Enterprise license suitable for the server&#8217;s domain, memory and worker limits. Confirm that the server can reach <code>https:\/\/license.litespeedtech.com<\/code> through its outbound network controls. A license request or purchase is a separate action; these instructions do not automatically request a trial.<\/li>\n<li>Record the current Apache virtual hosts, TLS certificates, redirects, PHP versions, extensions and per-site settings. Include reverse proxies, real-client-IP handling, WebSocket applications, access restrictions and ModSecurity rules. Apache modules are not loaded directly by LiteSpeed, and some rewrite semantics differ.<\/li>\n<li>Take recoverable backups of the websites, databases and panel\/web-server configuration. Verify a restore on an isolated system. Keep the working Apache installation and configuration available for rollback.<\/li>\n<li>Test representative sites under Apache first. Record successful login\/logout, forms, uploads and shopping-cart behavior, plus error rates and response times. An existing application failure must be resolved before migration.<\/li>\n<li>Plan a maintenance window and define rollback triggers. A broken certificate, exposed private content, failed login or checkout, or a sustained increase in errors should stop the migration.<\/li>\n<\/ul>\n<p>Inventory the listening ports with this read-only command:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef34272 elementor-widget elementor-widget-text-editor\" data-id=\"ef34272\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">ss -ltnp<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18372d8 elementor-widget elementor-widget-text-editor\" data-id=\"18372d8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Record which processes own ports 80 and 443. Keep public web access on the required TCP ports; <strong>do not expose WebAdmin or test ports to the entire Internet<\/strong>. Restrict WebAdmin, commonly TCP 7080, to administrative IPs or a private management network. Restrict preliminary test ports 1080 and 1443 to the test operator. UDP 443 is relevant if you separately enable and validate HTTP\/3; it is not required for this initial HTTP\/HTTPS migration.<\/p>\n<h2>2. cPanel\/WHM: install the management plugin and Enterprise server<\/h2>\n<p>Follow this section for cPanel\/WHM. Plesk users should use the next section instead.<\/p>\n<h3>Check cPanel-specific prerequisites<\/h3>\n<p>In WHM, review your EasyApache 4 profile and disable the incompatible <code>mod_ruid2<\/code> module using the supported EasyApache workflow. Review the proposed changes before applying them, then confirm that Apache still serves the sites correctly.<\/p>\n<p>Resolve existing Apache replacements or reverse proxies, including nginx and Varnish, through their supported panel integration before installing LiteSpeed. Save their configuration and rollback procedure. Confirm that Apache itself is serving the intended sites on 80\/443 after the change. Do not simply stop a proxy service and assume its configuration has been removed.<\/p>\n<p>Record each site&#8217;s selected EasyApache PHP version and required extensions. LiteSpeed executes PHP through LSPHP\/LSAPI; an Apache PHP-FPM or DSO setup does not prove that the same runtime is ready under LiteSpeed. Verify matching PHP versions, modules, limits, per-user settings and file ownership in staging. The old EasyApache 3 \u201cbuild matching PHP\u201d option is not a modern EasyApache 4 installation step.<\/p>\n<h3>Install the WHM plugin<\/h3>\n<p>In <strong>WHM Plugins<\/strong>, search for <strong>LiteSpeed Web Server Plugin for WHM<\/strong> and install it using the panel&#8217;s plugin interface. Open <strong>WHM \u2192 Plugins \u2192 LiteSpeed Web Server<\/strong>.<\/p>\n<p>This installs the management plugin. It does <strong>not<\/strong>, by itself, establish that the Enterprise server software is installed, licensed or serving traffic. The current official cPanel quick-start documents the interactive Enterprise installer described below; the plugin is then used to inspect and manage the installation.<\/p>\n<h3>Download and review the Enterprise installer<\/h3>\n<p>The official installer is available over HTTPS at <code>https:\/\/get.litespeed.sh<\/code>. Download it into a private directory in an authorized root shell:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dd5ffd elementor-widget elementor-widget-text-editor\" data-id=\"6dd5ffd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">umask 077\nlsws_install_dir=$(mktemp -d \/root\/lsws-install.XXXXXX)\ncd -- \"$lsws_install_dir\" || exit 1\ncurl --fail --show-error --location \\\n  --proto '=https' --proto-redir '=https' \\\n  --output litespeed-installer.sh https:\/\/get.litespeed.sh<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-657664e elementor-widget elementor-widget-text-editor\" data-id=\"657664e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Stop if the download fails. Read the saved file and the current vendor instructions before execution:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1da7860 elementor-widget elementor-widget-text-editor\" data-id=\"1da7860\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">less litespeed-installer.sh\nbash -n litespeed-installer.sh<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a16a51b elementor-widget elementor-widget-text-editor\" data-id=\"a16a51b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The syntax check only detects shell syntax errors. It does not establish safety or authenticity. The installer can download additional components, so review its download sources and first exercise the complete installation in staging. This article does not supply a vendor signature or a published checksum; a locally calculated hash would only identify your downloaded copy.<\/p>\n<p>After review, run the saved installer with your existing license. The following prompt avoids putting the literal serial number into shell history; the installer still receives it as a process argument, so use a trusted administrative session and do not share terminal logs:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b6d40c4 elementor-widget elementor-widget-text-editor\" data-id=\"b6d40c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">read -r -s -p 'LiteSpeed Enterprise license serial: ' lsws_license_serial\nprintf '\\n'\nbash .\/litespeed-installer.sh \"$lsws_license_serial\"\nunset lsws_license_serial<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef0e292 elementor-widget elementor-widget-text-editor\" data-id=\"ef0e292\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Do not continue after an installation or licensing error. When prompted, use the following initial settings:<\/p>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Initial choice<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Apache port offset<\/td>\n<td><code>1000<\/code>, allowing preliminary checks on 1080\/1443 while Apache remains on 80\/443<\/td>\n<\/tr>\n<tr>\n<td>Automatically switch to LiteSpeed<\/td>\n<td>Disabled \/ <code>0<\/code><\/td>\n<\/tr>\n<tr>\n<td>PHP suEXEC<\/td>\n<td>Enabled for shared hosting; the interactive installer recommends <code>2<\/code> for user-home-directory execution<\/td>\n<\/tr>\n<tr>\n<td>Automatic WordPress\/LSCache deployment<\/td>\n<td>Disabled \/ <code>0<\/code> until individual sites pass application tests<\/td>\n<\/tr>\n<tr>\n<td>WebAdmin credentials<\/td>\n<td>A unique administrator identity and a strong, unique password stored securely<\/td>\n<\/tr>\n<tr>\n<td>Administrator email<\/td>\n<td>A monitored address for operational and license notices<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>After installation, open the WHM plugin and inspect the license and server state. Confirm the nonzero offset before using its start\/restart action for LiteSpeed. Check <code>ss -ltnp<\/code> again: Apache must still own the live web ports and LiteSpeed must use the intended offset listeners. Installation success alone is not permission to select <strong>Switch to LiteSpeed<\/strong>.<\/p>\n<h2>3. Plesk: prepare Apache and use the LiteSpeed extension<\/h2>\n<p>The official Plesk procedure assumes a <strong>working Apache-Plesk installation<\/strong>. LiteSpeed cannot simply take over a Plesk nginx-only or unrelated custom stack using these instructions.<\/p>\n<h3>Prepare nginx and PHP handlers<\/h3>\n<p>Record any existing nginx proxy settings and custom directives before changing them. In the planned maintenance window, open <strong>Tools &amp; Settings \u2192 Server Management \u2192 Services Management \u2192 Reverse Proxy Server (nginx)<\/strong> and select <strong>Stop<\/strong>, as the official installation guide directs.<\/p>\n<p>Confirm with <code>ss -ltnp<\/code> that Apache now listens on 80\/443, and retest the websites. If it does not, stop the installation. The official guide identifies <code>plesk repair web<\/code> as a way to rebuild the web configuration; it is a configuration-changing repair, so review the saved configuration and repair output before using it. Continue only once Apache works correctly without the nginx proxy.<\/p>\n<p>In each relevant subscription\/domain&#8217;s <strong>PHP Settings<\/strong>, select the appropriate <strong>FastCGI<\/strong> handler as required by the LiteSpeed Plesk guide. Preserve the required PHP version, extensions and limits. Include service-plan defaults in your review so newly created sites receive compatible settings. Record previous handlers for rollback and test the sites after changing them. An existing FPM configuration is not a substitute for this documented prerequisite.<\/p>\n<h3>Install the extension, then install Enterprise<\/h3>\n<ol>\n<li>In <strong>Plesk \u2192 Extensions<\/strong>, search for <strong>LiteSpeed<\/strong> and install the official extension from the catalog. Prefer this route over manually enabling extension uploads in <code>panel.ini<\/code>. If a newer vendor package is required, follow the official extension-upload procedure linked below rather than overwriting the panel configuration.<\/li>\n<li>Open the <strong>LiteSpeed Extension<\/strong> and select <strong>Install LiteSpeed Web Server<\/strong>. Installing the extension alone does not install or activate Enterprise.<\/li>\n<li>Read the license agreement and enter your valid license serial. Choose a <strong>port offset of <code>1000<\/code><\/strong> for preliminary testing. Keep PHP suEXEC enabled for shared hosting, and set secure WebAdmin credentials with restricted network access.<\/li>\n<li>Install the server. Inspect all installation and licensing messages. Use <strong>Restart LiteSpeed<\/strong> only after confirming the offset. The extension should show Apache and LiteSpeed on different ports; verify the actual listeners with <code>ss -ltnp<\/code>.<\/li>\n<li>Keep Apache on 80\/443 until the checks below pass. Do not select <strong>Switch to LiteSpeed<\/strong> yet.<\/li>\n<\/ol>\n<h2>4. Run preliminary checks, then test a real switch in staging<\/h2>\n<p>With an offset of <code>1000<\/code>, HTTP 80 maps to 1080 and HTTPS 443 maps to 1443. These ports support preliminary virtual-host and TLS checks. They do not provide a complete application test.<\/p>\n<p>The following examples use the reserved name <code>site.example<\/code> and documentation address <code>192.0.2.10<\/code>. Replace both with your own test site&#8217;s real hostname and the target server&#8217;s reachable IP. Run them from an authorized test client whose address can reach the restricted ports. <code>--resolve<\/code> preserves the hostname used for virtual-host selection and TLS SNI; it does not bypass a firewall.<\/p>\n<p>First record Apache&#8217;s normal HTTPS response:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd06312 elementor-widget elementor-widget-text-editor\" data-id=\"bd06312\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">curl --noproxy '*' --connect-timeout 5 --max-time 20 \\\n  --resolve site.example:443:192.0.2.10 \\\n  --silent --show-error --dump-header - --output \/dev\/null \\\n  https:\/\/site.example\/<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cced5fc elementor-widget elementor-widget-text-editor\" data-id=\"cced5fc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Then inspect LiteSpeed&#8217;s offset responses:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e14af2c elementor-widget elementor-widget-text-editor\" data-id=\"e14af2c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">curl --noproxy '*' --connect-timeout 5 --max-time 20 \\\n  --resolve site.example:1080:192.0.2.10 \\\n  --silent --show-error --dump-header - --output \/dev\/null \\\n  http:\/\/site.example:1080\/\n\ncurl --noproxy '*' --connect-timeout 5 --max-time 20 \\\n  --resolve site.example:1443:192.0.2.10 \\\n  --silent --show-error --dump-header - --output \/dev\/null \\\n  https:\/\/site.example:1443\/<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c468542 elementor-widget elementor-widget-text-editor\" data-id=\"c468542\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Inspect the status, certificate result and any <code>Location<\/code> header. The commands deliberately do not follow redirects or disable certificate verification. A redirect to normal port 443 can return to Apache; a successful page after following it would not prove that LiteSpeed served the application. A <code>Server<\/code> header alone is also insufficient, since it may be hidden or changed by a proxy.<\/p>\n<p><strong>WordPress, Magento and applications using canonical URLs, secure cookies, callbacks or absolute redirects require a real switch on an isolated staging server using normal 80\/443 ports.<\/strong> The official Plesk guide specifically warns that WordPress and Magento cannot be tested on offset ports in the same way as simple sites. Use controlled DNS or a hosts-file mapping for the staging server, appropriate trusted TLS certificates and isolated application data. Disable production email, payment and webhook delivery in that environment. Do not change the production application&#8217;s base URL merely to make an offset-port test appear to work.<\/p>\n<p>Switch the staging server through its plugin\/extension, execute the acceptance checks below, then rehearse the Apache rollback. Record the panel, OS, LiteSpeed and PHP versions used and the results. A successful offset check alone does not authorize a production switch.<\/p>\n\n<figure class=\"fc-editorial-figure\" data-fc-visual=\"20260920\" aria-labelledby=\"fc-editorial-caption-2339\"><a href=\"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920.webp\" target=\"_blank\" rel=\"noopener\" aria-label=\"Open full-size illustration\"><picture><source media=\"(max-width: 600px)\" srcset=\"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-mobile-20260920.webp\" width=\"720\" height=\"1140\"><img loading=\"lazy\" src=\"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920.webp\" srcset=\"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920.webp 1440w, https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920-300x242.webp 300w, https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920-1024x825.webp 1024w, https:\/\/www.fibacloud.com\/community\/tutorials\/wp-content\/uploads\/community-editorial-20260920\/fc-litespeed-en-inline-20260920-768x619.webp 768w\" sizes=\"auto, (max-width: 900px) 100vw, 820px\" width=\"1440\" height=\"1160\" alt=\"A controlled web server switch\" class=\"wp-image-2542\"  decoding=\"async\"><\/picture><\/a><figcaption id=\"fc-editorial-caption-2339\"><strong>A controlled web server switch<\/strong> Check panel compatibility and licensing, then back up before switching. Verify PHP, TLS and real page responses. Use the documented rollback path if checks fail.<details><summary>Step-by-step explanation<\/summary><ol><li>Review: Verify panel support and licensing.<\/li><li>Prepare: Back up configuration and content.<\/li><li>Switch: Use the supported panel integration.<\/li><li>Test: Check PHP\/TLS\/responses; roll back if needed.<\/li><\/ol><\/details><\/figcaption><\/figure>\n<h2>5. Switch during the maintenance window and verify the result<\/h2>\n<p>Once staging installation, application tests and rollback have passed, repeat the prepared installation on production. Confirm fresh recoverable backups, healthy Apache, a valid license and access to the recovery console.<\/p>\n<p>Use <strong>Switch to LiteSpeed<\/strong> in the WHM plugin or Plesk extension. The documented command-line equivalent, from an authorized root shell on a default installation, is:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d3b196 elementor-widget elementor-widget-text-editor\" data-id=\"1d3b196\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">\/usr\/local\/lsws\/admin\/misc\/cp_switch_ws.sh lsws<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd46fb7 elementor-widget elementor-widget-text-editor\" data-id=\"fd46fb7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>If the expected script is absent, stop and investigate the installation. Do not improvise with individual Apache and LiteSpeed service stop\/start commands: the vendor&#8217;s switch operation also updates the integration state.<\/p>\n<p>Confirm in the panel and with <code>ss -ltnp<\/code> that LiteSpeed now serves 80\/443. Repeat the normal-port HTTPS request above for every representative hostname. Test through the usual CDN\/proxy as well as directly to the origin where your access policy permits it.<\/p>\n<table>\n<thead>\n<tr>\n<th>Area<\/th>\n<th>Acceptance criteria<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>TLS and host routing<\/td>\n<td>Correct certificate chain and hostname, correct site for each domain\/alias, expected HTTP-to-HTTPS redirects, no redirect loop; certificate-renewal integration remains correctly configured<\/td>\n<\/tr>\n<tr>\n<td>PHP and permissions<\/td>\n<td>Expected per-site PHP version, extensions and limits; dynamic pages and uploads work; PHP executes under the intended account and cross-account access remains blocked<\/td>\n<\/tr>\n<tr>\n<td>Application behavior<\/td>\n<td>Login, logout, forms, search, cart and checkout succeed with approved test accounts and sandbox transactions; APIs, scheduled tasks and WebSockets work where used<\/td>\n<\/tr>\n<tr>\n<td>Access controls<\/td>\n<td>Existing private-file restrictions, authentication, real-client-IP processing and required WAF rules behave as intended<\/td>\n<\/tr>\n<tr>\n<td>Operations<\/td>\n<td>No unexplained 403\/500\/503 increase; logs identify the expected sites; memory, CPU and latency stay within the limits agreed before the switch<\/td>\n<\/tr>\n<tr>\n<td>Recovery<\/td>\n<td>The staged Apache rollback has passed and its commands\/configuration remain available<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Use application diagnostics visible only to administrators to inspect the PHP runtime. CLI <code>php -v<\/code> alone does not verify the PHP version serving a website, and a public <code>phpinfo()<\/code> page exposes unnecessary configuration details. Review the panel&#8217;s domain error logs and LiteSpeed&#8217;s configured error\/stderr logs rather than assuming one fixed log path applies to every installation.<\/p>\n<h2>6. Enable caching after the web-server migration is stable<\/h2>\n<p>Start with one representative site. Save the previous cache configuration and account for any existing page-cache plugin or CDN cache. Avoid competing page-cache systems. For cPanel, the official quick-start describes <strong>LiteSpeed Configuration \u2192 Cache Root Setup \u2192 Set Missing Cache Roots<\/strong> in the WHM plugin. For Plesk, follow the extension&#8217;s current cache configuration instructions for that installation.<\/p>\n<p>Enable the appropriate application integration, such as LiteSpeed Cache for WordPress, only after its server-side prerequisites are configured. Keep unrelated CSS\/JavaScript optimization changes out of the initial cache test. Verify purge behavior and compare repeated anonymous requests: where LSCache response headers are exposed, <code>X-LiteSpeed-Cache: miss<\/code> followed by <code>hit<\/code> can help confirm caching. Header absence alone does not establish a failure.<\/p>\n<p>In separate browser sessions, verify that login pages, account pages, carts, checkout and personalized responses follow the application&#8217;s documented cache policy. One user&#8217;s private content must never be returned to another user or an anonymous visitor. On an isolation or stale-content failure, disable the affected caching, purge the applicable caches and repeat the test before wider deployment.<\/p>\n<p>Measure changes against the Apache baseline using comparable requests and load. Performance gains depend on the application and configuration. Installing LiteSpeed or enabling its connection controls does not provide a guarantee against DDoS attacks.<\/p>\n<h2>7. Roll back to Apache if acceptance fails<\/h2>\n<p>If a critical check fails, use <strong>Switch to Apache<\/strong> in the plugin\/extension. The documented command-line equivalent is:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83ffb34 elementor-widget elementor-widget-text-editor\" data-id=\"83ffb34\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<pre><code class=\"language-bash\">\/usr\/local\/lsws\/admin\/misc\/cp_switch_ws.sh apache<\/code><\/pre>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-255c0cb elementor-widget elementor-widget-text-editor\" data-id=\"255c0cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Confirm that Apache owns 80\/443 and repeat TLS, redirect, login, form and cart tests. Review logs and verify that traffic is healthy through the normal proxy\/CDN path. Restore any PHP-handler or proxy settings from the recorded configuration only as required by your rehearsed rollback; for Plesk, restore the original nginx topology through Plesk after verifying the corresponding Apache configuration. Do not restart an old proxy blindly on occupied ports.<\/p>\n<p>Disable or revert cache changes that are incompatible with the restored setup and purge stale cache where necessary. Keep LiteSpeed installed while investigating unless removal is specifically required. Deleting the downloaded installer removes only that file; removing the WHM plugin also does not uninstall the server. If full removal is later needed, follow the vendor&#8217;s panel-specific uninstall procedure <strong>after<\/strong> Apache has been restored and verified. Software removal and license\/subscription cancellation are separate actions.<\/p>\n<h2>Official references<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/installation\/\" rel=\"nofollow noopener\" target=\"_blank\">LiteSpeed Enterprise installation<\/a><\/li>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/cpanel\/quickstart\/\" rel=\"nofollow noopener\" target=\"_blank\">cPanel quick-start and server switching<\/a><\/li>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/cpanel\/whm-litespeed-plugin\/whm-install\/\" rel=\"nofollow noopener\" target=\"_blank\">Install, update or remove the WHM plugin<\/a><\/li>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/cpanel\/switch-apache\/\" rel=\"nofollow noopener\" target=\"_blank\">Apache migration compatibility and rewrite differences<\/a><\/li>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/plesk\/installation\/\" rel=\"nofollow noopener\" target=\"_blank\">Plesk prerequisites, extension installation and switching<\/a><\/li>\n<li><a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/cpanel\/uninstall\/\" rel=\"nofollow noopener\" target=\"_blank\">Uninstall LiteSpeed on cPanel<\/a><\/li>\n<\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Prepare a LiteSpeed Enterprise installation on cPanel or Plesk with trusted downloads, staging checks, cutover and an Apache rollback plan.<\/p>\n","protected":false},"author":1,"featured_media":2541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[210,219,221,217],"class_list":["post-2339","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-en","tag-cpanel","tag-litespeed","tag-plesk","tag-webserver"],"lang":"en","translations":{"en":2339,"tr":1741},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/posts\/2339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/comments?post=2339"}],"version-history":[{"count":19,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/posts\/2339\/revisions"}],"predecessor-version":[{"id":2362,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/posts\/2339\/revisions\/2362"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/media\/2541"}],"wp:attachment":[{"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/media?parent=2339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/categories?post=2339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fibacloud.com\/community\/tutorials\/wp-json\/wp\/v2\/tags?post=2339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}