How to Install WordPress with OpenLiteSpeed

Do you know How to Install WordPress with OpenLiteSpeed?

OpenLiteSpeed is a high performant web-server especially for WordPress sites because of LSCache plugin.

A great deal of people are opting for OpenLiteSpeed stack to power and speed up their WordPress site, in this article we will see how you can do exactly that.

Install OpenLiteSpeed:

First of all, we have to know how to install OpenLiteSpeed. To do so we are going to mention all the installation steps here. OpenLiteSpeed installation is very easy. Installation for different Operating systems is different but I will add here installation for Centos and Ubuntu.

Here in this article, we will install OLS from CentOs repositories. The difference in the installation process is just the commands steps and the sequence of steps remains the same throughout the process.

  1. You have to add the repositories in order to install OpenLiteSpeed. Here the commands to add repositories to the centos and Ubuntu.

Centos:

rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm

Ubuntu:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash

Adding repository is the first step to install OpenLiteSpeed.

2. After adding repositories to the machine now its time to install OpenLiteSpeed. OpenLiteSpeed is just one command install. Here is the Command.

Centos:

yum install openlitespeed

Ubuntu:

apt-get install openlitespeed

By default, this command installs the latest stable version of the OLS. if you want to install any specific version then the command will be

yum install openlitespeed-x.x.x

Replace x.x.x with any version you are required like 1.2.2 or any you need to install. Once OLS has been installed successfully. You OpenLiteSpeed directory is /usr/local/lsws.

3. To start OpenLiteSpeed server use the command

/usr/local/lsws/bin/lswsctrl start

4. To stop OpenLiteSpeed server use the command

/usr/local/lsws/bin/lswsctrl stop
image 35

Configuring OpenLiteSpeed:

In order to set up WordPress on the LiteSpeed server, you have to do some configurations on your server.

For the configuration, we have to access the LiteSpeed Web Server to access the webserver. You can use the port 7080 with your IP address. You can reach the webserver from the following link https://<your_server_ip>:7080. Once you reach this you can see this screen

OpenLiteSpeed

Provide credentials to log in to the webserver. Usually username=”admin” and if you don’t know the password you can change it by running this simple command

/usr/local/lsws/admin/misc/admpass.sh
image 17

After providing the details you can see the dashboard of LightSpeed Web Server.

image 18

Now it time to do some configurations on the webserver. First of all, from this OpenLiteSpeed dashboard find Server configuration on the menu.

image 19

Go to the External App section present in the Server configuration. And you see LightSpeed SAPI App click Edit.

image 20

After getting to the next page by clicking the Edit button. Now you have to do some configuration according to the PHP version that you have. This is important because OpenLiteSpeed installation won’t be able to correctly execute PHP Scripts. So we have 7.3 We will do configurations according to our version. By default there is lsphp but we have to make it lsphp73. 73 is for my PHP version you can do it for your own version.

We have to correct three things Name, Address and Command according to our version.

image 21

Once you edit these go and save these settings.

Now its time to edits some Virtual Hosts settings. To do so go to the Virtual Hosts section from the left menu.

image 22

You can see an Example Virtual host on the screen view this for some configurations.

image 23

In the Example virtual Host go to the General Tab. And click the edit button. These are some Configurations that are important for WordPress.

image 24

In order to install and setup WordPress, we are going to create a directory WordPress in the next steps so in Document Root we add this. OpenLiteSpeed looks at the contents of the Document Root field for content to serve.

image 42

Once you done click save.

In LightSpeed by default, there is only index.html file as index file but for WordPress, we will need index.php also because its core file for WordPress and This will allow the main logic of WordPress to function correctly.

To do so in General tab go to the index files and click to the edit.

image 26

Add the index.php file also in index file with index.html. and save

image 27

Now we have to do some setting on rewrite rules for this go to the Rewrite tab in the Virtual Host window.

image 28

In Rewrite Enable Rewrite and Auto Load from .htaccess. Make these option yes. And click to save.

image 29

Now we are going to take a look on some security options. As OprnLiteSpeed installation includes some Password protected areas for the authentication features. And we know that WordPress uses its own authentication mechanisms and we will not going to use file-based authentication by Openlitespeed. So we have to remove these so WordPress works properly on its own.

To do so got to the Security tab in the Virtual Hosts option.

image 30

At the end of this screen, you can see a Realm List which has a SampleProtectedArea. Click on the Delete button to remove it.

image 32

It will ask you for confirmation click the Delete button and go on.

