[SOLVED] Setting up Let's Encrypt on Bitnami Mattermost CE edition on AWS

Hello all, I recently setup Mattermost CE edition through Bitnami on AWS using Ubuntu 14.04. I was successful in brining up the mattermost client. I have setup my DNS A record to point to the IP address through mattermost.mywebsite.com. The default webserver setup through Bitnami is nginx.

Now I want to setup Let’s Encrypt to setup my SSL certificates, but the documentation online is not aligned with the setup of the Mattermost CE edition from Bitnami. I can’t locate the webroot folder or figure out the right way to set this up.

Any help will be appreciated. Thanks.

Are these the instructions that you’re following? https://docs.mattermost.com/install/install-ubuntu-1404.html#configuring-nginx-with-ssl-and-http-2

If so, can you tell me where you’re stuck? I don’t know how the system is organized in bitnami, but you should be able to get all the way to Step 8. If the config file mattermost isn’t here: /etc/nginx/sites-available/mattermost, then you can use the locate command to find it. At the command line, type:

locate sites-available

That should tell you where the file is, and then you can open it with sudo nano {path-to-config-file}

Hi, I’m failing at step #7

Failed authorization procedure. chat.XXX.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: NXDOMAIN looking up A for chat.XXX.com

IMPORTANT NOTES:

  • The following errors were reported by the server:

    Domain: chat.XXX.com
    Type: connection
    Detail: DNS problem: NXDOMAIN looking up A for chat.XXX.com

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A record(s) for that domain
    contain(s) the right IP address. Additionally, please check that
    your computer has a publicly routable IP address and that no
    firewalls are preventing the server from communicating with the
    client. If you’re using the webroot plugin, you should also verify
    that you are serving files from the webroot path you provided.

Also locate sites-available returns nothing.

I think you only use “example.com” for the domain, not “chat.example.com”. See the Domain Validation section of https://letsencrypt.org/how-it-works/

If locate sites-availble returns nothing, then either the database that locate uses is not up to date, or the bitnami version of nginx stores the config elsewhere.

To update the database: sudo updatedb. This can take a minute or two to run as it scans the file system and creates an index.

If locate sites-available still doesn’t work, then try locate nginx.

Thanks. All setup. I found the relevant file to modify and made the change. It was in the mattermost/config directory and not nginx/sites-availabe directory. Also was using chat.XXX.com when DNS was setup as chat.XXX.us so fixed that issue too. Finally used the full domain name while issuing the certificate through letsencrypt and not just XXX.us

Hi @jaideep,

Thanks for sharing you solution. Pleased you’re all set up :slight_smile:

I’ll close this issue off for now.