{"id":527,"date":"2024-06-18T16:42:19","date_gmt":"2024-06-18T16:42:19","guid":{"rendered":"https:\/\/aimitservices.com\/blog\/?p=527"},"modified":"2024-06-19T05:32:25","modified_gmt":"2024-06-19T05:32:25","slug":"setting-up-lets-encrypt-certbot-on-ubuntu-v22-04-with-apache2","status":"publish","type":"post","link":"https:\/\/aimitservices.com\/blog\/index.php\/2024\/06\/18\/setting-up-lets-encrypt-certbot-on-ubuntu-v22-04-with-apache2\/","title":{"rendered":"Setting Up Let&#8217;s Encrypt Certbot on Ubuntu v22.04 with Apache2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"527\" class=\"elementor elementor-527\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da11da1 e-flex e-con-boxed e-con e-parent\" data-id=\"da11da1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a85b66 elementor-widget elementor-widget-text-editor\" data-id=\"6a85b66\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 26-06-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p><em>Let&#8217;s Encrypt provides free SSL\/TLS certificates, making it a cost-effective solution for securing websites using Certbot to automate the process of renewing SSL certificates, reducing the administrative overhead and ensuring the certificates are always up to date.<\/em><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1904dfa e-flex e-con-boxed e-con e-parent\" data-id=\"1904dfa\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf486c6 elementor-widget elementor-widget-heading\" data-id=\"bf486c6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 26-06-2024 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h3 class=\"elementor-heading-title elementor-size-default\">prerequisites<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-558ecba e-flex e-con-boxed e-con e-parent\" data-id=\"558ecba\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66d4d53 elementor-widget elementor-widget-text-editor\" data-id=\"66d4d53\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>For this exercise, I will be installing Certbot on Ubuntu v22.04 with Apache v2.4.52 on Amazon EC2. I will be creating DNS records on Route53. Be sure to have access to the following resources:<\/p><p><strong>1. SSH Access:<\/strong> Ensure you have SSH access to the server where Certbot will be installed. This requires the server&#8217;s IP address, SSH port, and credentials (username and password or private key).<\/p><p><strong>2. DNS Access<\/strong>: You need access to the DNS settings of your domain. This is typically managed through your domain registrar or DNS hosting provider. You will need to ensure that your domain (e.g., example.com) and any subdomains (e.g., <a href=\"http:\/\/www.example.com\" target=\"_new\" rel=\"noreferrer\">www.example.com<\/a>) point to your server&#8217;s IP address.<\/p><p><strong>3.\u00a0Apache Web Server<\/strong><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); font-size: 1rem;\"><strong>:<\/strong> Ensure Apache is installed and running on your server. You can check this with:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b2c4d56 e-flex e-con-boxed e-con e-parent\" data-id=\"b2c4d56\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5bb9c70 elementor-widget elementor-widget-code-highlight\" data-id=\"5bb9c70\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo systemctl status apache2<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-96fc96f e-flex e-con-boxed e-con e-parent\" data-id=\"96fc96f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4de856e elementor-widget elementor-widget-text-editor\" data-id=\"4de856e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>Install Apache<\/strong>: If not already installed:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fcd9691 e-flex e-con-boxed e-con e-parent\" data-id=\"fcd9691\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1534362 elementor-widget elementor-widget-code-highlight\" data-id=\"1534362\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo apt update && \\\r\nsudo apt upgrade -y && \\\r\nsudo apt install -y apache2 && \\\r\nsudo systemctl start apache2 && \\\r\nsudo systemctl enable apache2\r\n\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-365a849 e-flex e-con-boxed e-con e-parent\" data-id=\"365a849\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9310210 elementor-widget elementor-widget-text-editor\" data-id=\"9310210\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>4. Allow HTTP and HTTPS Traffic:<\/strong> Configure your firewall to allow traffic on ports 80 (HTTP) and 443 (HTTPS). If using <code>ufw<\/code>, you can enable and view status with:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1e44738 e-flex e-con-boxed e-con e-parent\" data-id=\"1e44738\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc98c24 elementor-widget elementor-widget-code-highlight\" data-id=\"fc98c24\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo ufw allow 'Apache Full' && sudo ufw enable && sudo ufw status\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-281de04 e-flex e-con-boxed e-con e-parent\" data-id=\"281de04\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-45f63b3 elementor-widget elementor-widget-text-editor\" data-id=\"45f63b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>5. Store AWS Credentials:<\/strong> Credentials can be created in AWS IAM. Create a file called &#8220;config&#8221; in \/root\/.aws\/ and add the following AWS keys:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-973a9d1 e-flex e-con-boxed e-con e-parent\" data-id=\"973a9d1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b3fa9f elementor-widget elementor-widget-code-highlight\" data-id=\"4b3fa9f\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>[default]\r\naws_access_key_id=aws_access_key\r\naws_secret_access_key=your_aws_secret_access_key<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-40d0e85 e-flex e-con-boxed e-con e-parent\" data-id=\"40d0e85\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba8e9a6 elementor-widget elementor-widget-spacer\" data-id=\"ba8e9a6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 26-06-2024 *\/\n.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.e-con{--container-widget-width:100%}.e-con-inner>.elementor-widget-spacer,.e-con>.elementor-widget-spacer{width:var(--container-widget-width,var(--spacer-size));--align-self:var(--container-widget-align-self,initial);--flex-shrink:0}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container,.e-con>.elementor-widget-spacer>.elementor-widget-container{height:100%;width:100%}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer,.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer{height:100%}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner,.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner{height:var(--container-widget-height,var(--spacer-size))}.e-con-inner>.elementor-widget-spacer.elementor-widget-empty,.e-con>.elementor-widget-spacer.elementor-widget-empty{position:relative;min-height:22px;min-width:22px}.e-con-inner>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon,.e-con>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;padding:0;width:22px;height:22px}<\/style>\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-846a50f e-flex e-con-boxed e-con e-parent\" data-id=\"846a50f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c47686d elementor-widget elementor-widget-heading\" data-id=\"c47686d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Getting Started<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a6d6125 e-flex e-con-boxed e-con e-parent\" data-id=\"a6d6125\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c00b55 elementor-widget elementor-widget-text-editor\" data-id=\"6c00b55\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Having all above requirements in place will ensure a smooth installation and configuration process for securing your domain with Let&#8217;s Encrypt Certbot on your Apache server. We&#8217;ll start off installing Certbot, then move to testing our Certbot SSL certificate renewal and finally configuring our vhosts.\u00a0<\/p><p>I&#8217;ll be using the following documentation:<\/p><p><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); font-size: 1rem;\">Certbot Installation:\u00a0<\/span><span style=\"text-decoration: underline;\"><a href=\"https:\/\/certbot.eff.org\/instructions?ws=apache&amp;os=ubuntufocal&amp;tab=wildcard\"><span style=\"text-align: var(--text-align);\">https:\/\/certbot.eff.org\/instructions?ws=apache&amp;os=ubuntufocal&amp;tab=wildcard<\/span><\/a><\/span><\/p><p>AWS Route 53 DNS configuration:\u00a0<span style=\"text-decoration: underline;\"><a style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #ffffff; font-size: 1rem;\" href=\"https:\/\/certbot-dns-route53.readthedocs.io\/en\/stable\/index.html\">https:\/\/certbot-dns-route53.readthedocs.io\/en\/stable\/index.html<\/a><\/span><\/p><p>Other DNS hosting provider plugins can be found here: <span style=\"text-decoration: underline;\"><a href=\"https:\/\/eff-certbot.readthedocs.io\/en\/latest\/using.html#dns-plugins\">https:\/\/eff-certbot.readthedocs.io\/en\/latest\/using.html#dns-plugins<\/a><\/span><\/p><p><b>1. Install snapd<\/b>: We will be using the snap package for Ubuntu:\u00a0<span style=\"text-decoration: underline;\"><a href=\"https:\/\/snapcraft.io\/docs\/installing-snap-on-ubuntu\">https:\/\/snapcraft.io\/docs\/installing-snap-on-ubuntu<\/a><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e8f821 e-flex e-con-boxed e-con e-parent\" data-id=\"7e8f821\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3828be6 elementor-widget elementor-widget-code-highlight\" data-id=\"3828be6\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo apt update && sudo apt install snapd<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1269ba3 e-flex e-con-boxed e-con e-parent\" data-id=\"1269ba3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8fefdcd elementor-widget elementor-widget-text-editor\" data-id=\"8fefdcd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>2. <strong>Remove certbot-auto and any Certbot OS packages:<\/strong> If you have any Certbot packages installed using an OS package manager like&nbsp;apt,&nbsp;dnf, or&nbsp;yum, you should remove them before installing the Certbot snap to ensure that when you run the command&nbsp;certbot&nbsp;the snap is used rather than the installation from your OS package manager. The exact command to do this depends on your OS, but for Ubuntu, we will use the following:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8d61f6d e-flex e-con-boxed e-con e-parent\" data-id=\"8d61f6d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d473ad1 elementor-widget elementor-widget-code-highlight\" data-id=\"d473ad1\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo apt-get remove certbot<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5147a8b e-flex e-con-boxed e-con e-parent\" data-id=\"5147a8b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-286b694 elementor-widget elementor-widget-text-editor\" data-id=\"286b694\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>3. Install Certbot:<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f2ffc80 e-flex e-con-boxed e-con e-parent\" data-id=\"f2ffc80\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a55a31b elementor-widget elementor-widget-code-highlight\" data-id=\"a55a31b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo snap install --classic certbot<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81fbc4b e-flex e-con-boxed e-con e-parent\" data-id=\"81fbc4b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f8fcd1 elementor-widget elementor-widget-text-editor\" data-id=\"9f8fcd1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>4. Certbot Command Preparation:<\/strong> Execute the following instruction on the command line to ensure that Certbot command can run:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8e68324 e-flex e-con-boxed e-con e-parent\" data-id=\"8e68324\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7afb4d elementor-widget elementor-widget-code-highlight\" data-id=\"e7afb4d\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b00fc80 e-flex e-con-boxed e-con e-parent\" data-id=\"b00fc80\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-630e87b elementor-widget elementor-widget-text-editor\" data-id=\"630e87b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>5. Confirm Plugin Containment Level:<\/strong> Run this command to acknowledt that the installed plugin will have the same classic containment as the Certbot snap. If you encounter issues with running Certbot, you may need to follow this step, then &#8220;install the correct DNS plugin step&#8221; again.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f6cf493 e-flex e-con-boxed e-con e-parent\" data-id=\"f6cf493\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3bceed5 elementor-widget elementor-widget-code-highlight\" data-id=\"3bceed5\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo snap set certbot trust-plugin-with-root=ok<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-709bd63 e-flex e-con-boxed e-con e-parent\" data-id=\"709bd63\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c3a89b4 elementor-widget elementor-widget-text-editor\" data-id=\"c3a89b4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>6. Install DNS plugin<\/strong>: Run the following command, replacing &#8220;route53&#8221; with the name of your DNS provider. For this example we&#8217;ll be using AWS route53:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e5b9546 e-flex e-con-boxed e-con e-parent\" data-id=\"e5b9546\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bedddf7 elementor-widget elementor-widget-code-highlight\" data-id=\"bedddf7\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo snap install certbot-dns-route53<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b813c84 e-flex e-con-boxed e-con e-parent\" data-id=\"b813c84\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-039ae41 elementor-widget elementor-widget-text-editor\" data-id=\"039ae41\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>7. Choose and Install Certificates:<\/strong> Run the following command to install Let&#8217;s Encrypt certificates. I will be using a wild card to acquire a certificate for both the domain and all subdomains<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); font-size: 1rem;\">:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7327d38 e-flex e-con-boxed e-con e-parent\" data-id=\"7327d38\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edd840f elementor-widget elementor-widget-code-highlight\" data-id=\"edd840f\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>certbot certonly \\\r\n  --dns-route53 \\\r\n  -d example.com \\\r\n  -d *.example.com<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6dee811 e-flex e-con-boxed e-con e-parent\" data-id=\"6dee811\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1373a3a elementor-widget elementor-widget-text-editor\" data-id=\"1373a3a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>8. Test Automatic Renewal:<\/strong> The Certbot package on your system come with a cron job or systemd timer that will renew your certificates automatically before they expire. You&#8217;ll not need to run Certbot again, unless you change your configuration. You can test automatic renewal for your certificates by running this command:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8ba901e e-flex e-con-boxed e-con e-parent\" data-id=\"8ba901e\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f1164ff elementor-widget elementor-widget-code-highlight\" data-id=\"f1164ff\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo certbot renew --dry-run<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6777822 e-flex e-con-boxed e-con e-parent\" data-id=\"6777822\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7db005 elementor-widget elementor-widget-spacer\" data-id=\"e7db005\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-89ff8e1 e-flex e-con-boxed e-con e-parent\" data-id=\"89ff8e1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba28f57 elementor-widget elementor-widget-heading\" data-id=\"ba28f57\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Adding Apache vhosts<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f74af7a e-flex e-con-boxed e-con e-parent\" data-id=\"f74af7a\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ac0e1c5 elementor-widget elementor-widget-text-editor\" data-id=\"ac0e1c5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Apache virtual hosts (vhosts) allow you to host multiple websites on a single server. Each virtual host can have its own domain name, configuration settings, document root, and security policies. This is particularly useful for shared hosting environments or when you need to serve different websites from the same server. Keep in mind that Let&#8217;s Encrypt requires individual host configuration files for each domain or sub domain. I will creating vhost configuration files for both example.com and www.example.com. If you haven&#8217;t already, let&#8217;s go ahead and add our vhost files in \/etc\/apache\/sites-available\/<\/p><p><strong>STEP 1: example.com.conf: Adding vhost file for both ports 80 (HTTP) and 443 (HTTPS):<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-59d3091 e-flex e-con-boxed e-con e-parent\" data-id=\"59d3091\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd6c3aa elementor-widget elementor-widget-code-highlight\" data-id=\"cd6c3aa\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><ifModule mod_rewrite.c>\r\n<VirtualHost *:80>\r\n        ServerName www.example.com\r\n        ServerAlias example.com\r\n\r\n        ServerAdmin email@domain.com\r\n        DocumentRoot \/var\/www\/html\r\n\r\n        ErrorLog \/var\/log\/apache2\/error.log\r\n        CustomLog \/var\/log\/apache2\/access.log combined\r\n\r\n        Redirect permanent \/ https:\/\/example.com\/\r\n<\/VirtualHost>\r\n\r\n<VirtualHost *:443>\r\n        \r\n        ServerName www.example.com\r\n        ServerAlias example.com\r\n\r\n        ServerAdmin email@domain.com\r\n        DocumentRoot \/var\/www\/html\r\n\r\n        ErrorLog \/var\/log\/apache2\/error.log\r\n        CustomLog \/var\/log\/apache2\/access.log combined\r\n\r\n        Include \/etc\/letsencrypt\/options-ssl-apache.conf\r\n        SSLCertificateFile \/etc\/letsencrypt\/live\/example.com\/fullchain.pem\r\n        SSLCertificateKeyFile \/etc\/letsencrypt\/live\/example.com\/privkey.pem\r\n<\/VirtualHost>\r\n<\/IfModule>\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8c8b883 e-flex e-con-boxed e-con e-parent\" data-id=\"8c8b883\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-430d836 elementor-widget elementor-widget-text-editor\" data-id=\"430d836\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>STEP 2: We need to add an SSL configuration includes file to: etc\/letsencrypt\/<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1aafc41 e-flex e-con-boxed e-con e-parent\" data-id=\"1aafc41\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e60cf34 elementor-widget elementor-widget-code-highlight\" data-id=\"e60cf34\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp># Baseline setting to Include for SSL sites\r\n\r\nSSLEngine on\r\n\r\n# Intermediate configuration, tweak to your needs\r\nSSLProtocol             all -SSLv2 -SSLv3\r\nSSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA\r\nSSLHonorCipherOrder     on\r\nSSLCompression          off\r\n\r\nSSLOptions +StrictRequire\r\n\r\n# Add vhost name to log entries:\r\nLogFormat \"%h %l %u %t \\\"%r\\\" %>s %b \\\"%{Referer}i\\\" \\\"%{User-agent}i\\\"\" vhost_combined\r\nLogFormat \"%v %h %l %u %t \\\"%r\\\" %>s %b\" vhost_common\r\n\r\n#CustomLog \/var\/log\/apache2\/access.log vhost_combined\r\n#LogLevel warn\r\n#ErrorLog \/var\/log\/apache2\/error.log\r\n\r\n# Always ensure Cookies have \"Secure\" set (JAH 2012\/1)\r\n#Header edit Set-Cookie (?i)^(.*)(;\\s*secure)??((\\s*;)?(.*)) \"$1; Secure$3$4\"\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-936f594 e-flex e-con-boxed e-con e-parent\" data-id=\"936f594\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c7befc4 elementor-widget elementor-widget-text-editor\" data-id=\"c7befc4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>STEP 3: Enable the virtual hosts and restart Apache:<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-50fd0dc e-flex e-con-boxed e-con e-parent\" data-id=\"50fd0dc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bbec9bd elementor-widget elementor-widget-code-highlight\" data-id=\"bbec9bd\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>sudo a2ensite example.com.conf && sudo systemctl restart apache2<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b487733 e-flex e-con-boxed e-con e-parent\" data-id=\"b487733\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d2a070a elementor-widget elementor-widget-text-editor\" data-id=\"d2a070a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>STEP 4: Verify the SSL Certificate is installed properly on the web server.<\/strong> I&#8217;m going to use SSL Checker. This will give me the status of the certificate and the expiration date.\u00a0<span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.sslshopper.com\/ssl-checker.html\">https:\/\/www.sslshopper.com\/ssl-checker.html<\/a><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-737f24c e-flex e-con-boxed e-con e-parent\" data-id=\"737f24c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ad8a485 elementor-widget elementor-widget-heading\" data-id=\"ad8a485\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Wrapping Up<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed8acd6 e-flex e-con-boxed e-con e-parent\" data-id=\"ed8acd6\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c6865d0 elementor-widget elementor-widget-text-editor\" data-id=\"c6865d0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Certbot is a powerful tool for managing SSL\/TLS certificates on your web server. It simplifies the process of obtaining, renewing, and configuring certificates, making it easier to secure your website with HTTPS. By automating certificate management tasks, Certbot helps you ensure that your website remains secure and accessible to your users. Whether you&#8217;re a beginner or an experienced webmaster, Certbot can help you easily secure your website and protect your users&#8217; data.<\/p><p>Certbot renews certificates every 60 days. For more information about how Certbot works and for community managed resources, check out the <a href=\"https:\/\/certbot.eff.org\/pages\/help\"><span style=\"text-decoration: underline;\">HELP<\/span><\/a> page.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-31f52e1 e-flex e-con-boxed e-con e-parent\" data-id=\"31f52e1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7167a73 elementor-widget elementor-widget-text-editor\" data-id=\"7167a73\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>Need help with renewing your SSL certificates? We can help! Learn more about AIM IT Services &#8211; Contact us <a href=\"https:\/\/aimitservices.com\/contact\/\"><span style=\"text-decoration: underline;\">HERE<\/span><\/a><\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s Encrypt provides free SSL\/TLS certificates, making it a cost-effective solution for securing websites using Certbot to automate the process of renewing SSL certificates, reducing the administrative overhead and ensuring the certificates are always up to date. prerequisites For this exercise, I will be installing Certbot on Ubuntu v22.04 with Apache v2.4.52 on Amazon EC2. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":533,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ssl"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=527"}],"version-history":[{"count":56,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/527\/revisions"}],"predecessor-version":[{"id":681,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/527\/revisions\/681"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/media\/533"}],"wp:attachment":[{"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aimitservices.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}