Now you have to delete the protectd from context. Go to the Context tab. Here you find /protected/ click delete and delete it.

image 33

Once all done now its time for  Graceful Restart in order to configure all changes we made. To do so click the restart button on the top of screen.

image 34

Now your OpenLiteSpeed is fully configured and good to go.

Installing MySQL

As we know that WordPress uses MySQL. WordPress needs MySQL to store and manage its data. So in order to install WordPress On OpenLiteSpeed, we must have the MySQL installed on the server. Go to the terminal and check the installation of MySQL to check this type of command

mysql -v

This will show you the version of MySQL. If MySQL is not installed there then it will give you MySQL command not found. You have to follow the process.

  1. Download and add the repository
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

2. Install MySQL as usual.

sudo yum install mysql-server

3. Start the service

systemctl start mysqld

Now you have to log in to the MySQL root account. to login to the root access type the command:

sudo mysql
image 36

Now we are going to create a database using this command:

CREATE DATABASE webssite DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

The name of the database is whatever you want to use but here we used “website”. Now we have to create a user how has all rights for this database. You can specify a username and password according to your choice.

GRANT ALL PRIVILEGES ON webssite.* TO 'user'@'localhost' IDENTIFIED BY 'password'; 

Now FLUSH PRIVILEGES which tells the server to reload the grant tables and put your new changes.

FLUSH PRIVILEGES;

Now exit from mysql.

exit;
image 37

Installing PHP Extensions:

We need to install different PHP extensions and modules in order to run and fulfill the required result for our WordPress Site. Here we mention some of the modules and will install them for PHP 7.3 Installation is the same for every PHP version jus the change of version in command.

Centos:

yum install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

Ubuntu:

apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

LiteSpeed Repository installs PHP unber /usr/local/lsws/lsphpxx

These are some extensions like redis, mysql, imagick, etc you can also install any other if you wan to.

image 38

Installing and Configuring WordPress:

Now we have to discuss the installation and configuration process of WordPress with the OpenLiteSpeed. We are done with Server configuration and now we are on the installation. You can download the latest version of WordPress from the there official site. You can download WordPress and any directory. I created a directory “mywebsite“. Create the directory using the following command:

mkdir mywebsite
image 39

Go to that specific directory that you created to download WordPress. Use the command cd “your_directory”.

Now its time to download WordPress. You can do it using a command and the command is stated here:

curl -O https://wordpress.org/latest.tar.gz

If you want to download any specific version. Go and get the proper link for that proper version. Now extract the compressed file that you downloaded.

tar xzvf latest.tar.gz

Now your directory look like this:

image 40

Now for the OpenLiteSpeed we have to create a file before going to further process. OpenLiteSpeed Support .htaccess files. this is so important for us to create this file to go for the next steps because WordPress managed and create permalinks using this file. for this purpose, we will use touch command. Here is the whole command to create the .htaccess.

touch /root/mywebsite/wordpress/.htaccess

You can add the path where your WordPress is on the server.

One more important file for the WordPress Installation is the wp-config.php file. All the configuration of WordPress depends upon this file. Whenever we download this file from there official website this there will be a sample file like wp-config-sample.php. for this setup, we are going to copy that sample file into the wp-config .php file to use it. And will configure it. We are going to do it using a command you can do to with any other method too.

 cp /root/mywebsite/wordpress/wp-config-sample.php /root/mywebsite/wordpress/wp-config.php

You can see we have .htaccess and also wp-config.php on our server now.

image 41

For the safe side, we are going to create an upgraded directory so WordPress will not run into permission issues while updating. A very simple command is used for this:

mkdir /root/mywebsite/wordpress/wp-content/upgrade

Always check you changes that you made. Now its time to move the WordPress content to the place from where we can access this. As you remember that we added the path for our WordPress site in the OpenLiteSpeed in the virtual host-> Example -> root document.

We have to move this in /usr/local/lsws/Example/html/mywordpresssite

Now here I mention the command to move my WordPress content to that specific.

cp -a /root/mywebsite/wordpress/. /usr/local/lsws/Example/html/mywordpresssite

This is the command for specific my setup. And also note the “.” in the command. This will copy all the hidden files also.

Now its time to do some critical configuration for your WordPress to be working. We have to do some permission configurations and wp-config.php configuration the most important. First of all, we will go for the permissions of files. We are going to set nobody user and nogroup to the group. OpenLiteSpeed web server runs these as default and gives the ability to read and write these.

Use these command to do so. incase of centos this one will work:

