<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WordPress Archives - WP Encryption</title>
	<atom:link href="https://wpencryption.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>WordPress SSL Plugin</description>
	<lastBuildDate>Sun, 17 Dec 2023 11:10:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://wpencryption.com/wp-content/uploads/2020/04/cropped-icon-512-32x32.png</url>
	<title>WordPress Archives - WP Encryption</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Parse Error Reading JWS Error</title>
		<link>https://wpencryption.com/parse-error-reading-jws/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Sun, 17 Dec 2023 11:09:31 +0000</pubDate>
				<category><![CDATA[SSL Error]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=1608</guid>

					<description><![CDATA[<p>When you run the SSL install form of WP Encryption, you might notice &#8220;parse error reading JWS&#8221; error in the debug log. WP Encryption plugin not being able to create keys/ directory due to file permission issues could lead to this error. Please login to your SSH console as root / sudo user, cd into [&#8230;]</p>
<p>The post <a href="https://wpencryption.com/parse-error-reading-jws/">Parse Error Reading JWS Error</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>When you run the SSL install form of WP Encryption, you might notice &#8220;parse error reading JWS&#8221; error in the debug log. WP Encryption plugin not being able to create <strong>keys/</strong> directory due to file permission issues could lead to this error.</p>



<p>Please login to your SSH console as root / sudo user, cd into your WordPress directory and update the owner group of directory recursively to allow apache / www-data user to create directory within WordPress. You can do so via below command,</p>



<pre class="wp-block-code"><code>sudo chown -R www-data:www-data /var/www/html</code></pre>



<p>Please make sure to replace <strong>/var/www/html</strong> to your WordPress site folder path. </p>



<p></p>
<p>The post <a href="https://wpencryption.com/parse-error-reading-jws/">Parse Error Reading JWS Error</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Make wp-config.php &#038; .htaccess Writable in WordPress</title>
		<link>https://wpencryption.com/make-htaccess-writable-wordpress/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Sun, 27 Jun 2021 11:55:49 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=936</guid>

					<description><![CDATA[<p>In this step by step guide we will focus on how to make htaccess writable easily via File Manager or FTP for WordPress</p>
<p>The post <a href="https://wpencryption.com/make-htaccess-writable-wordpress/">Make wp-config.php &#038; .htaccess Writable in WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Modifying .htaccess &amp; wp-config.php files would be necessary by various plugins like SSL, Security, Caching, SEO plugins, etc., in order to enable certain features automatically like &#8220;<strong>Force HTTPS</strong>&#8221; feature of <a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener nofollow">WP Encryption WordPress SSL plugin</a>.</p>



<p>Manually trying to add some code snippet into .htaccess or wp-config.php files could sometimes go wrong and even with a minor misplacement or error, your WordPress site would be down showing some weird error which would freak out non-technical users. So most of the time, its better to allow trusted plugins to automate the process on its own.</p>



<h2 class="wp-block-heading">How to make htaccess writable?</h2>



<p>If you are wondering what is this .htaccess file, htaccess rules instruct Apache server to handle certain redirections like HTTP to HTTPS and permalinks accordingly. Please follow the step by step instructions to make htaccess writable:</p>



<ol class="wp-block-list"><li>Login to your cPanel / hosting panel.</li><li>Find &amp; click on the <strong>File Manager</strong> tool (Some hosts may have it in different places like tools > File Manager).</li></ol>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="615" src="//r7z2p6u4.stackpathcdn.com/wp-content/uploads/2021/06/file-manager-1024x615.png" alt="" class="wp-image-937" srcset="https://wpencryption.com/wp-content/uploads/2021/06/file-manager-1024x615.png 1024w, https://wpencryption.com/wp-content/uploads/2021/06/file-manager-300x180.png 300w, https://wpencryption.com/wp-content/uploads/2021/06/file-manager-768x461.png 768w, https://wpencryption.com/wp-content/uploads/2021/06/file-manager.png 1427w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>3. Navigate to File Manager <strong>Settings</strong> and make sure to enable &#8220;<strong>show hidden files</strong>&#8221; option.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="782" height="563" src="//r7z2p6u4.stackpathcdn.com/wp-content/uploads/2021/06/filemanager-show-hidden.png" alt="" class="wp-image-938" srcset="https://wpencryption.com/wp-content/uploads/2021/06/filemanager-show-hidden.png 782w, https://wpencryption.com/wp-content/uploads/2021/06/filemanager-show-hidden-300x216.png 300w, https://wpencryption.com/wp-content/uploads/2021/06/filemanager-show-hidden-768x553.png 768w" sizes="(max-width: 782px) 100vw, 782px" /></figure>



<p>4. In the below screenshot, you can notice file permission of .htaccess file is <strong>444</strong>. Setting this to <strong>644</strong> would allow plugins to make changes to this file. You can also revert back this file permission after the change if required.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="518" src="//r7z2p6u4.stackpathcdn.com/wp-content/uploads/2021/06/htaccess-not-writable-1024x518.png" alt="" class="wp-image-939" srcset="https://wpencryption.com/wp-content/uploads/2021/06/htaccess-not-writable-1024x518.png 1024w, https://wpencryption.com/wp-content/uploads/2021/06/htaccess-not-writable-300x152.png 300w, https://wpencryption.com/wp-content/uploads/2021/06/htaccess-not-writable-768x388.png 768w, https://wpencryption.com/wp-content/uploads/2021/06/htaccess-not-writable.png 1486w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>5. Right click on the <strong>.htaccess</strong> file and click on <strong>Change Permissions</strong> option</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="918" height="415" src="//r7z2p6u4.stackpathcdn.com/wp-content/uploads/2021/06/htaccess-change-permissions.png" alt="" class="wp-image-940" srcset="https://wpencryption.com/wp-content/uploads/2021/06/htaccess-change-permissions.png 918w, https://wpencryption.com/wp-content/uploads/2021/06/htaccess-change-permissions-300x136.png 300w, https://wpencryption.com/wp-content/uploads/2021/06/htaccess-change-permissions-768x347.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<p>6. Make the file writable for owner and thus setting the permission to <strong>644</strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="810" height="473" src="//r7z2p6u4.stackpathcdn.com/wp-content/uploads/2021/06/make-htaccess-writable.png" alt="" class="wp-image-941" srcset="https://wpencryption.com/wp-content/uploads/2021/06/make-htaccess-writable.png 810w, https://wpencryption.com/wp-content/uploads/2021/06/make-htaccess-writable-300x175.png 300w, https://wpencryption.com/wp-content/uploads/2021/06/make-htaccess-writable-768x448.png 768w" sizes="(max-width: 810px) 100vw, 810px" /></figure>



<p>That&#8217;s it!.. Your .htaccess file should now be writable. Reloading the plugin page on your wp-admin would detect these changes. Anyhow, on fully restricted servers &amp; custom managed servers like AWS, Digital Ocean, etc., Changing permissions via FTP or File Manager may be restricted and you might have to login via SSH console and change the file permissions.</p>



<p>In order to make wp-config.php file writable, please follow the same instructions > right click on <strong>wp-config.php</strong> file and change permissions to 644. Now you have learnt how to handle file permissions like a security ninja! 😉</p>



<p></p>
<p>The post <a href="https://wpencryption.com/make-htaccess-writable-wordpress/">Make wp-config.php &#038; .htaccess Writable in WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ERR_CERT_COMMON_NAME_INVALID fix for WordPress in 2021</title>
		<link>https://wpencryption.com/err_cert_common_name_invalid/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Fri, 25 Jun 2021 09:40:45 +0000</pubDate>
				<category><![CDATA[SSL Error]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=905</guid>

					<description><![CDATA[<p>Try testing your www &#038; non-www domain and see if the ERR_CERT_COMMON_NAME_INVALID error is shown on only one of it.</p>
<p>The post <a href="https://wpencryption.com/err_cert_common_name_invalid/">ERR_CERT_COMMON_NAME_INVALID fix for WordPress in 2021</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Getting your site on <strong>HTTPS</strong>(HyperText Transfer Protocol Secure) is the high priority requirement since Google chrome and all major browsers started flagging non-HTTPS sites as <strong>insecure</strong>. ERR_CERT_COMMON_NAME_INVALID is one the most common SSL error you could notice right after installing SSL certificate.</p>



<p>All our guides are pretty much focused towards non-technical users instead of big theory and we will be following the same approach jumping onto resolving the issue straightaway.</p>



<h2 class="wp-block-heading">Why ERR_CERT_COMMON_NAME_INVALID error occurs?</h2>



<p>Very common scenario is you have an SSL certificate installed for your site which don&#8217;t cover either www or non-www version of your domain. You could easily test your SSL at <a href="https://ssllabs.com" target="_blank" rel="noreferrer noopener">SSLLabs.com</a> to analyze your SSL certificate start &amp; expiry date as well as which exact set of domains it covers.</p>



<p>When Google Chrome shows it as ERR_CERT_COMMON_NAME_INVALID error, You might also notice this as slightly different error message shown on other browsers like Firefox showing <strong>SSL_ERROR_BAD_CERT_DOMAIN</strong>, Microsoft Edge showing <strong>DLG_FLAGS_SEC_CERT_CN_INVALID</strong>. At the end, it all refers to the same error.</p>



<h2 class="wp-block-heading">How to resolve ERR_CERT_COMMON_NAME_INVALID error?</h2>



<p>Using Firefox or Edge browser, try testing your www &amp; non-www domain (Ex: www.wpencryption.com and wpencryption.com) and see if the ERR_CERT_COMMON_NAME_INVALID error is shown on only one of it. If so, it clearly indicates that your installed SSL certificate don&#8217;t cover that specific domain. You could reach out to your SSL provider and re-generate SSL covering all your domains including the www &amp; non-www version. </p>



<p>Well if you are using our &#8220;<strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener nofollow">WP Encryption</a></strong>&#8221; free WordPress SSL plugin to generate and install free Let&#8217;s Encrypt SSL certificate for your WordPress site, we do have an very easy method of <strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/#how%20to%20install%20ssl%20for%20both%20www%20%26%20non-www%20version%20of%20my%20domain%3F" target="_blank" rel="noreferrer noopener nofollow">generating SSL covering www &amp; non-www domain</a></strong> &#8211; simply follow the instructions, install the newly generated SSL certificate on your cPanel or hosting panel and you are all set!.</p>



<h2 class="wp-block-heading">Both www &amp; non-www domains are showing same error?</h2>



<p>Then the issue is not related to just one variant. Your site must be using default SSL certificate provided by your hosting platform and you haven&#8217;t installed SSL certificate yet. You can verify the same by testing your domain on SSLLabs.com. In such a case, all you need to do is buy an SSL certificate for your domain and have it installed OR generate and install free SSL certificate for your WordPress site using <a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener nofollow">WP Encryption WordPress plugin</a> as said earlier.</p>



<p><strong>TIP</strong>: You don&#8217;t need a separate SSL certificate or Wildcard SSL for your www &amp; non-www domains. A single domain SSL certificate is sufficient to cover both the variants.</p>
<p>The post <a href="https://wpencryption.com/err_cert_common_name_invalid/">ERR_CERT_COMMON_NAME_INVALID fix for WordPress in 2021</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ERR_TOO_MANY_REDIRECTS WordPress Redirect Loop Fix</title>
		<link>https://wpencryption.com/err_too_many_redirects/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Thu, 24 Jun 2021 20:58:04 +0000</pubDate>
				<category><![CDATA[SSL Error]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ERR_TOO_MANY_REDIRECTS]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=894</guid>

					<description><![CDATA[<p>Easily fix err_too_many_redirects SSL error of your WordPress site like a Pro!</p>
<p>The post <a href="https://wpencryption.com/err_too_many_redirects/">ERR_TOO_MANY_REDIRECTS WordPress Redirect Loop Fix</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Why ERR_TOO_MANY_REDIRECTS error occur?</h2>



<p>ERR_TOO_MANY_REDIRECTS is one the very common error that would panic you when trying to use <a href="https://wpencryption.com/cdn-firewall/" target="_blank" rel="noreferrer noopener">CDN</a> or reverse proxy service like StackPath, Cloudflare, etc., for your WordPress site. To keep it simple, this redirect loop error is caused because your CDN wants to pull your HTTP only site but your WordPress site already have an HTTP to HTTPS redirect which results in redirect loop.</p>



<p>Nothing to worry, we will jump into the solution right away!.. Please make sure to clear cache on your browser &amp; CDN platform before diving in.</p>



<h2 class="wp-block-heading">SOLUTION 1</h2>



<ol class="wp-block-list"><li>Please login to your hosting panel, select FILE MANAGER tool. </li><li>Choose to show &#8220;hidden&#8221; files in file manager settings.</li><li>You will find <strong>.htaccess</strong> file in root directory of your WordPress site, please take a backup on your local computer and delete it.</li><li>If HTTPS is enforced via .htaccess, err_too_many_redirects redirect loop should be resolved already (please make sure to clear cache &amp; cookies of your browser before testing your site).</li></ol>



<p>Once after gaining access to your wp-admin, you can go to Settings &gt; Permalinks, choose your preferred permalink structure and save settings to re-generate default .htaccess file.</p>



<h2 class="wp-block-heading">SOLUTION 2</h2>



<ol class="wp-block-list"><li>Please login to your hosting panel, select FILE MANAGER tool.</li><li>Modify <strong>wp-config.php</strong> file located in the root directory of your WordPress site.</li><li>Add the below lines of code in a new line above <em>/*&nbsp;That&#8217;s&nbsp;all,&nbsp;stop&nbsp;editing!&nbsp;Happy&nbsp;blogging.&nbsp;*/</em></li></ol>



<pre class="wp-block-code"><code>define("WP_HOME", "http://YOUR_SITE_URL");
define("WP_SITEURL", "http://YOUR_SITE_URL");</code></pre>



<p>Please make sure to replace <strong>YOUR_SITE_URL</strong> with your correct domain Ex: http://wpencryption.com</p>



<p>4. Save the changes, clear your browser cache and check if your site starts working.</p>



<h2 class="wp-block-heading">SOLUTION 3</h2>



<p>If none of the above solutions worked, ERR_TOO_MANY_REDIRECTS redirect loop must be caused by one of the redirect, SSL or similar plugin activated on your WordPress site. Using the FILE MANAGER on your hosting, you can simply go to <strong>wp-content/plugins/ </strong>directory and start renaming suspected plugin folders to PLUGINNAME<strong>-HOLD</strong> one by one and view your site to identify the exact plugin that&#8217;s causing the redirect loop.</p>



<p>If you are self managing server instance on cloud platforms like AWS, Digital Ocean, etc., HTTPS redirection must be enforced via Apache or Nginx server config file located in <strong>/etc/apache2/</strong>, <strong>/etc/nginx/</strong> respectively. You will need to login via SSH console and remove those redirections to get your site working.</p>



<div style="height:41px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator"/>



<p>One of the above 3 solutions should absolutely fix ERR_TOO_MANY_REDIRECTS issue on your site. If you still need help,  please consider opting for <strong><a href="https://checkout.freemius.com/mode/dialog/plugin/5090/plan/8210/licenses/1/" target="_blank" rel="noreferrer noopener nofollow">WP Encryption Pro</a></strong> plan and our highly experienced support will resolve it for you ASAP regardless of the complexity.</p>



<p>If you were able to resolve the redirect loop, We highly recommend using &#8220;<strong>Force HTTPS via HTACCESS</strong>&#8221; feature of <a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener nofollow"><strong>WP Encryption free SSL plugin</strong></a> which auto detects the reverse proxy, CDN you are using and implements appropriate rules to make your HTTPS site work smooth!.</p>



<p><strong>TIP</strong>: If you are using reverse proxy services like StackPath, Cloudflare &#8211; Please enable HTTPS enforcement on your CDN dashboard too.</p>
<p>The post <a href="https://wpencryption.com/err_too_many_redirects/">ERR_TOO_MANY_REDIRECTS WordPress Redirect Loop Fix</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to install SSL for OpenLightSpeed server &#8211; WordPress</title>
		<link>https://wpencryption.com/install-ssl-for-openlightspeed-server/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Thu, 03 Sep 2020 12:54:04 +0000</pubDate>
				<category><![CDATA[DOCS]]></category>
		<category><![CDATA[OpenLightSpeed]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[webadmin]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=504</guid>

					<description><![CDATA[<p>Installing an SSL certificate generated with help of WP Encryption WordPress plugin on OpenLightSpeed server webadmin is super easy</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-openlightspeed-server/">How to install SSL for OpenLightSpeed server &#8211; WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>First of all, generate SSL certificate easily with <strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener">WP Encryption</a></strong> WordPress plugin. Then follow the simple instructions provided below:</p>



<ol class="wp-block-list"><li>Login to your OpenLightSpeed <strong>webadmin</strong> Ex: <em>domain.com:7080</em></li><li>Go to <strong>Listeners</strong> page</li><li>Edit the <strong>SSL</strong> listener with port <strong>443</strong></li><li>Navigate to <strong>SSL</strong> tab</li><li>Update<strong> private key file </strong>and <strong>certificate file</strong> paths as below</li></ol>



<pre class="wp-block-code"><code>/var/www/html/keys/private.pem
/var/www/html/keys/certificate.crt</code></pre>



<p>6. Click <strong>SAVE</strong> and do a <strong>Graceful Restart </strong>once.</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-openlightspeed-server/">How to install SSL for OpenLightSpeed server &#8211; WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to install SSL certificate for WordPress on WHM panel</title>
		<link>https://wpencryption.com/install-ssl-on-whm-panel/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Thu, 03 Sep 2020 12:31:22 +0000</pubDate>
				<category><![CDATA[DOCS]]></category>
		<category><![CDATA[WHM]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=502</guid>

					<description><![CDATA[<p>Generate SSL certificate easily with WP Encryption WordPress plugin and install it on your WHM panel following simple instructions.</p>
<p>The post <a href="https://wpencryption.com/install-ssl-on-whm-panel/">How to install SSL certificate for WordPress on WHM panel</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Please generate and download the SSL certificate files using <strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener">WP Encryption</a></strong> WordPress plugin. Then follow the below steps to install SSL certificates on your WHM:</p>



<p></p>



<ol class="wp-block-list"><li>Login to your WHM panel via <strong>2087</strong> port. Ex: <em>https://domain.com:2087</em></li><li>On WHM homepage, click &#8220;<strong>SSL/TLS</strong>&#8221; option</li><li>On &#8220;<strong>SSL/TLS</strong>&#8221; page, please click on &#8220;<strong>Install an SSL certificate on a Domain</strong>&#8221; option.</li><li>Please enter your domain name and copy/paste the downloaded <strong>cert</strong>, <strong>key </strong>&amp; <strong>ca bundle</strong> file contents into appropriate fields.</li><li>Click &#8220;<strong>Install</strong>&#8221; to complete the process.</li></ol>



<p>Your HTTPs site should be perfectly working now!</p>
<p>The post <a href="https://wpencryption.com/install-ssl-on-whm-panel/">How to install SSL certificate for WordPress on WHM panel</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to install SSL for WordPress on Nginx server</title>
		<link>https://wpencryption.com/install-ssl-for-nginx-server/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Thu, 03 Sep 2020 12:03:17 +0000</pubDate>
				<category><![CDATA[DOCS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Digital Ocean]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=499</guid>

					<description><![CDATA[<p>Merge SSL cert files and update your Nginx virtualhost with correct SSL paths following our step by step tutorial.</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-nginx-server/">How to install SSL for WordPress on Nginx server</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>First of all, Generate SSL certificate easily with <a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener">WP Encryption</a> WordPress plugin, then follow the below steps to install them on your Nginx server:</p>



<h2 class="wp-block-heading">1. Login to your SSH console</h2>



<p>If you have Nginx server running on cloud platforms like AWS or Digital Ocean, you might be able to login via SSH using <strong>Launch Console</strong> option. Otherwise, you can login using SSH key file or password via terminal.</p>



<h2 class="wp-block-heading">2. Upload SSL certificates to secure folder and merge certs</h2>



<p>Download crt, key &amp; ca bundle files via <strong>WP Encryption</strong> plugin interface, rename them as <strong>certificate.crt</strong>, <strong>private.pem</strong>, <strong>cabundle.crt</strong> accordingly for easier identification and upload them onto a secure folder of your choice. Let&#8217;s assume you uploaded them to <strong>/etc/ssl/</strong> directory.</p>



<p><strong>cd /etc/ssl/</strong> and merge <strong>certificate.crt </strong>and <strong>cabundle.crt</strong> files using below SSH command</p>



<pre class="wp-block-code"><code>cat certificate.crt cabundle.crt >> cert.crt</code></pre>



<h2 class="wp-block-heading">3. Update Nginx virtual host with correct SSL paths</h2>



<p><strong>cd /etc/nginx/sites-enabled/</strong> directory and modify the default file using nano editor. If you don&#8217;t find any file here, copy the default file from <strong>/etc/nginx/sites-available/ </strong>to<strong> /etc/nginx/sites-enabled/</strong> using <strong>cp</strong> command.</p>



<p>Now you need to find lines similar to below:</p>



<pre class="wp-block-code"><code>server {

    listen 443 ssl;    
    
    ssl_certificate        /etc/ssl/certificate.crt; 
    ssl_certificate_key    /etc/ssl/private.key;</code></pre>



<p><strong>ssl_certificate</strong> and <strong>ssl_certificate_key</strong> are the only 2 lines we need to update here. Update these 2 lines with correct paths of merged cert file and key file,</p>



<pre class="wp-block-code"><code>ssl_certificate /etc/ssl/cert.crt;
ssl_certificate_key /etc/ssl/private.pem</code></pre>



<p>Finally, save the config changes.</p>



<h2 class="wp-block-heading">4. Restart Nginx server for SSL changes to take effect</h2>



<p>Nginx server can be restarted using below SSH command</p>



<pre class="wp-block-code"><code>sudo service nginx restart</code></pre>



<p>Once after successful restart, your HTTPs site should be working perfectly!.</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-nginx-server/">How to install SSL for WordPress on Nginx server</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to install SSL for WordPress on Apache server</title>
		<link>https://wpencryption.com/install-ssl-for-apache-server/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Thu, 03 Sep 2020 10:58:44 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[DOCS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Digital Ocean]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=492</guid>

					<description><![CDATA[<p>Enable SSL module and install SSL for your Apache httpd or Apache2 server easily with step by step instructions</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-apache-server/">How to install SSL for WordPress on Apache server</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This tutorial assumes your site is running on an Apache server and you have sufficient SSH knowledge. You will need to have root SSH access to complete these changes.</p>



<h2 class="wp-block-heading">1. Login to your SSH console</h2>



<p>If you have Apache server running on cloud platforms like AWS or Digital Ocean, you might be able to login via SSH using <strong>Launch Console</strong> option. Otherwise, you can login using SSH key file or password via terminal.</p>



<h2 class="wp-block-heading">2. Determine your Apache server version</h2>



<p>If you are sure about having <strong>httpd</strong> or <strong>apache2</strong> server, please proceed to next step.</p>



<p>Running the below SSH commands will help you identify whether you have <strong>httpd</strong> or <strong>apache2</strong> server.</p>



<pre class="wp-block-code"><code>sudo systemctl is-enabled httpd</code></pre>



<pre class="wp-block-code"><code>sudo systemctl is-enabled apache2</code></pre>



<p>One of these will respond with <strong>enabled</strong>. Please follow below steps based on which server type is enabled.</p>



<h2 class="wp-block-heading">3. Install SSL for Apache httpd server</h2>



<p>Please run the below SSH command to install SSL module if not already installed:</p>



<pre class="wp-block-code"><code>sudo yum update -y</code></pre>



<pre class="wp-block-code"><code>sudo yum install -y mod_ssl</code></pre>



<p>If you have Linux 2, please run below command instead of above one</p>



<pre class="wp-block-code"><code>sudo yum install -y mod24_ssl</code></pre>



<h3 class="wp-block-heading">3a. Modify httpd config file with correct SSL paths</h3>



<p>Now it&#8217;s time to correct the SSL cert, key and ca bundle paths in default config file. CD into <strong>/etc/httpd/conf.d/</strong> and edit <strong>ssl.conf</strong> file</p>



<pre class="wp-block-code"><code>cd /etc/httpd/conf.d/</code></pre>



<pre class="wp-block-code"><code>sudo nano ssl.conf</code></pre>



<p>You need to look for <strong>SSLCertificateFile</strong>, <strong>SSLCertificateKeyFile</strong> &amp; <strong>SSLCACertificateFile</strong> lines. Assuming your site is hosted / stored in <strong>/var/www/</strong> directory and SSL certificates generated with <strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener">WP Encryption</a></strong> WordPress plugin stored in <strong>keys</strong> directory, modify the 3 lines to look like this:</p>



<pre class="wp-block-code"><code>SSLCertificateFile /var/www/keys/certificate.crt
SSLCertificateKeyFile /var/www/keys/private.pem
SSLCACertificateFile /var/www/wp-content/plugins/wp-letsencrypt-ssl/cabundle/ca.crt</code></pre>



<p>Save the file by pressing <strong>CTRL+O</strong> and exit editor with <strong>CTRL+X</strong>. <strong>CMD+O</strong> and <strong>CMD+X</strong> on Mac Terminal.</p>



<h3 class="wp-block-heading">3b. Restart httpd server for SSL changes to take effect</h3>



<p>Now we are done with the server config changes, it&#8217;s time to restart apache httpd server once for changes to take effect. Please run the below SSH commands to do so:</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p>OR</p>



<pre class="wp-block-code"><code>sudo service httpd restart</code></pre>



<p>Your HTTPS site should be working perfectly now!.</p>



<h2 class="wp-block-heading">4. Install SSL for Apache2 server</h2>



<p>Enable SSL module using below command if not already enabled</p>



<pre class="wp-block-code"><code>sudo a2enmod ssl</code></pre>



<p><strong>cd /etc/apache2/ </strong>and check if <strong>sites-available</strong> &amp; <strong>sites-enabled</strong> directory exists. if exists &#8211; cd into <strong>sites-available</strong> and you should find a config file like <strong>default-ssl.conf</strong>. Using the default file name, Please run the below command to enable it and then modify this file,</p>



<pre class="wp-block-code"><code>sudo a2ensite default-ssl.conf
sudo nano default-ssl.conf</code></pre>



<p>If you don&#8217;t find <strong>sites-available</strong> &amp;<strong> sites-enabled</strong> directory, You should probably modify <strong>apache2.conf</strong> file.</p>



<p>You need to look for <strong>SSLCertificateFile</strong>, <strong>SSLCertificateKeyFile</strong> &amp; <strong>SSLCACertificateFile</strong> lines. Assuming your site is hosted / stored in <strong>/var/www</strong>/<strong>html/</strong> directory and SSL certificates generated with <strong><a href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank" rel="noreferrer noopener">WP Encryption</a></strong> WordPress plugin stored in <strong>keys</strong> directory, modify the 3 lines to look like this:</p>



<pre class="wp-block-code"><code>SSLCertificateFile /var/www/html/keys/certificate.crt
SSLCertificateKeyFile /var/www/html/keys/private.pem
SSLCACertificateFile /var/www/html/wp-content/plugins/wp-letsencrypt-ssl-pro/cabundle/ca.crt</code></pre>



<p>Save the file by pressing <strong>CTRL+O</strong> and exit editor with <strong>CTRL+X</strong>. <strong>CMD+O</strong> and <strong>CMD+X</strong> on Mac Terminal.</p>



<h3 class="wp-block-heading">4a. Restart Apache2 server for SSL changes to take effect</h3>



<p>Now we are done with the server config changes, it&#8217;s time to restart apache2 server once for changes to take effect. Please run the below SSH commands to do so:</p>



<pre class="wp-block-code"><code>sudo systemctl restart apache2</code></pre>



<p>OR</p>



<pre class="wp-block-code"><code>sudo service apache2 restart</code></pre>



<p>Your HTTPS site should be working perfectly now!.</p>
<p>The post <a href="https://wpencryption.com/install-ssl-for-apache-server/">How to install SSL for WordPress on Apache server</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Easy Install SSL for WordPress Multisite Mapped Domains</title>
		<link>https://wpencryption.com/ssl-for-wordpress-multisite-mapped-domains/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Tue, 25 Aug 2020 11:47:38 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[DOCS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Mapped Domains]]></category>
		<category><![CDATA[Multisite]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=461</guid>

					<description><![CDATA[<p>Install free lets encrypt SSL for mapped domains of wordpress multisite network within minutes. step by step tutorial on apache SSL configuration</p>
<p>The post <a href="https://wpencryption.com/ssl-for-wordpress-multisite-mapped-domains/">Easy Install SSL for WordPress Multisite Mapped Domains</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This tutorial assumes that you already have a multisite setup with mapped domains (<strong>domain1.com</strong>, <strong>domain2.com</strong>, etc.,) using <strong><a href="https://wordpress.org/plugins/wordpress-mu-domain-mapping/" target="_blank" rel="noreferrer noopener nofollow">WordPress MU domain mapping plugin</a></strong>. To make it much more clear, WordPress Multisite allows <strong>sub-domain</strong> or <strong>sub-directory</strong> based network sites setup, however mapping of domains refers to pointing of different domain names to each sub site of multisite network using domain mapping plugin.</p>



<p>In this tutorial, We will be installing free SSL certificate provided by <strong><a href="https://letsencrypt.org" target="_blank" rel="noreferrer noopener nofollow">Let&#8217;s Encrypt®</a></strong> (open certificate authority) , you are free to use SSL certificate from any certificate authority unless you have SSL certificate for each of mapped domain name.</p>



<p><strong>Technical Requirements:</strong></p>



<ul class="wp-block-list"><li>Linux server</li><li>Apache</li><li>SSH / Command line access with root privileges</li><li>Your server should have SNI support (Server Name Indication)</li></ul>



<p></p>



<h2 class="wp-block-heading">1. Generate SSL certificate for each mapped domain of multisite network</h2>



<p>First of all, you will need SSL certificates generated for each of domain you have mapped. We have a very handy WordPress plugin to make this SSL generate job very easier &#8220;<strong><a rel="noreferrer noopener" href="https://gowebsmarty.com/product/wp-encryption-pro/" target="_blank">WP Encryption</a></strong>&#8220;. Buying an SSL certificate for each domain of your network would cost several <strong>$$$</strong> each year, if you have large ecommerce sites or membership portals in your multisite network &#8211; We would highly recommend purchasing premium standard SSL certificates from one of premium SSL providers out there.</p>



<p>On the other hand, you could make use of free SSL certificates provided by Let&#8217;s Encrypt<strong>®</strong> using WP Encryption plugin as a mechanism to generate and auto renew SSL certificates easily in one click without any need of technical knowledge. Support for mapped domains is offered in &#8220;<a rel="noreferrer noopener" href="https://gowebsmarty.com/product/wp-encryption-pro/" target="_blank">WP Encryption Pro</a>&#8221; version (You might need 3 sites / 50 sites license based on number of sites you have). It&#8217;s an one time upgrade and lifetime SSL solution.</p>



<p>Upload the <strong>WP Encryption Pro</strong> plugin via your <strong>network -&gt; plugins</strong>. Activate the plugin in each individual site (instead of network activation) and enter your license key to activate the premium features. WP Encryption Pro will auto detect your main site &amp; sub-sites and generate SSL certificate accordingly. You will need to open <strong>WP Encryption</strong> page in your <strong>WP-Admin</strong> of each site, enter your email address and click on <strong>Generate SSL Certificate</strong> button.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://gowebsmarty.com/wp-content/uploads/2020/04/wp-encryption-page.png" alt="" class="wp-image-379"/><figcaption>WP Encryption</figcaption></figure>



<p>You will notice a message in response log of WP Encryption saying <em><strong>Certificate for &#8216;yourdomain.com&#8217; saved</strong></em>. Required SSL certificate files <strong>certificate.crt</strong> and <strong>private.pem</strong> will be generated &amp; stored in <strong>keys/</strong> folder inside your WordPress directory (in case of main site). For sub sites, it will auto create a separate folder (<strong>keys/domain2.com/</strong>) inside <strong>keys/</strong> folder and store the <strong>certificate.crt</strong> and <strong>private.pem</strong> inside it. </p>



<h2 class="wp-block-heading">2. Install SSL for main site of your multisite network</h2>



<p>First, We will go through the process of modifying the apache config file of your server to enable SSL for main site. Note that this config modifications are just one time process &amp; you don&#8217;t need to do it again in future. The required certificate.crt and private.pem files for this main site will be stored directly inside keys/ folder as stated above.</p>



<p>Connect via SSH / Command line and navigate to <strong>/etc/apache2/sites-enabled/ </strong>using below SSH command</p>



<pre class="wp-block-code"><code>cd /etc/apache2/sites-enabled</code></pre>



<p>Run <strong>ls -la</strong> to see list of files inside this directory. You should notice a file similar to <strong>default-ssl.conf</strong>, <strong>ssl.conf</strong>, etc., We will need to modify this config file to set correct SSL paths. Please run the below command to start the editor:</p>



<pre class="wp-block-code"><code>sudo nano default-ssl.conf</code></pre>



<p>Enter root password if prompted. You should notice a <strong>&lt;VirtualHost&gt;&lt;/VirtualHost&gt;</strong> config block similar to below one</p>



<pre class="wp-block-code"><code>&lt;VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName example.com
                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                #   SSL Engine Switch:
                #   Enable/Disable SSL for this virtual host.
                SSLEngine on

                #   SSLCertificateFile directive is needed.
               SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
               SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
              
                &lt;FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                &lt;/FilesMatch>
                &lt;Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                &lt;/Directory>
&lt;/VirtualHost></code></pre>



<p>You might find the above VirtualHost block much more bigger &amp; it doesn&#8217;t need to be same as above. Out of the above block, you only need to focus on 4 lines i.e., <strong>ServerName</strong>, <strong>DocumentRoot</strong>, <strong>SSLCertificateFile</strong>, <strong>SSLCertificateKeyFile</strong>. Modify these 4 lines based on below instructions:</p>



<ul class="wp-block-list"><li><strong>ServerName</strong> <strong>yourdomain.com</strong></li><li><strong>DocumentRoot</strong> should point to your WordPress directory, this will be <strong>/var/www/html </strong>most of the time on an apache server.</li><li><strong>SSLCertificateFile</strong> should point to <strong>certificate.crt</strong> file inside keys dir Ex:<strong> /var/www/html/keys/certificate.crt</strong></li><li><strong>SSLCertificateKeyFile</strong> should point to <strong>private.pem</strong> file inside keys dir Ex: <strong>/var/www/html/keys/private.pem</strong></li></ul>



<p>Once after you correct these 4 lines, press <strong>CTRL + O</strong> to save the changes, <strong>CTRL + X</strong> to exit file editor and restart apache server once using below command</p>



<pre class="wp-block-code"><code>sudo service apache2 restart</code></pre>



<p>Now open your main site with <strong>https://</strong> protocol and you should see Let&#8217;s Encrypt valid certificate while clicking on padlock in browser address bar which means you have perfectly configured SSL for your main site.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://gowebsmarty.com/wp-content/uploads/2020/04/letsencrypt-certificate-1.png" alt="" class="wp-image-383"/></figure></div>



<h2 class="wp-block-heading">3. Install SSL for sub sites / mapped domains</h2>



<p>This process will be very similar to above changes except minor differences. <strong>CD</strong> into<strong> /etc/apache2/sites-enabled </strong>and <strong>sudo nano default-ssl.conf</strong> again.</p>



<p>Now you will need to replicate the <strong>&lt;VirtualHost&gt;&lt;/VirtualHost&gt;</strong> block one below another for each mapped domain and correct the 4 lines as stated above. The only difference is the SSL certificate &amp; key paths will be inside <strong>sub-directory inside keys/</strong> folder. An example replication for mapped domain2.com would look like below:</p>



<pre class="wp-block-code"><code>&lt;VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
       ServerName maindomain.com
       DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                #   SSL Engine Switch:
                #   Enable/Disable SSL for this virtual host.
                SSLEngine on

                #   SSLCertificateFile directive is needed.
       SSLCertificateFile      /var/www/html/keys/certificate.crt
       SSLCertificateKeyFile /var/www/html/keys/private.pem
              
                &lt;FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                &lt;/FilesMatch>
                &lt;Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                &lt;/Directory>
&lt;/VirtualHost>

&lt;VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
      ServerName domain2.com
      DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                #   SSL Engine Switch:
                #   Enable/Disable SSL for this virtual host.
                SSLEngine on

                #   SSLCertificateFile directive is needed.
      SSLCertificateFile    /var/www/html/keys/domain2.com/certificate.crt
      SSLCertificateKeyFile /var/www/html/keys/domain2.com/private.pem
              
                &lt;FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                &lt;/FilesMatch>
                &lt;Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                &lt;/Directory>
&lt;/VirtualHost></code></pre>



<p>Finally, You are all set with the config changes and just need to restart server once for config changes to take effect.</p>



<pre class="wp-block-code"><code>sudo service apache2 restart</code></pre>



<p>Now make sure a valid certificate exists for all your mapped domains by accessing the <strong>https://</strong> version of them. Once after everything looks perfect, You can change <strong>site</strong> &amp; <strong>admin url</strong> of all mapped domains to <strong>https:// </strong>protocol and enable &#8220;<strong>Force HTTPS</strong>&#8221; feature of WP Encryption if you notice any <strong>mixed content</strong> warnings in browser console.</p>



<p>We tried to be as transparent as possible so please excuse for a lengthy explanation.</p>
<p>The post <a href="https://wpencryption.com/ssl-for-wordpress-multisite-mapped-domains/">Easy Install SSL for WordPress Multisite Mapped Domains</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Install SSL for AWS Lightsail Bitnami WordPress</title>
		<link>https://wpencryption.com/ssl-for-lightsail-bitnami-wordpress/</link>
		
		<dc:creator><![CDATA[wp_encryption]]></dc:creator>
		<pubDate>Tue, 25 Aug 2020 11:44:35 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Bitnami]]></category>
		<category><![CDATA[DOCS]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://wpencryption.com/?p=459</guid>

					<description><![CDATA[<p>Generate and install free Let's Encrypt SSL certificate for Bitnami WordPress or AWS Lightsail WordPress within seconds</p>
<p>The post <a href="https://wpencryption.com/ssl-for-lightsail-bitnami-wordpress/">How to Install SSL for AWS Lightsail Bitnami WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This tutorial demonstrates how to install <strong><a href="https://letsencrypt.org" target="_blank" rel="nofollow noreferrer noopener">Let&#8217;s Encrypt®</a></strong> (open certificate authority) SSL certificate for your Bitnami WordPress as well as AWS Lightsail WordPress. If you wish to use some premium SSL certificate you have purchased, feel free to upload it to a secure folder on your server and skip to step 2 below.</p>



<p><strong>Technical Requirements:</strong></p>



<ul class="wp-block-list"><li>Bitnami WordPress</li><li>SSH / Command line access with root privileges</li></ul>



<h2 class="wp-block-heading">1. Generate free SSL certificate provided by Let&#8217;s Encrypt<strong>®</strong></h2>



<p>To keep this very simple, We will make use of a WordPress plugin &#8220;<a rel="noreferrer noopener nofollow" href="https://wordpress.org/plugins/wp-letsencrypt-ssl/" target="_blank">WP Encryption</a>&#8221; to generate free SSL certificate in one click.</p>



<p>All you need to do is just install &amp; activate the plugin on your WordPress Admin, navigate to <strong>WP Encryption</strong> page, enter your email address and click on <strong>Generate SSL Certificate </strong>button.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://gowebsmarty.com/wp-content/uploads/2020/04/wp-encryption-page.png" alt="wp encryption ssl" class="wp-image-379"/></figure>



<p>This process will request and retrieve free SSL certificate from Let&#8217;s Encrypt authority for your domain. SSL certificates provided by Let&#8217;s Encrypt authority will expire in 90 days and you will need to re-generate new certificates again using the same process before the expiry date. SSL certificates cost you several $$$ a year, You could upgrade to &#8220;<a rel="noreferrer noopener" href="https://gowebsmarty.com/product/wp-encryption-pro/" target="_blank">WP Encryption Pro</a>&#8221; to avail auto renew feature and lifetime SSL mechanism. The required <strong>certificate.crt </strong>and <strong>private.pem</strong> files will be generated and stored in <strong>keys/</strong> folder inside your WordPress directory.</p>



<h2 class="wp-block-heading">2. Configure Bitnami to use SSL certificates by Let&#8217;s Encrypt<strong>®</strong></h2>



<p>Assuming you are on a default setup of Bitnami / AWS Lightsail WordPress, You will need to configure the server config file to use SSL certificate and key from correct path. This is an one time process and you don&#8217;t ever need to do it again.</p>



<h3 class="wp-block-heading">Solution 1</h3>



<p>Create a symbolic link from existing / current SSL certificate to new SSL certificates generated &amp; stored by WP Encryption plugin. You can do so by connecting via SSH / Command line to your server and run the below SSH commands,</p>



<p></p>



<p><strong>For Latest Bitnami:</strong></p>



<p> If you are using <strong>latest</strong> bitnami instance where your WordPress site files are located in <strong>/opt/bitnami/wordpress/</strong> folder,  </p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache/conf/bitnami/certs

sudo ln -sf /opt/bitnami/wordpress/keys/certificate.crt server.crt

sudo ln -sf /opt/bitnami/wordpress/keys/private.pem server.key

sudo /opt/bitnami/ctlscript.sh restart apache</code></pre>



<p><strong>For Older Bitnami:</strong></p>



<p>If you are using <strong>older</strong> bitnami instance where your WordPress site files are located in <strong>/opt/bitnami/apps/wordpress/htdocs/</strong> folder, please use below commands instead of above,</p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache2/conf

sudo ln -sf /opt/bitnami/apps/wordpress/htdocs/keys/certificate.crt server.crt

sudo ln -sf /opt/bitnami/apps/wordpress/htdocs/keys/private.pem server.key

sudo /opt/bitnami/ctlscript.sh restart apache</code></pre>



<p>Finally, Open your site with <strong>https://</strong> protocol and check if valid certificate exists as below. If so, you are all set so please skip solution 2.</p>



<figure class="wp-block-image size-medium"><img decoding="async" src="https://gowebsmarty.com/wp-content/uploads/2020/04/letsencrypt-certificate-1-300x284.png" alt="wordpress ssl" class="wp-image-383"/></figure>



<h3 class="wp-block-heading">Solution 2</h3>



<p>If the above symlink method fail, We will need to modify WordPress hosts config to use SSL certificates from correct path. Please login via SSH / Command line and follow the below procedure:</p>



<p></p>



<p><strong>Latest Bitnami:</strong></p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache2/conf/vhosts/

sudo nano wordpress-https-vhost.conf</code></pre>



<p><strong>Older Bitnami:</strong></p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apps/wordpress/conf/

sudo nano httpd-vhosts.conf</code></pre>



<p>You will find a VirtualHost block similar to below</p>



<pre class="wp-block-code"><code>&lt;VirtualHost *:443>
    ServerName yourserverdomain.com
    ServerAlias *.yourserverdomain.com
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"

    SSLEngine on

  <strong>SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/new_server.crt"
  SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/new_server.key"</strong>

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
&lt;/VirtualHost></code></pre>



<p>All you need to modify here are the <strong>SSLCertificateFile</strong> and <strong>SSLCertificateKeyFile </strong>lines as below</p>



<p></p>



<p><strong>Latest Bitnami:</strong></p>



<pre class="wp-block-code"><code>SSLCertificateFile "/opt/bitnami/wordpress/keys/certificate.crt"

SSLCertificateKeyFile "/opt/bitnami/wordpress/keys/private.pem"</code></pre>



<p><strong>Older Bitnami:</strong></p>



<pre class="wp-block-code"><code>SSLCertificateFile "/opt/bitnami/apps/wordpress/htdocs/keys/certificate.crt"

SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/htdocs/keys/private.pem"</code></pre>



<p>After making these changes, press <strong>CTRL + O</strong> to save the changes and <strong>CTRL + X</strong> to exit the file editor. Now We will need to include this httpd-vhosts config file in main config file of Bitnami, please run below commands</p>



<p><strong>NOTE:</strong> Skip to restart command below if you are on<strong> Latest </strong>Bitnami server.</p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache2/conf/bitnami/

sudo nano bitnami-apps-vhosts.conf</code></pre>



<p>This will open Bitnami vhosts file editor, at the very bottom of the file add the below line in a new line</p>



<pre class="wp-block-code"><code>Include "/opt/bitnami/apps/wordpress/conf/httpd-vhosts.conf"</code></pre>



<p>After making these changes, press <strong>CTRL + O</strong> to save the changes and <strong>CTRL + X</strong> to exit the file editor. Lastly, restart Bitnami for changes to take effect using below command</p>



<pre class="wp-block-code"><code>sudo /opt/bitnami/ctlscript.sh restart</code></pre>



<p>Either one of the above two solutions would definitely succeed with the SSL setup for your Bitnami WordPress. Once after you see a valid SSL certificate accessing the <strong>https://</strong> version of your site, please change the <strong>site</strong> &amp; <strong>admin url </strong>to <strong>https://</strong> via <strong>Settings -&gt; General </strong>of <strong>WP-Admin</strong> and also enable &#8220;<strong>Force HTTP</strong>S&#8221; feature of WP Encryption plugin interface if you notice any <strong>mixed content</strong> warning in browser console.</p>



<h2 class="wp-block-heading">3. Resolving Intermediate Cert (CA) issue in Bitnami WordPress</h2>



<p>Facebook share debugger and SSLLabs might show your SSL intermediate certificate is missing. Please follow the below commands to resolve the issue:</p>



<p><strong>Latest Bitnami:</strong></p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache2/conf/bitnami
sudo nano bitnami-ssl.conf</code></pre>



<p><strong>Older Bitnami:</strong></p>



<pre class="wp-block-code"><code>cd /opt/bitnami/apache2/conf/bitnami
sudo nano bitnami.conf</code></pre>



<p>Add below line just after <strong>SSLCertificateKeyFile</strong> line</p>



<p></p>



<p><strong>Latest Bitnami:</strong></p>



<pre class="wp-block-code"><code>SSLCACertificateFile "/opt/bitnami/wordpress/keys/cabundle.crt"</code></pre>



<p><strong>Older Bitnami:</strong></p>



<pre class="wp-block-code"><code>SSLCACertificateFile "/opt/bitnami/apps/wordpress/htdocs/keys/cabundle.crt"</code></pre>



<p>After making these changes, press <strong>CTRL + O</strong> to save the changes and <strong>CTRL + X</strong> to exit the file editor. Lastly, restart Bitnami Apache for changes to take effect using below command</p>



<pre class="wp-block-code"><code>sudo /opt/bitnami/ctlscript.sh restart apache</code></pre>
<p>The post <a href="https://wpencryption.com/ssl-for-lightsail-bitnami-wordpress/">How to Install SSL for AWS Lightsail Bitnami WordPress</a> appeared first on <a href="https://wpencryption.com">WP Encryption</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
