freebpx

Let's Encrypt + FreePBX

November 12, 2020 pbx, ssl, tls, certs,freebpx,letsencrypt

Let's Encrypt + FreePBX

Let's Encrypt allows you to obtain X.509 certificates for TLS automatically and at not charge. There are different ways to obtain a valid certificate depending on the system that you are setting up. We will be going over Let's Encrypt and FreePBX.

This article will work with a system running FreePBX 13 or newer. Other requirements are that you have a valid A record that resolves the FreePBX IP. For example if your PBX is at IP: 104.24.99.145 you would want an pbx.harrison-technology.net dns record to point to 104.24.99.145.

Enabling Port 80 to respond to Let's Encrypt>

There are a couple ways that Let's Encrypt allows verification. From saving a challenge in a .well-known folder or saving a challenge in a DNS record. FreeBPX saves the challenge code in the .well-known folder.

We need to setup the web server to allow responses to Let's Encrypt on port 80. Navigate to Admin > System Admin > Port Management. Change the Letsencrypt port to port 80 and admin port to 8080.

alt text

Generate Let's Encrypt Certificate

We can now request a TLS certificate from Let's Encrypt. We can navigate back to Admin > Certificate Management. Click New Certificate and Generate Let's Encrypt Certificate.

alt text

Fill in your certificate host name and other pieces of information on the next screen as seen below.

alt text

Selecting Default Certificate

Once the certificate has been generated we need to tell the server to use the newly generated certificate. Navigate to Admin > System Admin -> HTTPS Setup. Under Certificate Manager click the newly created certificate and click Install.

alt text