sudo chown -R nobody:nobody /usr/local/lsws/Example/html/mywordpresssite

In case of ubuntu this will work

sudo chown -R nobody:nobody /usr/local/lsws/Example/html/mywordpresssite

Now in the next step, we have to find two more permission sets. We have to specify the permissions for files and directories. First, we are going to set permission for the directories for that we will use

sudo find /usr/local/lsws/Example/html/mywordpresssite/ -type d -exec chmod 750 {} \;

Set permissions to 750 And for files permissons we use:

 sudo find /usr/local/lsws/Example/html/mywordpresssite/ -type f -exec chmod 640 {} \;

These permissions are required and suitable for the process and the proper functionalities properly.

Now we all done with the permissions part now we have to set set up wp-config.php. We copied the content of the sample file in the wp-config file. So we have to add some real value in order to word the wp-config properly. In the default file, you can see that they ask you for real value now we have to generate these values.

image 43

We can do so from the official API of WordPress for these use this command:

curl -s https://api.wordpress.org/secret-key/1.1/salt/
image 44

Once you run this command you will receive value like these. Copy the value from the terminal and replace these values in the wp-config.php file I am going to do this from the terminal using vi editors.

You can use this command to do so on your end:

vi /usr/local/lsws/Example/html/mywordpresssite/wp-config.php

this one is default one and have to replace with real values.

image 45

After updating with real values it look like.

image 46

The configurations for keys are now set up and now we have to set up database configurations in the wp-config.php file.

You remember the Database you created and the user for that. Now we have to add these in this file.

image 47

Now in this default configuration now we will add out real values in it.

image 48

All done for the wp setup. Its time to open and launch the final site.

Install WordPress with OpenLiteSpeed

Setup WordPress

Now we will go to the last WordPress Setup. First of all, you have to know how you can access your WordPress to setup. Be careful in this process. You can open your WordPress installation through your IP or server domain but check the firewall may in my case I was able to open the site on port 8088

http://<ip_address>:8088
WordPress

Here the process is started for installation. You have to select your language and click Continue.

Here you have to provide the required information. Username, Password, Site tile, and Email after providing all these clicks to the Install WordPress button.

Install WordPress with OpenLiteSpeed

You will receive the confirmation screen for the process.

image 51

Click to the login button and provide the detail to login.

image 52

After login, you can visit the admin dashboard and do whatever you want to.

image 53

Now you can do any operation regarding your site from here. Add any plugin, posting, and anything you want to do.

Benchmark of WordPress Site with LS Cache:

At the last, we are also going to check the benchmark for the WordPress Site with and without ls cache. In this way, we can evaluate how LS Cache effects the site. First, we will see the results without LS Cache and then we enable LS Cache and see the results. we are going to use h2load for performing benchmarks. You can visit here to check how to install it.

For the benchmark, we chose a fixed value which we are going to use after and before the LS Cache installation.

h2load -n10000 -c100 -m10 https://mydomain.com/

We are going to use this command that means we have three parameters here:

-n The number of total requests. we are going with 10000

-c The number of concurrent clients. we are going with 100

-m The max concurrent streams to issue per client. we are going with 10

Benchmark without enabling LS Cache

image 54
starting benchmark…
spawning thread #0: 100 total client(s). 10000 total requests
TLS Protocol: TLSv1.2
Cipher: ECDHE-RSA-AES128-GCM-SHA256
Server Temp Key: ECDH P-256 256 bits
Application protocol: h2
progress: 10% done
progress: 20% done
progress: 30% done
progress: 40% done
progress: 50% done
progress: 60% done
progress: 70% done
progress: 80% done
progress: 90% done
progress: 100% done
finished in 1.61s, 6195.49 req/s, 154.30MB/s
requests: 10000 total, 10000 started, 10000 done, 10000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 10000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 249.06MB (261158611) total, 120.81KB (123711) headers (space savings 96.91%), 248.42MB (260490000) data
min max mean sd +/- sd
time for request: 27.77ms 287.59ms 113.67ms 56.38ms 77.80%
time for connect: 175.54ms 317.87ms 206.94ms 43.20ms 83.00%
time to 1st byte: 205.29ms 438.45ms 287.47ms 71.38ms 66.00%
req/s : 62.07 106.24 77.41 16.47 76.00%

Benchmark after enabling LS Cache

