---
title: "How to Provision a Website With aaPanel and LetsEncrypt"
description: "Learn how to install aaPanel, provision a website, and secure the website with SSL using Let’s Encrypt in this step-by-step tutorial!"
canonical: "https://adamtheautomator.com/aapanel/"
---

# How to Provision a Website With aaPanel and LetsEncrypt

> Learn how to install aaPanel, provision a website, and secure the website with SSL using Let’s Encrypt in this step-by-step tutorial!

Source: https://adamtheautomator.com/aapanel/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![How to Provision a Website With aaPanel and LetsEncrypt](https://adamtheautomator.com/wp-content/uploads/2022/01/How-to-Provision-a-Website-With-aaPanel-and-LetsEncrypt.jpg)

# How to Provision a Website With aaPanel and LetsEncrypt

[![](https://secure.gravatar.com/avatar/2788bb1a3f735603f81eca51d68daec56a9d97e805a10268fb2c20afcc76b81b?s=192&d=mm&r=g)Nicholas Xuan Nguyen](https://adamtheautomator.com/author/nicholas-xuan-nguyen/)24 January 20225 min. read

Categories: [IT Ops](/category/it-ops/)

Tags:[Command Line](/tag/command-line/)[Linux](/tag/linux/)[Security](/tag/security/)

Table of Contents

*   [Prerequisites](#prerequisites)
*   [Downloading and Installing aaPanel](#downloading-and-installing-aapanel)
*   [Building the LEMP Stack](#building-the-lemp-stack)
*   [Securing a Website with Let’s Encrypt](#securing-a-website-with-lets-encrypt)
*   [Conclusion](#conclusion)

You’ve just built a pretty website but don’t know how to get it online? Setting up your website can be a daunting task. There are so many options and services available, and it’s hard to know where to start. But don’t lose hope! [aaPanel](https://www.aapanel.com/index.html) is the perfect solution for you!

In this guide, you will learn how to get your first site running securely over HTTPS using [Let’s Encrypt](https://letsencrypt.org/) SSL Certificates for free!

Read on and get ready to get your website online!

## Prerequisites

This tutorial will be a hands-on demonstration. If you’d like to follow along, be sure you have the following:

*   A Linux system – This demo uses Ubuntu 20.04 LTS, but any Debian distributions will work.
*   A non-root user with [sudo](https://www.liquidweb.com/kb/how-to-set-up-and-manage-sudo-permissions/) privileges.
*   A [domain pointing](https://www.photonvps.com/billing/index.php?rp=/knowledgebase/30/How-do-I-point-a-domain-to-VPS-or-Server-IP.html) to your server.

## Downloading and Installing aaPanel

By default, aaPanel is not installed on your Ubuntu machine, so the first step is downloading and installing aaPanel with the [`wget`](https://linuxize.com/post/wget-command-examples/) command.

1\. Run the `apt update` command to update your package index. This command ensures that you only install the correct packages and get the software you need.

```bash
sudo apt update -y
```

![Updating your package index](https://adamtheautomator.com/wp-content/uploads/2022/01/image-244.png)

Updating your package index

2\. Next, run the `wget` command below to download the `install-ubuntu_6.0_en.sh` file from the aaPanel website (`http://www.aapanel.com/script/`_)_. The `-O` flag tells the `wget` command to save and name the downloaded file as _install.sh_ (shell script).

Once the download is complete, the command automatically executes the shell script (`sudo bash install.sh`) to install aaPanel.

> _You will get the latest stable version, which is 6.8.19 as of this writing. You should always check the official [website](https://www.aapanel.com/index.html) for the latest version. Or click on the **update** at the top-right to update your panel to the latest version, as shown below._

![Updating your panel to the latest version](https://adamtheautomator.com/wp-content/uploads/2022/01/image-245.png)

Updating your panel to the latest version

```bash
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh
```

During the installation process, you’ll get the prompt below. Enter **Y** and press Enter to accept the prompt and continue the installation.

![Downloading and Installing aaPanel ](https://adamtheautomator.com/wp-content/uploads/2022/01/image-246.png)

Downloading and Installing aaPanel

When the installation completes, you will get the following output. Note the URL access page, username, and password generated for you. You’ll use these login credentials when managing your website on aaPanel.

At this point, your aaPanel instance is running.

![Previewing the login details](https://adamtheautomator.com/wp-content/uploads/2022/01/image-247.png)

Previewing the login details

3\. Run the [`ss`](https://www.linux.com/topic/networking/introduction-ss-command/) command below to show a list of open ports (`-antpl`) and check if your aaPanel is listening on port `8888`.

```bash
ss -antpl | grep 8888
```

![Checking port 8888](https://adamtheautomator.com/wp-content/uploads/2022/01/image-248.png)

Checking port 8888

4\. Finally, run the below [`ufw`](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) command to check the `status` of your system’s firewall and verify if your firewall is allowing port 8888.

```bash
sudo ufw status
```

Related:[How To Set Up the UFW Firewall on Linux](https://adamtheautomator.com/ufw-firewall/)

As you can see below, port 8888 is allowed to any incoming traffic from **Anywhere**.

> _If port 8888 is not yet open, run this command to create a rule on the firewall to open port 8888 for incoming traffic: `sudo ufw allow 8888/tcp`_

![Checking firewall status ](https://adamtheautomator.com/wp-content/uploads/2022/01/image-249.png)

Checking firewall status

> _If you put your server behind a firewall, the firewall may not allow traffic to port 8888. You will need to open this port on your firewall to use your aaPanel. Luckily, the installation script (install.sh) automatically opens port 8888 for you._

## Building the LEMP Stack

Now that you have aaPanel installed, it’s time to build the [LEMP stack](https://www.geeksforgeeks.org/what-is-lemp-stack/) for your server. LEMP Stack is a collection of free, open-source software (FOSS) that you can use to run dynamic web pages, like a blog or website.

aaPanel runs on top of your Ubuntu Linux operating system and uses NGINX as a webserver to serve its panels to users. Since your website might be serving many users, you’ll need a web server that can handle a large volume of simultaneous connections to a single server. NGINX is one of the best web servers that will do the trick.

Related:[How To Serve NGINX Subdomains or Multiple Domains](https://adamtheautomator.com/nginx-subdomain/)

1\. Open your favorite browser, navigate to the URL of the aaPanel panel you noted in the “Downloading and Installing aaPanel” section (step two), and log in. This action redirects your browser to the aaPanel Linux login panel, as shown below.

> _Google Chrome is the recommended browser to use and disable adblocking while setting up the server. Google Chrome has a great network inspector. You can use it to see what is happening between your client and your server._

![Logging into the URL of your aaPanel panel](https://adamtheautomator.com/wp-content/uploads/2022/01/image-250.png)

Logging into the URL of your aaPanel panel

2\. On the next page, select the **LNMP(Recommended)** option on the left to use for your website, and click on **One** **Click**.

![Selecting the LNMP(Recommended) option ](https://adamtheautomator.com/wp-content/uploads/2022/01/image-251.png)

Selecting the **LNMP(Recommended)** option

You will get the following output while building the LEMP stack.

![Building the LEMP Stack](https://adamtheautomator.com/wp-content/uploads/2022/01/image-252.png)

Building the LEMP Stack

After building the LEMP stack, view the PHP extensions you’ll need for your website with the following:

*   Click on the **App Store** menu on the left panel to view the App Store.
*   Click on **Installed** to see installed applications.
*   Look for **PHP-7.4**, then click **Settings** on the right-hand side to view additional extensions to install.

![Accessing Extensions to Install](https://adamtheautomator.com/wp-content/uploads/2022/01/image-253.png)

Accessing Extensions to Install

Lastly, click on **Install extensions** in the **Manage** pop-up window, and click **Install** on the right of the extension you need for your website.

PHP extensions provide you with files that add features to the PHP language. They also provide you with a way to add new functions or change existing functions in PHP without modifying PHP core files.

![Installing the PHP extensions](https://adamtheautomator.com/wp-content/uploads/2022/01/image-254.png)

Installing the PHP extensions

## Securing a Website with Let’s Encrypt

By now, you already have a web server running, but it doesn’t do anything yet until you provision a website. So you’ll create a website and secure it with [Let’s Encrypt](https://letsencrypt.org/) SSL certificate. Let’s Encrypt is a free, automated, and open Certificate Authority (CA) that issues, maintains, and automatically renews your certificates at no cost.

Related:[How to Set Up End-to-End SSL Encryption with CloudFlare](https://adamtheautomator.com/cloudflare-ssl/)

Let’s Encrypt also uses the strongest industry-standard encryption to secure your website connections. Let’s Encrypt certificates are trusted by all major modern browsers and search engines. As a result, your website is less likely to not get errors like the one below.

![Previewing connection error](https://adamtheautomator.com/wp-content/uploads/2022/01/image-255.png)

Previewing connection error

To create and secure a website with Let’s Encrypt:

1\. On your aaPanel dashboard, click on the **Website** menu on the left panel, then click on **Add site** to add your first website.

![Adding a new website](https://adamtheautomator.com/wp-content/uploads/2022/01/image-256.png)

Adding a new website

2\. Enter the website details in the form below and click on **Submit** to create your website.

![Providing details for your website ](https://adamtheautomator.com/wp-content/uploads/2022/01/image-257.png)

Providing details for your website

If everything goes correctly, you will get a **Successfully created site** message, as shown below. You will now see your website in the list of websites on your aaPanel dashboard (step two).

![Previewing the Successfully created site message](https://adamtheautomator.com/wp-content/uploads/2022/01/image-258.png)

Previewing the **Successfully created site** message

3\. Click on the website’s hyperlink to access the website’s settings, where you’ll set up SSL for your website.

![Accessing Website’s Settings](https://adamtheautomator.com/wp-content/uploads/2022/01/image-259.png)

Accessing Website’s Settings

4\. Now, click on **SSL** on the left panel on the **Site modification** pop-up window to configure Let’s Encrypt SSL for your website.

Check the **Select all** option and click **Apply** to secure your newly-created website with Let’s Encrypt SSL.

![Securing your newly-created website ](https://adamtheautomator.com/wp-content/uploads/2022/01/image-260.png)

Securing your newly-created website

You’ll get an output similar to the one below if everything goes correctly.

![Previewing the SSL Certificate and Private key](https://adamtheautomator.com/wp-content/uploads/2022/01/image-261.png)

Previewing the SSL Certificate and Private key

5\. Navigate your website’s URL on a new browser tab to see if your website is working as intended.

You’ll get the same page like the one below, confirming that your site is running.

![Previewing your site](https://adamtheautomator.com/wp-content/uploads/2022/01/image-262.png)

Previewing your site

6\. Finally, click on the pad lock on the top-left. You will get the following output. This output confirms that your Let’s Encrypt works as intended and your **connection is secure.**

![Previewing your Let’s Encrypt certificate](https://adamtheautomator.com/wp-content/uploads/2022/01/image-263.png)

Previewing your Let’s Encrypt certificate

## Conclusion

In this tutorial, you’ve learned how to install aaPanel and build the LEMP Stack for your server. You’ve also touched on securing server connections with Let’s Encrypt’s SSL certificate for free — a pretty good deal.

With aaPanel’s one-click installation process, you get to choose from over 100 different applications and services, including [WordPress](https://wordpress.org/), [Shopify](https://www.shopify.com/free-trial), and [Tumblr](https://www.tumblr.com/). And at this point, you can now navigate through the aaPanel dashboard to manage and secure your website.

Now how would you kick this newfound knowledge up a notch? Perhaps set up a CMS, like [WordPress](https://www.mysterydata.com/how-to-add-website-and-install-wordpress-in-aapanel/), and run your first blog?

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Faapanel%2F&text=How%20to%20Provision%20a%20Website%20With%20aaPanel%20and%20LetsEncrypt)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Faapanel%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Faapanel%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2022/01/How-To-Set-Up-WireGuard-VPN-on-Linux.jpg)

### [How To Set Up WireGuard VPN on Linux](/wireguard-vpn/)

Learn how to set up WireGuard VPN on Linux to securely connect and access your network, in this step-by-step tutorial!

![](https://adamtheautomator.com/wp-content/uploads/2022/01/How-to-Secure-a-Linux-Firewall-With-IPTables-Rules.jpg)

### [How to Secure a Linux Firewall With IPTables Rules](/iptables-rules/)

Secure your vulnerable Ubuntu Linux system with powerful firewall IPTables rules in this step-by-step how-to tutorial!

![](https://adamtheautomator.com/wp-content/uploads/2021/12/How-To-Secure-SSH-with-Fail2Ban.jpg)

### [How To Secure SSH with Fail2Ban](/fail2ban-ssh/)

Stop worrying about brute-force attacks on your server. Learn how Fail2Ban secures SSH on your server in this step-by-step tutorial!

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
