<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on CloudAid</title><link>https://www.cloudaid.net/blog/</link><description>Recent content in Blog on CloudAid</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 29 May 2024 10:07:21 +0600</lastBuildDate><atom:link href="https://www.cloudaid.net/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrating from On-Premises Servers to AWS EC2 Benefits and Step-by-Step Guide</title><link>https://www.cloudaid.net/blog/migrating-from-on-premises-servers-to-aws-ec2/</link><pubDate>Wed, 29 May 2024 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/migrating-from-on-premises-servers-to-aws-ec2/</guid><description>&lt;p&gt;Amazon EC2 gives you virtual servers in the cloud that you rent by the hour or second. This guide covers why teams move on-premises servers to EC2 and the four steps a migration usually follows. At the end we explain how CloudAid.net helps with AWS migrations.&lt;/p&gt;&#10;&lt;h2 id="benefits-of-migrating-to-aws-ec2"&gt;Benefits of Migrating to AWS EC2&lt;/h2&gt;&#10;&lt;h3 id="1-cost-savings"&gt;1. Cost Savings&lt;/h3&gt;&#10;&lt;p&gt;On-premises infrastructure means paying up front for hardware, software licenses, and maintenance. Add redundancy and room to grow, and the bill climbs fast.&lt;/p&gt;</description></item><item><title>Understanding AWS Lambda Pricing - A Comprehensive Breakdown</title><link>https://www.cloudaid.net/blog/understanding-aws-lambda-pricing/</link><pubDate>Mon, 11 Dec 2023 00:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/understanding-aws-lambda-pricing/</guid><description>&lt;h5 id="introduction-to-aws-lambda"&gt;Introduction to AWS Lambda&lt;/h5&gt;&#10;&lt;p&gt;AWS Lambda runs your code in response to events and manages the compute underneath it. You don&amp;rsquo;t provision or patch servers, and you pay only while your code runs. That makes it a popular choice for teams that want to cut operational overhead.&lt;/p&gt;&#10;&lt;p&gt;The pricing is harder to predict than a flat hourly rate. Your bill depends on how many requests you serve, how long each one runs, and how much memory you give the function, so estimates take some work.&lt;/p&gt;</description></item><item><title>Top 5 Innovative Uses of AWS Lambda in Modern Web Applications</title><link>https://www.cloudaid.net/blog/innovative-uses-aws-lambda-web-applications/</link><pubDate>Mon, 04 Dec 2023 00:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/innovative-uses-aws-lambda-web-applications/</guid><description>&lt;h5 id="introduction"&gt;Introduction&lt;/h5&gt;&#10;&lt;p&gt;AWS Lambda is Amazon&amp;rsquo;s event-driven compute service. You write a function, attach it to an event source, and AWS runs it when the event fires. You don&amp;rsquo;t provision or patch servers.&lt;/p&gt;&#10;&lt;p&gt;Below are five ways teams use Lambda in web applications. For each one I cover the settings that matter in practice: concurrency, timeout, limits, and cost.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.cloudaid.net/img/blog/aws-lambda-use-cases-p2.webp" alt=""&gt;&lt;/p&gt;&#10;&lt;h5 id="use-case-1-real-time-data-processing"&gt;Use Case 1: Real-Time Data Processing&lt;/h5&gt;&#10;&lt;p&gt;Lambda fits well when you need to act on data the moment it arrives. You configure a trigger, such as a new record in a stream or a new object in a bucket, and your function runs on each event.&lt;/p&gt;</description></item><item><title>How to Install and Configure OpenVPN on EC2 Amazon Linux 2</title><link>https://www.cloudaid.net/blog/install-configure-openvpn-ec2-amazon-linux-2/</link><pubDate>Mon, 27 Nov 2023 00:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/install-configure-openvpn-ec2-amazon-linux-2/</guid><description>&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;&#10;&lt;h5 id="openvpn-on-ec2"&gt;OpenVPN on EC2&lt;/h5&gt;&#10;&lt;p&gt;A VPN gives your team encrypted access to private network resources. OpenVPN is a mature, open-source option, and an EC2 instance running Amazon Linux 2 is a cheap place to host it. You get secure access to your network and can resize the instance as your team grows.&lt;/p&gt;&#10;&lt;h6 id="why-openvpn-on-amazon-ec2-linux-2"&gt;Why OpenVPN on Amazon EC2 Linux 2?&lt;/h6&gt;&#10;&lt;p&gt;Running OpenVPN on EC2 gives you:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: OpenVPN uses strong encryption to tunnel your traffic.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Scalability and Flexibility&lt;/strong&gt;: You can move to a larger EC2 instance as your user count grows.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cost-Effective&lt;/strong&gt;: With pay-as-you-go pricing, an EC2 instance can cost less than a traditional VPN appliance or service.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Customizable&lt;/strong&gt;: You can tune OpenVPN to match your security and network requirements.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This guide covers prerequisites, installation, configuration, testing, hardening, and maintenance.&lt;/p&gt;</description></item><item><title>5 Key Benefits of Migrating to AWS for Canadian Businesses</title><link>https://www.cloudaid.net/blog/aws-migration-benefits-canadian-businesses/</link><pubDate>Mon, 20 Nov 2023 00:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/aws-migration-benefits-canadian-businesses/</guid><description>&lt;h4 id="1-introduction-to-aws-and-its-growing-importance-in-canada"&gt;1. Introduction to AWS and Its Growing Importance in Canada&lt;/h4&gt;&#10;&lt;p&gt;Amazon Web Services (AWS) is one of the largest cloud providers in the world, and more Canadian companies use it each year. They want infrastructure that scales, stays secure, and costs less than running their own hardware.&lt;/p&gt;&#10;&lt;p&gt;Canada has a strong tech sector and strict privacy law, so security and compliance weigh heavily in any cloud decision here. AWS&amp;rsquo;s global infrastructure and compliance programs fit those needs. Startups and large enterprises both run on it, across a wide range of workloads.&lt;/p&gt;</description></item><item><title>Is a T-Series Instance the Right Choice for My Website? Handling Traffic Spikes and Performance</title><link>https://www.cloudaid.net/blog/choosing-t-series-instances-for-website-traffic-management/</link><pubDate>Mon, 13 Nov 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/choosing-t-series-instances-for-website-traffic-management/</guid><description>&lt;p&gt;The EC2 instance type you pick affects your website&amp;rsquo;s speed, reliability, and monthly bill. Amazon&amp;rsquo;s T-series instances give you a baseline level of CPU with the option to burst above it. Below is how that works, an example of a traffic spike, and how to decide whether T-series fits your site.&lt;/p&gt;&#10;&lt;h3 id="understanding-t-series-instances"&gt;Understanding T-Series Instances&lt;/h3&gt;&#10;&lt;h4 id="baseline-performance-and-cpu-credits"&gt;Baseline Performance and CPU Credits&lt;/h4&gt;&#10;&lt;p&gt;A T-series instance gives you a baseline level of CPU performance, enough for everyday load. While your CPU usage stays below that baseline, the instance earns CPU credits. It spends those credits when demand goes up.&lt;/p&gt;</description></item><item><title>EC2 T Series Uncovered - Mastering Burstable Instances for Optimal Performance and Savings</title><link>https://www.cloudaid.net/blog/mastering-ec2-t-series-burstable-instances/</link><pubDate>Mon, 06 Nov 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/mastering-ec2-t-series-burstable-instances/</guid><description>&lt;p&gt;AWS burstable performance instances target workloads whose CPU use goes up and down. This post explains how they work and where they save you money.&lt;/p&gt;&#10;&lt;h4 id="understanding-workload-patterns"&gt;Understanding Workload Patterns&lt;/h4&gt;&#10;&lt;p&gt;Many general-purpose workloads sit at low average CPU with occasional spikes. On a fixed-performance instance, you pay for capacity that stays idle most of the day. The T instance family addresses this with a balance of compute, memory, and network resources at a lower price.&lt;/p&gt;</description></item><item><title>Understanding AWS EC2 Instance Types and Naming Conventions</title><link>https://www.cloudaid.net/blog/understanding-aws-ec2-instance-types-and-naming-conventions/</link><pubDate>Mon, 30 Oct 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/understanding-aws-ec2-instance-types-and-naming-conventions/</guid><description>&lt;p&gt;AWS offers dozens of Elastic Compute Cloud (EC2) instance types, grouped by compute, memory, storage, and other traits. Once you can read an instance name, you can tell most of what an instance offers before opening the spec sheet.&lt;/p&gt;&#10;&lt;h4 id="instance-type-naming-convention"&gt;Instance Type Naming Convention&lt;/h4&gt;&#10;&lt;p&gt;Each part of an instance name tells you something: the family, generation, processor family, additional capabilities, and size.&lt;/p&gt;&#10;&lt;p&gt;Take &amp;lsquo;c7gn.xlarge&amp;rsquo;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;h6 id="c"&gt;c:&lt;/h6&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Instance family (Compute optimized)&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;h6 id="7"&gt;7:&lt;/h6&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Instance generation&lt;/p&gt;</description></item><item><title>Simplifying Your AWS Migration | Expert Assistance for Small Businesses</title><link>https://www.cloudaid.net/blog/simplifying-aws-migration-expert-assistance-small-businesses/</link><pubDate>Fri, 20 Oct 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/simplifying-aws-migration-expert-assistance-small-businesses/</guid><description>&lt;p&gt;Many small businesses now run on the cloud, and Amazon Web Services (AWS) is one of the main platforms they choose. Moving your operations to AWS takes real work, though, and without experience it&amp;rsquo;s easy to get wrong. This guide covers what a migration involves and where expert help makes a difference, whether you&amp;rsquo;re in Toronto or anywhere else in Canada.&lt;/p&gt;&#10;&lt;h4 id="the-complexity-of-aws-migration"&gt;The Complexity of AWS Migration&lt;/h4&gt;&#10;&lt;p&gt;A migration touches a lot of moving parts: AWS services, security, networking, data transfer, and more. Each one takes time and has its own failure modes. If you skip the planning, you risk outages and broken systems in the middle of the move.&lt;/p&gt;</description></item><item><title>How SMBs Can Save on DevOps Engineer Salaries</title><link>https://www.cloudaid.net/blog/save-on-devops-salary-guide-for-smbs/</link><pubDate>Mon, 25 Sep 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/save-on-devops-salary-guide-for-smbs/</guid><description>&lt;p&gt;DevOps engineers are among the most expensive hires in tech. Companies want faster releases and steadier infrastructure, and the people who can deliver both know what they&amp;rsquo;re worth. Industry salary surveys show DevOps pay climbing steadily over the past few years.&lt;/p&gt;&#10;&lt;p&gt;For a small or medium-sized business (SMB), that salary can be hard to justify. Outsourcing gives you access to the same skills from a global talent pool at a lower cost, and it lets you compete with larger companies that can afford a full in-house team.&lt;/p&gt;</description></item><item><title>7 Common Mistakes to Avoid During Your AWS Migration Journey</title><link>https://www.cloudaid.net/blog/7-common-mistakes-avoid-aws-migration/</link><pubDate>Mon, 11 Sep 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/7-common-mistakes-avoid-aws-migration/</guid><description>&lt;p&gt;Moving to AWS can get you elastic capacity, lower costs, and faster deployments. It can also get you surprise bills, outages, and data exposure if you skip steps. A migration runs through planning, assessment, execution, and post-migration tuning, and each stage has its own ways to go wrong. These are the seven mistakes I see most often.&lt;/p&gt;&#10;&lt;h4 id="1-not-conducting-a-comprehensive-assessment-first"&gt;1. Not Conducting a Comprehensive Assessment First&lt;/h4&gt;&#10;&lt;p&gt;Start every migration with an assessment. Inventory your current infrastructure, map application dependencies, record performance baselines, and write down any compliance or security requirements. That gives you a map of where you are and a target for where you want to end up on AWS.&lt;/p&gt;</description></item><item><title>From Docker to AWS ECS, Transitioning and Scaling with Elastic Container Service</title><link>https://www.cloudaid.net/blog/docker-to-aws-ecs/</link><pubDate>Thu, 17 Aug 2023 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/docker-to-aws-ecs/</guid><description>&lt;p&gt;Docker makes containers easy to build and run. Managing dozens or hundreds of them by hand gets hard as you grow. Amazon Elastic Container Service (ECS) runs, scales, and manages Docker containers for you. This post covers the differences, the migration steps, and what ECS gives you once you&amp;rsquo;re on it.&lt;/p&gt;&#10;&lt;h5 id="understanding-the-basics-docker-vs-aws-ecs"&gt;Understanding the Basics: Docker vs. AWS ECS&lt;/h5&gt;&#10;&lt;h6 id="docker-the-building-block"&gt;Docker: The Building Block&lt;/h6&gt;&#10;&lt;p&gt;Docker packages an application and its dependencies into a single container, so it runs the same way in every environment. That ends most &amp;ldquo;it works on my machine&amp;rdquo; problems and makes deployments more predictable.&lt;/p&gt;</description></item><item><title>How to check file update on an S3 bucket and download latest version into the local folder</title><link>https://www.cloudaid.net/blog/bash-script-check-s3-file-and-update-local-folder/</link><pubDate>Tue, 18 Aug 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/bash-script-check-s3-file-and-update-local-folder/</guid><description>&lt;p&gt;1- Install the AWS CLI on your server.&lt;/p&gt;&#10;&lt;p&gt;2- Run &lt;code&gt;aws configure&lt;/code&gt; to add your AWS key and secret.&lt;/p&gt;&#10;&lt;p&gt;3- Run &lt;code&gt;aws s3 ls&lt;/code&gt; to confirm the CLI works and you can access your S3 bucket.&lt;/p&gt;&#10;&lt;p&gt;4- Save the code below into a bash script file:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aws s3 ls s3://MY-BUCKET &amp;gt; a.txt &lt;span class="c1"&gt;#get files list in S3 bucket&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;A&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;cat a.txt&lt;span class="p"&gt;|&lt;/span&gt; md5sum &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f1&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;#get md5 checksum for a.txt&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;B&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;cat b.txt&lt;span class="p"&gt;|&lt;/span&gt; md5sum &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f1&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;#get md5 checksum for b.txt&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="nv"&gt;$A&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nv"&gt;$B&lt;/span&gt; &lt;span class="o"&gt;]]&lt;/span&gt; &lt;span class="c1"&gt;#If A==B, which means they are equal&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;then&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Nothing to update =&amp;gt; &amp;#34;&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;date +&lt;span class="s2"&gt;&amp;#34;%d-%m-%Y-%H-%M-%S&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt; &amp;gt;&amp;gt; logs.txt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;We should update&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -rf b.txt &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -rf updatedPkg.zip&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; aws s3 cp s3://MY-BUCKET/updatedPkg.zip ./updatedPkg.zip &lt;span class="c1"&gt;#Copy new file from S3 to local&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cp a.txt b.txt &lt;span class="c1"&gt;# overwrite b.txt with a.txt content&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;last update =&amp;gt; &amp;#34;&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;date +&lt;span class="s2"&gt;&amp;#34;%d-%m-%Y-%H-%M-%S&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt; &amp;gt;&amp;gt; logs.txt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;5- Add the script to cron to run it on a schedule.&lt;/p&gt;</description></item><item><title>How to create Administrator user AWS</title><link>https://www.cloudaid.net/blog/how-to-create-administrator-user-aws/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/how-to-create-administrator-user-aws/</guid><description>&lt;p&gt;Using the root account for day-to-day work is risky. Create an administrator user instead:&lt;/p&gt;&#10;&lt;p&gt;1- Log in to your AWS account, search for IAM in the top menu, and click IAM.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.cloudaid.net/img/blog/how-to-create-administrator-user-AWS-000.webp" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;2- Click Users in the left menu.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.cloudaid.net/img/blog/how-to-create-administrator-user-AWS-100.webp" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;3- Enter a username and password, check “Password - AWS management console access”, then click “Next permission”.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.cloudaid.net/img/blog/how-to-create-administrator-user-AWS-101.webp" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;4- Choose “Attach existing policies directly” at the top, search for “admin” in the policy filter, check “AdministratorAccess”, then click “Next: Tags”.&lt;/p&gt;</description></item><item><title>How to find default Mysql password Bitnami image</title><link>https://www.cloudaid.net/blog/find-default-mysql-password-bitnami-wordpress/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/find-default-mysql-password-bitnami-wordpress/</guid><description>&lt;p&gt;Bitnami keeps the application credentials in a standalone file. You can read them at any time:&lt;/p&gt;&#10;&lt;p&gt;1- Connect to the server through SSH.&lt;/p&gt;&#10;&lt;p&gt;2- Print the credentials file:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo cat /home/bitnami/bitnami_credentials&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to remove PHPMyadmin from Apache Bitnami Wordpress</title><link>https://www.cloudaid.net/blog/how-to-remove-app-from-phpmyadmin-apache-bitnami/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/how-to-remove-app-from-phpmyadmin-apache-bitnami/</guid><description>&lt;p&gt;1- Connect to the server through SSH.&lt;/p&gt;&#10;&lt;p&gt;2- Remove this line from /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Include &lt;span class="s2"&gt;&amp;#34;/opt/bitnami/apps/phpmyadmin/conf/httpd-prefix.conf&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3- Restart Apache:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sudo /opt/bitnami/ctlscript.sh restart apache&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to restart services Bitnami Wordpress</title><link>https://www.cloudaid.net/blog/how-to-restart-services-bitnami-wordpress/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/how-to-restart-services-bitnami-wordpress/</guid><description>&lt;p&gt;Restart Apache:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh restart apache&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Apache service status:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh status apache&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Stop Apache:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh stop apache&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Start Apache:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh start apache&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restart MySQL:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh restart mysql&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;MySQL service status:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh status mysql&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Stop MySQL:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh stop mysql&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Start MySQL:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh start mysql&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restart php-fpm:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh restart php-fpm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;php-fpm service status:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh status php-fpm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Stop php-fpm:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bitnami/ctlscript.sh stop php-fpm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Start php-fpm:&lt;/p&gt;</description></item><item><title>How to run Wordpress &amp; Mysql with docker-compose and custom php.ini</title><link>https://www.cloudaid.net/blog/docker-compose-wordpress-mysql-with-php-config/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/docker-compose-wordpress-mysql-with-php-config/</guid><description>&lt;p&gt;1- Save this as docker-compose.yml:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;3.3&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;db&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mysql:5.7&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;${PWD}/db_data:/var/lib/mysql&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;always&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;MYSQL_ROOT_PASSWORD&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;somewordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;MYSQL_DATABASE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;MYSQL_USER&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;MYSQL_PASSWORD&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;wordpress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;depends_on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;db&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress:latest&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;${PWD}/wordpress_data:/var/www/html&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;./php.ini:/usr/local/etc/php/conf.d/conf.ini&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;8000:80&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;always&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;WORDPRESS_DB_HOST&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;db&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;WORDPRESS_DB_USER&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;WORDPRESS_DB_PASSWORD&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;WORDPRESS_DB_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;wordpress&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;db_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{}&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;wordpress_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{}&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2- Save this as php.ini in the same directory:&lt;/p&gt;</description></item><item><title>How to setup Route53, CloudFront, S3 bucket for Static Website hosted on S3</title><link>https://www.cloudaid.net/blog/how-to-setup-route53-cloudfront-s3-for-static-website-aws/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/how-to-setup-route53-cloudfront-s3-for-static-website-aws/</guid><description>&lt;p&gt;1- Create your S3 bucket and upload your website content. The article linked below has more detail. Name the bucket after your domain:&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://www.domain.com"&gt;www.domain.com&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Replace domain.com with your domain name.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.cloudaid.net/blog/permission-s3-bucket-static-website/"&gt;Permissions for static website on S3 bucket&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;2- Create a CloudFront distribution with the S3 bucket above as its origin. After it deploys, check that your website loads from the CloudFront URL, which looks like this:&lt;/p&gt;&#10;&lt;p&gt;fsdafsdf43f3f3f3.cloudfront.net&lt;/p&gt;&#10;&lt;p&gt;3- Create a certificate for your domain in ACM and choose DNS validation. For the domain names, enter:&lt;/p&gt;</description></item><item><title>How to share files between steps on Bitbucket pipeline</title><link>https://www.cloudaid.net/blog/how-share-files-between-steps-bitbucket-pipeline/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/how-share-files-between-steps-bitbucket-pipeline/</guid><description>&lt;p&gt;List files under &lt;code&gt;artifacts&lt;/code&gt; in a step and Bitbucket copies them into the steps that follow. This pipeline builds &lt;code&gt;dist&lt;/code&gt;, zips it, then uploads the zip to S3.&lt;/p&gt;&#10;&lt;h2 id="bitbucket-pipelinesyml"&gt;bitbucket-pipelines.yml&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;node:16&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;pipelines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;echo &amp;#34;Building files&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;yarn &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;yarn build ./dist&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;artifacts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;dist &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# means need to save dist folder and copy to next step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;dist/** &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# means need to save dist folder and copy to next step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Use files from previous step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;atlassian/default-image:3&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;zip -r file.zip dist&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;artifacts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;file.zip &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# means need to save file.zip folder and copy to next step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Upload file to S3&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;atlassian/pipelines-awscli&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;aws s3 cp file.zip s3://mys3-bucket/&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;div class="cta-banner"&gt;&#10; &lt;p&gt;Need expert advice? Schedule your AWS consultation today!&lt;/p&gt;&#10; &lt;a class="btn-primary" href="https://buy.stripe.com/7sI3eadig5zF1Fu3ch" style="display: inline-flex; align-items: center; min-height: 52px; padding: 0 24px; border-radius: 8px; background: #1D4ED8; color: #FFFFFF; font-weight: 600; font-size: 16px"&gt;Schedule now&lt;/a&gt;&#10;&lt;/div&gt;</description></item><item><title>How upload built file to S3 bucket in Bitbucket pipeline</title><link>https://www.cloudaid.net/blog/bitbucket-pipeline-upload-to-aws-s3/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/bitbucket-pipeline-upload-to-aws-s3/</guid><description>&lt;p&gt;1- Create a &lt;code&gt;bitbucket-pipelines.yml&lt;/code&gt; file in your Bitbucket repo.&lt;/p&gt;&#10;&lt;p&gt;2- Add this configuration:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;node:16&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;pipelines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build App&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;echo &amp;#34;Building App&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;yarn &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;yarn build&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;artifacts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;build &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;#Move build folder to next step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;build/**&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Zip build folder&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;atlassian/default-image:3&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;zip -r pkg.zip ./build&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;artifacts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;pkg.zip &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;#Move pkg.zip to next step&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;step&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Upload to S3&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;deployment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;staging&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;atlassian/pipelines-awscli&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;node&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;aws s3 cp pkg.zip s3://MY-BUCKET/ &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;#Copy pkg.zip to S3 bucket&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3- Go to Settings =&amp;gt; Deployments =&amp;gt; Staging and add your AWS credentials as secured variables:&lt;/p&gt;</description></item><item><title>Permissions for static website on S3 bucket</title><link>https://www.cloudaid.net/blog/permission-s3-bucket-static-website/</link><pubDate>Sat, 18 Jul 2020 10:07:21 +0600</pubDate><guid>https://www.cloudaid.net/blog/permission-s3-bucket-static-website/</guid><description>&lt;p&gt;1- Open your S3 bucket and choose the Permissions tab.&lt;/p&gt;&#10;&lt;p&gt;2- Under Block public access (bucket settings), choose Edit.&lt;/p&gt;&#10;&lt;p&gt;3- Clear Block all public access and choose Save changes.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.cloudaid.net/img/blog/edit-public-access-clear-s3-bucket-website.webp" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;4- Choose the Permissions tab.&lt;/p&gt;&#10;&lt;p&gt;5- Under Bucket Policy, choose Edit.&lt;/p&gt;&#10;&lt;p&gt;6- To grant public read access to your website, paste this policy into the Bucket policy editor:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2012-10-17&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Statement&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Sid&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PublicReadGetObject&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Effect&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Allow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Principal&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Action&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;s3:GetObject&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Resource&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;arn:aws:s3:::Bucket-Name/*&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;7- Replace &amp;ldquo;Bucket-Name&amp;rdquo; in &lt;code&gt;&amp;quot;arn:aws:s3:::Bucket-Name/*&amp;quot;&lt;/code&gt; with your bucket name.&lt;/p&gt;</description></item></channel></rss>