image 55
[root@cyberpanelubuntu ~]# h2load -n10000 -c100 -m10 https://shoaibkhankhattak.tk/
starting benchmark…
spawning thread #0: 100 total client(s). 10000 total requests
TLS Protocol: TLSv1.2
Cipher: ECDHE-RSA-AES128-GCM-SHA256
Server Temp Key: ECDH P-256 256 bits
Application protocol: h2
progress: 10% done
progress: 20% done
progress: 30% done
progress: 40% done
progress: 50% done
progress: 60% done
progress: 70% done
progress: 80% done
progress: 90% done
progress: 100% done
finished in 1.40s, 7117.72 req/s, 177.27MB/s
requests: 10000 total, 10000 started, 10000 done, 10000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 10000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 249.06MB (261156355) total, 118.61KB (121455) headers (space savings 96.97%), 248.42MB (260490000) data
min max mean sd +/- sd
time for request: 22.52ms 190.04ms 94.97ms 32.20ms 66.87%
time for connect: 146.85ms 303.13ms 194.98ms 47.78ms 77.00%
time to 1st byte: 192.92ms 410.21ms 272.01ms 68.73ms 67.00%
req/s : 71.36 132.70 91.69 21.77 77.00%

Now you can see the difference between the both results.

Read More: HOW TO CHANGE TIMEZONE ON LINUX SERVER

Follow US on Facebook / Twitter  for update.

Top WordPress Page Builder Plugins

WordPress is one of the most popular content management system (CMS). Now more than 60 million websites are using it. WordPress offers many themes and plugins to manage their websites. WordPress Page Builder plugins are also available for WordPress which makes the designing of a website easy.

Using a WordPress page builder anyone can make and edit their website according to their choice. Even a non-technical person can do it without any programming or designing skills.

There are many page builder plugins for WordPress. Here we discuss the most popular, user-friendly, and easy-to-use plugins. Which are also available for free.

Table of Contents

  1. Elementor
  2. Divi
  3. Beaver Builder
  4. Page Builder by SiteOrigin
  5. WP Page Builder
  6. WPBakery Page Builder
  7. Nimble Page Builder

Elementor:

Elementor is one of the best WordPress Website Builder powered by Elementor.com. Elementor is available in Free and Premium versions, with over 5 million active installs. You can create beautiful sites and pages using a drag and drop interface.

Elementor has a large list of powerful features that enable you to build your website quickly and easily.

WordPress Page Builder plugins

Elementor Features:

Drag and Drop Editor

Elementor plugin allows simple drag, Drop, and customize editing. This has one of the fastest and easy editors in WordPress.

300+ Designer Made Templates

Elementor has more than 300 built-in templets. You can choose from them and use them. It has almost a templet for a very kind of industry.

90+ Widgets

There are more than 90 Widgets for users. Buttons, headings, froms, and other like them. Youc can easily choose and use them.

Responsive Editing

Responsiveness is the backbone of your site. Elementor plugin allows responsive editing ti its users. Switch to mobile view, and tweak every element to make it look perfect on any device.

Popup Builder – Pro

The popup builder feature is only available in the pro version of the Elementor plugin. It allows users to create perfect popups. It also includes many advanced targeting options.

Theme Builder – Pro

This feature is also for the Pro version only. By using this feature you can edit each and every part of your site without code. Its like making your own theme.

WooCommerce Builder – Pro

This paid feature take control over your WooCommerce online store by utilizing the power of Elementor.

More Features of Elementor

Click More Elementor Features

Pricing Plans

image 38

Divi

Divi is one of the best WordPress Website Builder. According to the Divi website, Divi takes WordPress to a whole new level with its incredibly advanced Visual Builder Technology. Divi makes building websites for your clients so much easier, faster, and more enjoyable.  You can create beautiful sites and pages using a drag and drop interface.

Divi has a large list of powerful features that enable you to build your website quickly and easily.

image 44

Divi Features:

Drag and Drop Editor

Like Elementor plugin Divi also allows simple drag, Drop, and customize editing. It allows you to add, delete, and move elements around on the front end of your website.

True Visual Editing

Divi allows visual editing to its users. You can design your page in real-time and see the results instantly. Create and customize your pages using intuitive visual controls.

Inline Text Editing

Inline text editing is one of the important features for any site and Divi provides it for its customers. Just click and start typing! Editing your page has never been this easy. Draft pages on the front end and see the results instantly as you type.

Responsive Editing

Divi plugin allows responsive editing ti its users. Building beautiful responsive websites is easy. Divi is responsive by nature and also gives you full control over how your website looks on mobile devices.

Undo, Redo, & Revisions

