WordPress is the world’s leading (and by far the most popular) content management system (CMS) – currently powering over 40% of all websites on the internet & continuing to gain market share year after year.
After all, it’s trusted by prestigious brands like Bloomberg, the BBC, and TechCrunch – just to name a few – for good reason.
In this guide, we’ll walk you through how to deploy a WordPress website on OpenLiteSpeed – a server stack built for speed, security, and scalability – using RunCloud as well as manually. So, without further ado – let’s dive in:
Getting Started – Server Requirements
To Deploy WordPress on OpenLiteSpeed, you will need:
- A server with a fresh, clean installation of Ubuntu 18.04/20.04 x86_64 LTS
- You will need at least one static public IP Address (especially for Google Cloud and AWS users where an additional step is required to set up a static public IP Address for your server).
- Make sure ports 22, 80, 443, and 34210 are open (especially for Google Cloud, AWS, Azure, and Alibaba Cloud users where an additional step is required to open these necessary ports for your server).
How To Deploy WordPress on OpenLiteSpeed (Recommended)
The easiest & therefore recommended way to deploy WordPress on OpenLiteSpeed is using RunCloud. Let’s see how you can get both your server and site up and running in 3 simple steps…
1. Create or Log Into Your RunCloud Account
The first step is to log into your RunCloud account. If you don’t have a RunCloud account we’ll recommend you to create one:
2. Connect Your Server
Now that you’re logged into your account – you’ll need to go ahead and connect your first server to RunCloud. This only takes a few minutes, to get started, click Let’s get started as shown below:
Next, you’ll see a list of compatible cloud hosting providers. Go ahead and make your choice (for example, UpCloud) and choose the Connect via IP Address option if you’ve already deployed a new server with your cloud hosting provider:
You can alternatively use our integrations for Vultr, Digital Ocean, Linode, and UpCloud’s APIs to automate the entire server build & deployment process.
Once selected, scroll down and select OpenLiteSpeed as your preferred server stack:
Then, give your server a suitable name (so it’s easy to locate later), enter the server’s IP address, and click Add this server. You’ll then be taken to the following page where you’ll be asked to enter your server’s root password:
You’ll then be prompted to enter your server’s root password, which will be automatically emailed to you by UpCloud once your server has finished deploying. And with other server providers, it’s typically quite easy to locate in their respective account areas. Once entered, click Start the installation.
As RunCloud configures your server – this is what you’ll see:
And once complete, OpenLiteSpeed will have been successfully installed and configured which means you can now deploy WordPress using RunCloud’s easy 1-Click WordPress installation.
3. Deploy WordPress With RunCloud’s 1-Click Install
Now that your server is connected to RunCloud, the last step is to create your brand-new web application (in this case, WordPress) using our easy, one-click WordPress installation.
- Select your server and navigate to the Web Application tab – as shown below:
- In the top right corner, click Create Web App and proceed to select RunCloud’s 1-Click WordPress option:
There are a few standard WordPress-related settings that you can configure here such as your first user account as well as the site administrator email address – as well as enabling the automatic installation of LiteSpeed’s official caching plugin for WordPress (which we highly recommend leaving enabled).
For reference, the officially LiteSpeed Caching plugin paired with LSCache is an incredible combination. The plugin is one of (if not) the best & most well-maintained caching plugins for WordPress – here’s a quick preview of what it’ll look like in your WordPress dashboard when you’re done following this tutorial to install OpenLiteSpeed:
And once you’re done entering your credentials, simply click confirm and that’s it. RunCloud will take care of the entire WordPress installation process.
Once RunCloud finishes deploying WordPress on your brand-new server, here’s what you’ll see:
Now you can manage your WordPress installation right here from your RunCloud dashboard. In order for your site to be accessible from a URL of your choice, you’ll need to navigate to your web application’s Domains options where you’ll be able to connect a domain and then be prompted to create the necessary A record to point to this IP address with your DNS provider. Once you’ve connected a domain, you’ll be able to deploy a free Let’s Encrypt SSL certificate in the SSL tab or alternatively install a custom certificate from another service such as Cloudflare.
With RunCloud, you can finally enjoy hosting and managing servers with features like cloning, staging, atomic deployment, built-in backups, and more…
As you’ll quickly notice when you begin to take a look around your newly installed WordPress website, just clicking around the WordPress admin area on your new site, you’ll feel a noticeable difference in how snappy pages are loading in comparison to what you’re likely accustomed to. Websites running on NGINX on RunCloud can benefit from the RunCloud Hub as well as RunCache, while sites using OpenLiteSPeed can instead take advantage of the official LiteSpeed Caching plugin.
So now, let’s actually drop in the demo site we set up for this tutorial to run a quick performance test with GTMetrix and Google PageSpeedInsights.
With no optimization of any kind done, this is quite impressive & truly a result of OpenLiteSpeed’s highly performant server stack as well as RunCloud’s configuration and UpCloud’s rock-solid infrastructure. Though it is worth noting that most benchmarks begin to observe the more notable differences when comparing OpenLiteSpeed and other server stacks under heavier load so we look forward to you deploying your sites and enjoying the benefits of the OpenLiteSpeed server stack which was built for speed, security, and scalability!
Migrating Sites from NGINX to OpenLiteSpeed
If you already have sites hosted on servers running NGINX that you’d like to move over to OpenLiteSpeed servers, the process couldn’t be easier with RunCloud.
- Deploy a new server with OpenLiteSpeed (as outlined above)
- Clone the web app from the NGINX server to your new OpenLiteSpeed server
- Test and if you run into any issues, simply rebuild the web application
- Point your domain to your new server
Ready to get started? Create your RunCloud account today.
How To Deploy WordPress on OpenLiteSpeed (Manual)
However, for those of you who are just looking to test OpenLiteSpeed on a sandbox server – here’s how you can manually install WordPress on OpenLiteSpeed:
- Installing MariaDB server:
MariaDB server is a popular open-source alternative to MySQL database. It’s easily available in the standard repositories. The first step is to update the packages list on the server, using the following command:
sudo apt update
After the packages list has been updated, run the below command to install the MariaDB server and MariaDB client on your server. There, you will be asked to confirm to use storage space. Type Y and press the Enter key to proceed with the installation.
sudo apt install mariadb-server
Use the below command to conduct the secure installation of MySQL on your server.
sudo mysql_secure_installation
The command prompt will take you through the wizard, including the following questions. Answer them as shown below:
- Change the root password: N
- Remove anonymous user: Y
- Disallow root login remotely: Y
- Remove test database and access to it: Y
- Reload Privilege Table Now: Y
The MariaDB server has been installed and configured. You can proceed to create the first database.
Go into the MySQL client by running the following command.
sudo mysql
Enter the below commands to build a database and grant all permissions on that database to a new database user account.
- mysql > CREATE DATABASE wordpress;
- mysql > GRANT ALL ON wordpress.* TO ‘wordpress’@’localhost’ IDENTIFIED BY ‘password’;
Flush the privilege table and exit from the mysql shell.
- mysql > flush privileges;
- mysql > exit;
Now, your database is ready to install WordPress.
The next step is to install all the required PHP extensions.
- Installing required PHP extensions
WordPress works with both PHP and SQL. Before installing WordPress, you will need to install the following PHP extensions to ensure that WordPress runs on the server seamlessly.
sudo apt install lsphp74-common lsphp74-curl lsphp74-imap lsphp74-json lsphp74-mysql lsphp74-opcache lsphp74-imagick lsphp74-memcached lsphp74-redis
3. Configuring OpenLiteSpeed
You will need to configure the OpenLiteSpeed server to host your WordPress site. Here, you are required to set the correct version of the PHP processor, allow the rewrite module and various other features.
Configure your server to use Isphp74 as a PHP server instead of the default PHP processor.
- Go to Server Configuration > External App and click the edit icon.
- OpenLiteSpeed SAPI app
- Replace lsphp with lsphp74
- Replace uds://tmp/lshttpd/lsphp.sock with uds://tmp/lshttpd/lsphp74.sock
- Replace lsphp73/bin/lsphp with $SERVER_ROOT/lsphp74/bin/lsphp
Once you make the changes, click on the save icon on the top right corner of the panel. The next step is to configure the rewrite module, an important part of the WordPress feature. Go to the Virtual Hosts and click on the view icon.
Click on the General tab. Edit the General options with the edit icon at the top right corner.
In the Document Root field, type $VH_ROOT/html/wordpress and click the save button at the top right corner.
Again click on the General tab of virtual hosts configuration. And click the edit icon next to the Index Files section.
In the Index Files Field, add index.php at the beginning of the section. Click on the Save button at the top right corner.
Go to the Rewrite tab of the Virtual Hosts configuration view and edit the Rewrite Control Options.
Set Enable Rewrite and Auto Load from .htaccess to Yes. Click on the save icon at the top right corner.
Click on the restart icon to apply the changes once the configuration is done on the OpenLiteSpeed server.
4. Downloading and extracting WordPress
Your server is ready to host WordPress. Now, you can download and install WordPress.
Navigate to the virtual host root which is /usr/local/lsws/Example/html
cd /usr/local/lsws/Example/html/
Download the latest version of WordPress using the wget command below.
wget https://wordpress.org/latest.tar.gz
Extract the zip files, which will create a directory called ‘wordpress’ in /usr/local/lsws/Example/html
tar xvfz latest.tar.gz
5. Setting up the ownership and permissions of the file
By setting up the right ownership of files and folders, you will not come across any problems while installing or downloading any new themes or plugins. Let’s check how you can set up the ownership of the files and folders.
Firstly, remove ownership from the WordPress directory through the below command.
sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress
Using the below command, set 750 permissions to the directories and 640 to the files.
sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;0
6. Installing WordPress
Through the IP address of your OpenLiteSpeed server or your domain (if set), you can open the WordPress installation wizard in your web browser.
In the first screen, you will be asked to choose your preferred language. Select your language and click on the Continue button.
Next, WordPress prompts you to keep the database server information and credentials ready. Click on the “Let’s Go!” button. Fill up the details as shown below:
- Database name: the database you created through the MySQL shell, wordpress in this example.
- Username: Here, you need to input the database user
- Password: Type in the password of your database user
- Database Host: localhost
- Table Prefix: wp_ is the default table prefix. However, you can type something else to enhance the security of your website.
Click on the Submit button to confirm.
Up till now, the configuration of the database connection for the WordPress installation has been done. Next, click on the “Run the Installation” button to set up your WordPress site.
You will be asked to enter your website’s details, create an administrator account, and create a password.
When you have filled up all the details, click on the Install button.
On successful installation, you will be able to see the login screen. Log in using the username and password that you created earlier in the installation wizard. Once logged in, you can see the WordPress website’s admin dashboard.
7. Creating and configuring SSL certificates
Now, WordPress is successfully installed on your web server. To add a security layer between your website server and your audience, you will have to obtain and install SSL certificates.
If you already use Certbot to obtain SSL certificates for your OpenLiteSpeed server, you can use the already installed Certbot client. Then, you can skip the installation step and check out the steps to obtaining certificates for your WordPress site.
If you do not have the Certbot installed, use the steps here to get the client.
Update the packages installed on the server using the following commands:
sudo apt update
Install the Certbot client with the following command.
sudo apt install certbot
Now you can obtain the SSL certificates for your server with the below command.
sudo certbot certonly --webroot
Note: Before you can obtain SSL certificates, you will need to have a domain name: A record pointing to your OpenLiteSpeed server’s public IP address.
Then, you will have to answer the following questions.
- Enter Email address: Type in your email address
- Accept the terms of service: A
- Share your Email Address with EFF: Type Y for yes and N for No.
- Enter Domain name: Type your FQDN (fully qualified domain name) here
- Input the Web root: /usr/local/lsws/Example/html/wordpress/
The validation process will be completed, once you are done answering the above questions. The certificate files will be saved in /etc/letsencrypt/live/<your-domain>/ directory.
Configure the WordPress site on your OpenLiteSpeed server to use the SSL certificate. Navigate to the Virtual Host configuration and open the SSL tab. Edit the SSL Private Key & Certificate.
Type the fields as follows:
- Private Key File: /etc/letsencrypt/live/<your-domain>/privkey.pem
- Certificate File: /etc/letsencrypt/live/<your-domain>/fullchain.pem
- Chained Certificate: Yes
- CA Certificate Path: /etc/letsencrypt/live/<your-domain>/fullchain.pem
- CA Certificate File: /etc/letsencrypt/live/<your-domain>/fullchain.pem
Once completed, go to Listeners and add a new listener.
Fill in the fields as follows:
- Listener Name: SSL
- IP Address: ANY
- Post: 443
- Binding:
- Enable REUSEPORT: Not Set
- Secure: Yes
Apply the new settings by clicking the save icon on the right.
Next, view the SSL listener to configure the Virtual host mapping.
Add a row in Virtual Host Mappings.
Choose the virtual host and type in your domain name. Save the settings from the save button on the top right corner.
Once you’ve configured the SSL with your OpenLiteSpeed server, click on the restart icon to apply the changes.
You can now visit your website on https protocol as well.
Now, you are all set to work on your newly installed website.
Given how time-consuming the manual installation of OpenLiteSpeed (as well as the deployment of WordPress) is, this isn’t recommended for those of you who aren’t system administrators or don’t have significant experience managing servers.
This is actually exactly why we built RunCloud.
Painless server configuration that automates all of this so you don’t need to spend hours figuring it out – get started with RunCloud today & get up and running in minutes.
Already deployed your WordPress website on OpenLiteSpeed? Or, have any other questions or already deployed your WordPress website on OpenLiteSpeed? Let us know & join the conversation by leaving a comment below. 💬