Auto Setup via script

This method will automatically set up Listener/VirtualHost/Force SSL/Let’s Encrypt/WordPress.Interactive mode
wget https://raw.githubusercontent.com/litespeedtech/ls-cloud-image/master/Setup/vhsetup.sh

chmod +x vhsetup.sh

bash vhsetup.sh
Or just run the script without downloading it:
/bin/bash <( curl -sk https://raw.githubusercontent.com/litespeedtech/ls-cloud-image/master/Setup/vhsetup.sh )
CLI mode
wget https://raw.githubusercontent.com/litespeedtech/ls-cloud-image/master/Setup/vhsetup.sh

chmod +x vhsetup.sh

bash vhsetup.sh -d www.example.com -le admin@example.com -f -w
Or just run the script without downloading it:
/bin/bash <( curl -sk https://raw.githubusercontent.com/litespeedtech/ls-cloud-image/master/Setup/vhsetup.sh ) -d www.example.com -le admin@example.com -f -w
  • Please be sure that your domain is already pointing to the server when using -le YOUR_EMAIL
  • Please be sure that your environment has php/sql service/sql root password when using -w

Manual Setup

By default, OpenLiteSpeed has an example virtual host already created. You can create more virtual hosts if you like. See Create Virtual Hosts on OpenLiteSpeed.
Category: OpenLiteSpeed

By default virtual hosts inherit the version of PHP that is set at the server level. You may wish to use a different PHP version for certain virtual hosts. Follow the steps below to set up virtual-host-level PHP. Here we will use the PHP version 7.4 as an example.

Install PHP 7.4 and commonly used PHP extensions:

apt-get install lsphp74 lsphp74-common lsphp74-curl lsphp74-imagick lsphp74-imap lsphp74-json lsphp74-memcached lsphp74-mysql lsphp74-opcache lsphp74-redis -y

Navigate to WebAdmin console > Server Configuration > External App > Add > Type > LiteSpeed SAPI App to set up a server-level external application. Set the following values:

  • Namelsphp74
  • Addressuds://tmp/lshttpd/lsphp74.sock
  • Max Connections35
  • EnvironmentLSAPI_AVOID_FORK=200M
  • Initial Request Timeout (secs)60
  • Retry Timeout (secs)0
  • Command/usr/local/lsws/lsphp74/bin/lsphp
  • Instances1

Navigate to WebAdmin console > Virtual Hosts > your vhost > Script Handler > Add to add a virtual-host-level PHP handler. Set the following values:

  • Suffixesphp
  • Handler TypeLiteSpeed SAPI
  • Handler Name[Server Level]:lsphp74

OpenLiteSpeed come with php detached mode by default, so need to restart php with command killall -9 lsphp to make settings take effect.

Category: OpenLiteSpeed

Some cloud providers like Google Cloud Platform may block port 25 by default to prevent SPAM email.

We can use a plugin, e.g. WP Mail SMTP, to set a specific port easily. Please see How to Set Up the Other SMTP Mailer in WP Mail SMTP for details.

Category: OpenLiteSpeed

Edit the following file to configure PHP parameters:

vi /usr/local/lsws/lsphp73/etc/php/7.3/litespeed/php.ini

NOTE: We are using LSPHP 7.3 as example. If you are using a different version, please adjust the number in the URL accordingly. To increase the allowed file size, for example, you would make the following edits:

upload_max_filesize = 64M
post_max_size = 64M

Other parameters in the file may also be changed, if needed. OpenLiteSpeed come with php detached mode by default, so need to restart php with command killall -9 lsphp to make settings take effect

NOTE: You have the option of using the following WordPress plugin to edit PHP directly from WordPress without doing it manually like this.

Custom PHP Settings

Category: OpenLiteSpeed

The OpenLiteSpeed WordPress image comes with the latest phpMyAdmin version already, so you shouldn’t need to update it. If you do need to update it, you can run the following commands:

cd /var/www/; mv phpmyadmin phpmyadmin.bak
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
unzip phpMyAdmin-*.zip; rm -f phpMyAdmin-*.zip
mv phpMyAdmin-* phpmyadmin
cp phpmyadmin.bak/config.inc.php phpmyadmin
chown -R www-data:www-data phpmyadmin
Category: OpenLiteSpeed

Method 1: Change phpMyAdmin URL

  • Navigate to WebAdmin > Virtual Hosts > Context
  • Change URI from /phpmyadmin to (for example) /secure

Method 2: Allow specific IP only

  • Navigate to WebAdmin > Virtual Hosts > Context > phpmyadmin
  • Change Access Allowed from * to (for example) and set Access Denied to *

Please substitute with your IPs/subnets

Method 3: Require a Password

  • Log into SSH console and create a password file:
    $ sudo touch /usr/local/lsws/conf/PASS
    $ sudo chown lsadm:lsadm /usr/local/lsws/conf/PASS
  • Navigate to WebAdmin > Virtual Hosts > Security
  • Click + under Realm List then set Realm Name = example, and User DB Location = /usr/local/lsws/conf/PASS
  • Click /usr/local/lsws/conf/PASS to create a user/password
  • Navigate to WebAdmin > Virtual Hosts > Context > phpmyadmin
  • Set Realm to example

For help learning how to connect to your VPS using SSH please see our Quick Start Guide on SSH using Putty.

Category: OpenLiteSpeed
  1. Log into phpMyAdmin
  2. Click the Operations tab
  3. Under the field Rename database to: enter the new database name.
  4. Click the Go button and press OK.
Category: OpenLiteSpeed

Run the following command:

dpkg-reconfigure postfix 

Configure the settings as follows:

  • General type of mail configuration? Internet Site
  • System mail name: example.com (not mail.example.com)
  • Root and postmaster mail recipient: ubuntu (your user name)
  • Other destinations to accept mail for:  (to use default value)
  • Force synchronous updates on mail queue? No
  • Local networks: [::ffff:]/104 [::1]/128
  • Mailbox size limit: 0
  • Local address extension character: +
  • Internet protocols to use: all
Category: OpenLiteSpeed


This is for OpenLiteSpeed VPS users only. Our shared hosting environments already have email server preinstalled. All you have to do is create email account in cPanel or Plesk.

For Centos:

yum -y install postfix

For Ubuntu:

DEBIAN_FRONTEND=noninteractive apt-get -y \

-o Dpkg::Options::='--force-confdef' \

-o Dpkg::Options::='--force-confold' install postfix
Category: OpenLiteSpeed

You should not need to install the PageSpeed Module if the LiteSpeed Cache plugin for WordPress is already in use. Enabling both may degrade performance by 10% or more.

To install the module, please see the OpenLiteSpeed PageSpeed Module knowledgebase article.

Category: OpenLiteSpeed

Sometimes a system upgrade may cause the config file to be updated. The first thing you can do is to check user permissions.

For Memcached:

vi /etc/memcached.conf  

Verify -u www-data.

For Redis:

vi /lib/systemd/system/redis-server.service

Verify Group=www-data.

Category: OpenLiteSpeed

The OpenLiteSpeed WordPress image comes with automatic certificate renewal by default in /etc/cron.d/certbot. An example of the cron job is:

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

Once you finish the Let’s Encrypt apply by prompt script, it will auto apply the server hook to the cronjob rule. An example of the cron job is:

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew --deploy-hook "/usr/local/lsws/bin/lswsctrl restart"

This cron job is triggered twice every day to renew the certificate. The certbot -q renew command will check if the certificate is expiring in the next 30 days. If it is, then certbot will auto renew the certificate quietly without generating output, and auto restart the web server by hook. If the certificate is not expiring, then no action will be performed. When renewing the certificate, the same information provided during certificate creation (such as email address, domain name, web server root path etc.) will be used.

Category: OpenLiteSpeed

Visit your website using Chrome. Navigate to Chrome menu > More tools > Developer tools > Network, or simply use the shortcut Ctrl+Shift+I to bring it up. The test page may contain many requests, but you can just click your main domain to check the header. You might see X-LiteSpeed-Cache: miss or X-LiteSpeed-Cache: hit. Normally the first visit to a page is a miss, but subsequent visits should be a hit.

Category: OpenLiteSpeed

This script will:

  1. Generate an Apache config file from OpenLiteSpeed config
  2. Uninstall OpenLiteSpeed
  3. Install LiteSpeed and read the Apache config file
/bin/bash <( curl -sk https://raw.githubusercontent.com/litespeedtech/ls-cloud-image/master/Setup/ols2ent.sh ) -L

You will need to purchase a LiteSpeed Enterprise license after upgrade. Lite Speed Enterprise license can be purchased from our store.


Do not run this script on a production server or critical site without running it on a test site first.

Category: OpenLiteSpeed

OpenLiteSpeed was installed from the LiteSpeed repository, so you can simply use the system update to update OpenLiteSpeed to the latest stable version.

$ sudo apt-get update && sudo apt-get upgrade openlitespeed -y
Category: OpenLiteSpeed

If you forget your password, you may run the following command to reset it:


It will ask for the WebAdmin username, which should be admin. Then, enter your new password. You can use Putty to make ssh connection. Read our quick start tutorial on Putty to get started quickly.

Category: OpenLiteSpeed

WordPress Maintenance

We certainly think so! Leave the maintenance of WordPress to us and worry about the day to day operation on your business.

We know you’ll love Best WordPress, but if for any reason you’d like to cancel your account after the first thirty days we’ll provide a prorated refund for any unused time left in your plan.

In order to provide comprehensive WordPress support we’ll need an administrator account in WordPress and access to your server, usually through cPanel or via your hosting account, so we can get everything setup and take care of any issues that arise. Other than that we just collect standard billing information and an email address for notifications.

No. We offer WordPress maintenance plans for customers we host and for customers hosted by third parties. A quality web host makes a huge difference in your site’s performance and can even improve your search engine rankings. If you’re happy with your current host then there is a good chance that everything will be fine. For those who are having issues with their host or are looking for more performance we can point you toward affordable, high quality hosting that we provide that are tailored to your needs. Learn more about Best WordPress Hosting here.

Yes, you can upgrade at any time after signing up. You’ll see an option when you view your account settings. You can downgrade at any time, too.

If a WordPress core, plugin, or theme update breaks your site we’ll either fix it or restore a backup. We always have a site backup available before we apply updates and test after. Sometimes plugins simply aren’t compatible with the latest version of WordPress or they are no longer being maintained by their developer. In those cases, we’ll do our best to find a replacement to recommend.

We’ll update any themes or plugins that are installed on your site, but premium plugins and themes – those that have been purchased – must have valid and active licenses. We apply the following updates for free for members:

  • All WordPress core updates are included.
  • Plugins that are available from the WordPress plugin repository are included. All other plugins can be optionally updated using development hours.
  • Themes that are available from the WordPress theme repository are included. All other themes can be optionally updated using development hours.
  • We don’t include paid (premium) plugins and themes in our standard updates because they often take more time to configure and test, and since we won’t have your license information, you’ll need to provide the updated plugins files or input the license on your site so we can update them for you.

We try to be fair about the time spent updating premium plugins and themes. More and more, those updates are one-click and therefore wouldn’t count against your development hours. However, there are still many circumstances where they must be updated manually.

After joining, the first thing we’ll need from you is some Site Access information. That includes a WordPress administrator account and FTP/Server access. We can help you find this information if needed.

Next, we’ll complete an initial site assessment and run a series of benchmarks of your site to get a baseline to compare to after we start optimizing. We are typically able to make significant improvements in performance for our members and these first tests are what we use to measure our success.

Then we’ll setup your site with our lightweight management tools and run an initial backup and security scan. We configure automatic weekly or daily backups and daily security scanning.

Finally, we will fix any critical issues we found during our initial assessment and take care of any of your immediate concerns.