Nowadays Undo, Redo is the basic functionality that almost every new program provides. Divi works like a modern software application. Easily undo, redo, and travel through your entire editing history. If you make a mistake, Divi has your back.

Custom CSS Control

Divi allows custom CSS for its user. So developers easily combine and modify CSS. Divi’s visual design controls with their own custom CSS. Divi’s interface is simple yet not limiting.

Design Options Galore

Enjoy dozens of unique page elements and thousands of design options. Divi gives you full design control over your website.

More Features of Divi

Click for more features

Pricing Plans

1 License. Complete Access. Unlimited Websites. Unlimited Users.

image 39

Beaver Builder

Beaver Builder is a drag and drop builder for WordPress. Beaver Builder has about 1,000,000 websites. Beaver Builder is a flexible WordPress plugin that uses for the frontend editing of websites without any code.

Use Beaver Builder and Make a stunning website  Whether you’re a beginner or a professional.

image 45

Beaver Features:

Live, Front End Editing

Beaver Builder provides live editing on the front end of your page. Live work gives you real-time output on the front end. What you see is what you get! No more guesswork.

Shortcode and Widget Support

Sometimes we need to add shortcodes and widgets to our pages. Beaver Builder supports shortcodes and widgets so you can use your other favorite plugins. Want to use Ninja Forms or an Easy Pricing Table? We’ve got you covered!

Reusable Templates

Every layout you create can be saved and reused an unlimited number of times to quickly build new pages.

Responsive Editing

Responsiveness is the backbone of your site. As long as you’re using a responsive theme, any page built with Beaver Builder will be totally responsive.

Theme Builder – Pro

This feature is also for the Pro version only. By using this feature you can edit each and every part of your site without code. It’s like making your own theme.

WooCommerce Support

Beaver Builder also provides woocommerce support. Beaver Builder plays great with WooCommerce. It’s never been easier to design a storefront.

More Features of Elementor

Pricing Plans

image 40

Page Builder by SiteOrigin

SiteOrigin Page Builder is a popular page creation plugin for WordPress. It allows page building using many widgets, Content, Button, and other things.

A large number of WordPress users are using this for page creation on their site.

image 46

Page Builder by SiteOrigin Features:

Compatible with Theme:

This plugin is compatible with every WordPress theme. It’s not a commitment to a single theme or theme developer. The advantage is that you’re free to change themes as often as you like. Your content will always come along with you.

No Coding Just drag and drop

Like all other, this plugin also allows drag and drop. Page Builder’s simple drag and drop interface means you’ll never need to write a single line of code. Page Builder generates all the highly efficient code for you.

Live Editing

Page Builder supports live editing. This tool lets you see your content and edit widgets in real-time. It’s the fastest way to adjust your content quickly and easily.

Row and widget styles

Styling is also an important factor for any site design. Row and widget styles give you all the control you need to make your content uniquely your own. Change attributes like paddings, background colors, and column spacing. You can also enter custom CSS and CSS classes if you need even finer-grained control.

More Features

Pricing Plans

This plugin is free and always be free. Just install activate and use it.

WP Page Builder

WP Page Builder is a free WordPress Website Builder powered by  Themeum.com. You can easily design, and use your site using this plugin on WordPress. WP Page Builder is a free and completely front-end based tool with plenty of design options.

image 47

WP Page Builder Features:

Drag and Drop Editor

WP Page Builder enables you to edit your website on the frontend and see the output in real-time. You can use the ready-to-use elements, create simple to complex layouts, and bring different styles to a website in minutes. It’s superbly easy to create and design pages or edit existing ones with this WordPress page builder’s drag and drop system.

Undo and Redo Option

Like all modern applications, this plugin also allows undo and redo options. The best thing about this feature of plugin that you can undo and redo as many times as you want there is no limit for this.

Font styling and colors

This plugin also helps in typography and colors for the website.  Plenty of IcoFont and Font Awesome font icons are available to use with this WordPress page composer plugin. You can utilize any of the 340+ IcoFont line icons and 670+ Font Awesome icons on your site.

Responsive Editing

No matter how many rows and columns you take on a single page, it will have no issues with responsiveness. WP Page Builder ensures 100% responsive layouts and eye-catching look at the same time. Using the device-specific responsiveness controls, you can render the pages as on different devices (computers, tablets, mobile phones) while editing, and make necessary changes for the perfect responsiveness.

Built-in Blicks

