Bitnami

SSL Certificate Installation on Bitnami WordPress NGINX stack

Bitnami has made many structural changes in its stacks. This is the latest guide according to the latest file structure of the Bitnami WordPress NGINX stack 2021. This tutorial guide will discuss how to enable HTTPS secure server on your WordPress with NGINX and SSL Certified by Bitnami and Automattic stack image. This will make the website more secure, enhance the user experience, Boost SEO, and much more.

Install SSL certificate for your Bitnami nginx WordPress stack image.

You can install the SSL certificate for your Bitnami NGINX WordPress stack for free using Let’s Encrypt. For this, first of all, you’ve to set the domain name for your WordPress website.

bitnami-wordpress-nginx-ssl-certificate-install
bitnami-wordpress-nginx-ssl-certificate-install

Now open the SSL terminal of the virtual machine. If you don’t know how to open the terminal, learn here.

Generate SSL for your Domain

To generate SSL (Secure Sockets Layer) first, you’ve to get in with root permission.

Stop NGINX to generate SSL
Stop NGINX to generate SSL

Now stop the nginx server of your WordPress application. To exclude this operation paste the following command one by one.

In the latest release of WordPress NGINX, the lego is not installed, although it is mentioned in the stack, actually it is not. So first, we’ve to install the lego into the stack and then generate an SSL certificate for the WordPress website.

Execute the following command line one by one.

cd /tmp
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
ls

Now, after ls command, it will show the latest version of lego, similar as below.

lego_vX.Y.Z_linux_amd64.tar.gz

Now you have to copy the file version name and execute the following command to install the latest version of lego one by one. Please keep

tar xf lego_vX.Y.Z_linux_amd64.tar.gz
sudo mkdir -p /opt/bitnami/letsencrypt
sudo mv lego /opt/bitnami/letsencrypt/lego

Now we’ve successfully installed lego into the Bitnami stack. Now it’s time to install an SSL certificate for your website.

sudo /opt/bitnami/ctlscript.sh stop nginx
Generate SSL Certificate Bitnami nginx
Generate SSL Certificate Bitnami nginx

Now generate a renewable SSL certificate for your website by executing the following.

sudo /opt/bitnami/letsencrypt/lego --tls --email="youremail@gmail.com " --domains="iasrank.in" --domains="www.iasrank.in" --path="/opt/bitnami/letsencrypt" run

In the above command, please replace email and domain names with your own values.

Lego will successfully generate an SSL certificate for your blog. Now you’ve to configure your blog to serve using this SSL certificate.

Start NGINX server of WordPress.

Start NGINX services using SSH
Start Bitnami NGINX

Your Nginx server is turned off during the certificate generation. To turn it on executing the following command for bitnami NGINX.

sudo /opt/bitnami/ctlscript.sh start nginx

Configure Bitnami WordPress stack for SSL certificate

It’s time to configure your SSL certificate with the root of the WordPress application. This will enable nginx to find the certificate and redirect your domain to one preferred URL.

To provide a path to the nginx server, we’ve to edit bitnami.conf file of the stack. Execute the following command line. This will redirect bitnami WordPress redirect HTTP to HTTPS nginx.

nano /opt/bitnami/nginx/conf/server_blocks/wordpress-https-server-block.conf
ssl-bitnami-wordpress-nginx
Bitnami configuration

Change iasrank.in with the www or non-www version of your website. That means Bitnami WordPress will redirect HTTP to HTTPS nginx. Now we point all traffic to one naked domain(in our case). And provide a path for the SSL certificate. Edit server 443, add the following lines.

ssl_certificate      "/opt/bitnami/letsencrypt/certificates/iasrank.in.crt";
ssl_certificate_key  "/opt/bitnami/letsencrypt/certificates/iasrank.in.key";
#       ssl_certificate      server.crt;
#       ssl_certificate_key  server.key;

You’ve to Comment Out the previous SSL certificate file by adding # before the line displayed in the image. Now SSL certificate has been installed on your WordPress website.

All done, save the file using ctrl+X, then Y, and press Enter button to confirm the changes.

Configure WordPress for SSL certificate.

You can configure WordPress by editing the wp-config.php file. To do that, execute the code provided below.

Edit wp-config.php NGINX WordPress bitnami
Edit wp-config.php NGINX WordPress bitnami
nano /opt/bitnami/wordpress/wp-config.php

This will open the wp-config.php file to the SSH editor.

Now replace http to https for your WordPress domain

define('WP_SITEURL', 'http://iasrank.in');
define('WP_HOME', 'http://iasrank.in');

replace with 

define('WP_SITEURL', 'https://iasrank.in');
define('WP_HOME', 'https://iasrank.in');

Now press ctrl+X, then Y, and press Enter to save the changes.

Test and Restart NGINX
Test and Restart Bitnami NGINX

Now in the final step, you’ve to test and restart NGINX. Execute nginx -t to test NGINX and restart. If any error occurs in the nginx configuration, please match the configuration as per the result.

nginx -t
sudo /opt/bitnami/ctlscript.sh restart nginx

Now all done, your Bintami WordPress now runs on HTTPS secure server with a Let’s Encrypt SSL certificate. If you’ve any questions regarding this, you can ask in the comment section below.

Ashok Kumar

Ashok Kumar working in the Search Engine Optimization field since 2015. And worked on many successful projects since then. He shares the real-life experience of best SEO practices with his followers on seoneurons.com. You also can learn Advance level SEO for WordPress, Blogger, or any other blogging platform. Stay tuned.

Related Articles

5 Comments

  1. Hello, Kumar!
    When I go to the step, “Configure WordPress for SSL certificate.”
    and type “nano /opt/bitnami/wordpress/htdocs/wp-config.php”
    it says “[ Directory ‘/opt/bitnami/wordpress/htdocs’ does not exist ]”
    Could you help me to solve this problem?

    1. I have already found the solution!
      We should type “nano /opt/bitnami/wordpress/wp-config.php” now
      and add the following script in the file
      “define(‘WP_SITEURL’, ‘https://iasrank.in’);
      define(‘WP_HOME’, ‘https://iasrank.in’);”

      My website finally has SSL, thanks for your detailed article!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button