With this plugin, you will get many blocks for your page. These blocks are already present in the plugin. There’s a wide variety of readymade section elements in this web page builder to accelerate your site-building process. Save time in designing sections just by dragging and dropping the readymade section elements of your choice!

More Features of Elementor

Pricing Plans

This Plugin is free and it is free for a lifetime. it has also some paid versions which have extra features.

These are the Annual plans

image 41

These are lifetime Plans

image 42

Nimble Page Builder

Nimble Page Builder is a fast and agile page builder plugin for WordPress powered by Press Customizr. This plugin allows live customization, darg and drop, widgets and all these thing. Nimble Builder uses native WordPress action hooks, which makes it compatible with all WordPress themes.

image 48

Nimble Page Builder Features:

Drag and Drop Editor

This plugin allows simple drag, Drop, and customize editing. This has one of the fastest and easy editors in WordPress. Drag and drop neatly pre-designed sections and customize them in a real-time preview.

Compatible with any WordPress contexts

The plugin works for home, Pages, Posts, custom posts, types, archives, and every other context of WordPress.

Embed Shortcodes 

Nimble page builder allows you yo add shortcodes and use them for your side anywhere.and see the result in a real-time preview.

Responsive Editing

Responsiveness is the backbone of your site. The plugin allows responsive editing ti its users. Switch to mobile view, and tweak every element to make it look perfect on any device.

More Features

Pricing Plans

it is a Free plugin available on plugin section of wp-Admin.

How to Setup CyberPanel on AWS EC2

If you want to setup CyberPanel on AWS EC2, read the article and follow the steps to do so. We will go from signing up on Amazon AWS to setting up an instance and installing CyberPanel

After reading this article you can easily set up an EC2 instance with Cantos 8 and install CyberPenel on it. Follow all the steps mentioned below.

Table Of Contents:

  1. AWS Access and Basics
  2. Create an EC2 instance on AWS
  3. EC2 Setup with Centos 8 minimal
  4. Ports Configuration (Firewall Configurations)
  5. Access Key Setup
  6. Access server using Bitvise
  7. Install CyberPanel

AWS Access and Basics:

To Set up an EC2 instance and install CyberPanel on AWS. First of all, you need an AWS account to do this. If you already have an AWS account. Log in using this link. And provide the required information.

image 35

If you do not have an account, go to this link. And provide the required information.

image 34

Amazon Web Services is a platform by Amazon that provides Web services globally.

Create an EC2 instance on AWS:

You can see this dashboard when you access the AWS console.

Setup CyberPanel on AWS EC2

Go to the Services option on the top menu.

image 37

Click on the Services and you can see this screen.

image 38

EC2 Setup with Centos 8 minimal

You can see the EC2 option on you screen click to start the process.

image 39

Once you click on the EC2 option now this screen appear.

From here you can create an EC2 instance with Centos 8 as OS. You have to click on the Launch Now option and proceed to the next steps.

image 40

1.1.  Choose AMI

Choose an Amazon Machine Image (AMI). Here you have to select the operating system image that will be used in this Instance.

image 41

On the screen above you have to go on the AWS Marketplace Option.

Here you have to search for Centos. (You can also go for any operating system you want to install but make sure it is supported by CyberPanel).

image 43

From the different versions of Centos, we go for the CentOS 8 Minimal (CentOS 8.2.2004).

Click on Select button to proceed with the instance set up.

image 44

After selecting the operating system you can see a Pricing Page. Click Continue to processed (this is just a description of how much you will be charged depending upon the instance size you choose on next screen)

image 45

1.2. Choose Instance Type:

In this step, you have to choose the instance size of your choice. And click for the next step. I choose a general that has a free trial.

image 47

1.3. Configure Instance

In this step leave the settings as default if you want to change anything go according to your requirement. If you don’t want to change anything then leave this as default and processed to next.

image 49

1.4. Add Storage

Add or change the storage according to your requirement. Processed to the next after changes.

image 50

1.5. Add Tags

Add any tags you want to add in this step. Like name, title etc.

image 51

Add the information like this:

image 52

After this processed to next.

1.6. Configure Security Group

This is the most important part of this process. You must have to add all CyberPanel ports before actually installing CyberPanel otherwise some features of CyberPanel may not work.

There is only one port in default configuration which looks like:

image 53

Add all the ports as seen in the picture below

image 54

Add IP as 0.0.0.0/0, ::/0

Ports that are needed to open for CyberPanel to work properly (In IP Address section you may want to replace 0.0.0.0/0 with your IP for some services like SSH to better protect your server against attacks):

IDNameProtocolIP AddressPort
1paneltcp0.0.0.0/08090
2httptcp0.0.0.0/080
3httpstcp0.0.0.0/0443
4ftptcp0.0.0.0/021
5smtptcp0.0.0.0/025
6smtpstcp0.0.0.0/0587
7ssmtptcp0.0.0.0/0465
8pop3tcp0.0.0.0/0110
9imaptcp0.0.0.0/0143
10simaptcp0.0.0.0/0993
11dnsudp0.0.0.0/053
12dnstcptcp0.0.0.0/053
13ftptlstcp0.0.0.0/040110-40210
14POP3Stcp0.0.0.0/0995
15quicudp0.0.0.0/0443
16terminaltcp0.0.0.0/05678
17lswstcp0.0.0.0/07080

1.7. Review

In the last step of the EC2 setup review all the information you added before in the previous steps.

image 55

Access Key Setup:

Once set up is completed you have to create a key pair to access server otherwise you can not enter SSH to install CyberPanel. You can upload an existing key as well but we will create and download new key.

image 56

Download this Key Pair in your local computer, so that we can use it later to access this instance.

Use this key and Launch this instance.

image 57

You can see the Amazon EC2 will not set-up your instance in few seconds and it will be ready to use.

image 58

After completion of this process, you can check your instances through. Services-> EC2 -> Instances here you can see all information.

image 59

Access server using Bitvise:

Once all is done for the EC2 setup. Its time to access the server and install CyberPanel. You can access your server using different tools but for this article, we will use Bitvise. If you don’t have Bitvise installed on your computer download it from here.

After downloading provide your IP address for Host field, Username will be centos(Default username is centos). Port 22. Set the initial methods to a public key and client key to auto.

image 60

To grant the access to your key click on the Client key manager. and on the next screen click on the import option.

image 61

Select you key file and i will appear on the Client Key Manager.

image 62

After all, click on the login button to get server access.

Install CyberPanel:

Once terminal was launched.

Follow this guide to install CyberPanel.

Read More: HOW TO CHANGE TIMEZONE ON LINUX SERVER

Follow US on Facebook / Twitter  for update.

How to setup WordPress Multi-Site on CyberPanel

A multi-site setup for WordPress enables the end-user to create multiple WordPress sites from the WordPress dashboard. Each site with-in a WordPress network acts as a separate WordPress installation and can be managed from a single dashboard.

This feature is provided by WordPress to ensure that its users can easily create a network of sites without digging too much into server-side problems.

In this article, we will describe how to setup WordPress multi-site network using CyberPanel and then issue Wildcard SSL for multi-site operations.

Table of Contents:

  1. Setup Catch all vHost
  2. Things to do before enabling Multi-Site on WordPress
  3. Configuring WordPress to allow Multi-Site
  4. Create/Install a Multi-site Network
  5. Configuration of Multi-site setup
  6. Create a new site on Network
  7. Setup wildcard SSL on multi-site

1. Setup catch All vHost:

The first thing to do before setting up multi-site is the setup of Catch all vHost. Catch all vHost is the must thing to do before enabling the multi-site configuration in WordPress. A multi-site setup is not possible without the setup of Catch all vHost.

The method for catch-all vHost is different for LiteSpeed Ent and OpenLitespeed.

Setup catch all vHost for LiteSpeed Ent:

Open your vHost file from the website manager and edit this line

ServerAlias www.abc.com
wildcard SSL

Change this to

ServerAlias *.abc.com

Setup Catch all vHost for OpenLiteSpeed:

The setup for OpenLightSpeed is very different from LightSpeed. Follow the steps to do this:

Open “/usr/local/lsws/conf/httpd_config.conf” via command line or using an SFTP software.

image 25

Once you open this file find the Listener Default portion for port 80 (HTTP). It look like:

listener Default{
map example.com example.com
address *:80
secure 0
}

Now if you want to set up catch-all vHost for example.com, change the map line to following:

listener Default {
map example.com example.com, *.example.com
address *:80
secure 0
}

After this portion similarly you have to edit the listener SSL by default it looks like:

listener SSL {
map example.com example.com
address *:443
secure 1
keyFile /etc/letsencrypt/live/example.com/privkey.pem
certFile /etc/letsencrypt/live/example.com/fullchain.pem
............
............
enableStapling 1
ocspRespMaxAge 86400
}

Edit this file add *.example.com on the last of this portion:

listener SSL {
map example.com example.com,*.example.com
address *:443
secure 1
keyFile /etc/letsencrypt/live/example.com/privkey.pem
certFile /etc/letsencrypt/live/example.com/fullchain.pem
.........
.........
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}

vHost Configuration for OpenLiteSpeed:

After editing httpd_config.conf file (/usr/local/lsws/conf/httpd_config.conf) you need to open vHost option from Website Manager and edit vHost.

Default vhAliases

vhAliases www.$VH_NAME
image 26

Edit vhAliases to:

vhAliases *.$VH_NAME
image 27

2. Things to do before enabling Multi-site on WordPress

There are a few things you need to do before enabling and using Multi-Site on WordPress. Here are some key points:

Backup your full single website:

Always make a backup of your whole site (files and databases) before creating a network. this is an important step so you don’t lose your data and files.

Pretty Permalinks

Check and verify the pretty permalinks work on your single WordPress site.

like: https://wordpress.org/?p=1

image 11

Deactivate Plugins

Deactivate all WordPress plugin before the creation of the network. And activate again after creation.

Go to Plugins->Active and then click on the deactivate button present below every plugin name as shown below in the picture.

image 12

3. Configure Allow multi-site setup

To allow the multi-site setup or network setup you have to check your wp-config.php file on your file manager of the website and add this code to that file.

define( 'WP_ALLOW_MULTISITE', true );

wp-config.php file is present in public_html folder of site.

image 13

4. Create/Install a multi-site Network

After enabling multi-site mode from wp-config.php file now you can see a new option under the tools tab in wp-admin.

Before enabling multi-site network from wp-config.php file.

image 14

After enabling the mode.

Multisite On WordPress

Now go to this new option Network setup in the tool menu. You can see this screen.

image 16

In this screen the first note is for the pretty permalink.

You can select the option. Your sites will be subdomains or subdirectories in the network.

Sub Domian:

subdomain is a domain that is part of a larger domain. A domain-based network in which on-demand sites use subdomains. Like if our domain is “www.abc.com” then “site1.abc.com” or “site2.abc.com” are your subdomains.

Sub Directories:

Note: This does not require setting up catch-all vhost.

A path-based network in which on-demand sites use paths. Like “www.abc.com/site1” or “www.abc.com/site1” are subdirectories.

Use can set network titles according to your choice also provide the network admin email. and after that click on the install, button to process.

5. Configuration of Multi-site setup

Once the network installation is complete. Setup shows a screen which has code for the configuration of wp-config.php and .htaccess files. Copy these lines of code and paste into wp-config.php and .htaccess files accordingly.

image 17

Copy the lines of code and add these to the wp-config.php and replace the second lines of code and replace all these with .htaccess file present in the public_html folder.

After editing these files must log in again to the wp-admin. So you can see the changes on the dashboard. You can see these two new options on your dashboard.

image 18

6. Create new sites on Network

To create new sites Go to the My sites->Network admin->Dashboard option from the top bar of wp-admin.

image 19

When you visit this option you can see a different type of dashboard on your screen.

image 21

To create a new site visit Sites->add new option.

image 20

After clicking the add new button. A screen appears that requires information about your subdomain or subdirectory. As I selected subdirectory its look like:

image 22

In the case of sub domain it look little different.

Once you click the add site button you can see the Dashboard and edit site button on the top of the page.

image 23

You can access the site Dashboard or edit newly create site from here.

7. Setup wildcard SSL on multisite.

For a multi-site setup, we can use the wildcard SSL. Once you create a wild card SSL you have no need to create SSL for every sub domain as WildCard SSL will cover all subdomains.

Create wildcard SSL

Create a wild card SSL for your network using this command on the server terminal.

/root/.acme.sh/acme.sh --issue -d <youdomain.com> -d '*.<youdomain.com>' --dns dns_cf --cert-file /etc/letsencrypt/live/<youdomain.com>/cert.pem --key-file /etc/letsencrypt/live/<youdomain.com>/privkey.pem --fullchain-file /etc/letsencrypt/live/<youdomain.com>/fullchain.pem

CloudFlare File configuration

After creating that wildcard ssl its time to edit information in dns_cf.sh file present in “/root/.acme.sh/dnsapi” directory.

Replace the CF_Key and CF_Email by your key and email. Also, remove # Singh to active them.

CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
CF_Email="[email protected]"

You can also Use CF_token for this process.

Fellow this guide to check CF_Key or generate CF_token.

https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys

Read More: HOW TO CHANGE TIMEZONE ON LINUX SERVER

Follow US on Facebook / Twitter  for update.