Configure Cloud Storage Bucket for Website Hosting using gsutil (Solution)

Configure Cloud Storage Bucket for Website Hosting using gsutil (Solution)

Overview

  • Labs are timed and cannot be paused. The timer starts when you click Start Lab.

  • The included cloud terminal is preconfigured with the gcloud SDK.

  • Use the terminal to execute commands and then click Check my progress to verify your work.

Challenge scenario

  • You have an existing Cloud Storage bucket named qwiklabs-gcp-00-8809a1bbfbd0-bucket that contains the following files necessary for a simple static website:

    • index.html (The main landing page)

    • error.html (Custom error page)

    • style.css

    • logo.jpg

  • Currently, the bucket is not configured for website hosting. Your task is to update the configuration to make this website publicly accessible.

  • As of now, there is no need to create a load balancer or CDN to redirect the request to the cloud storage bucket.

Click Check my progress to verify the objective.

Configure a bucket for website hosting


Solution of Lab

curl -LO raw.githubusercontent.com/ePlus-DEV/storage/refs/heads/main/labs/configure-cloud-storage-bucket-for-website-hosting-using-gsutil-solution/lab.sh
source lab.sh

Script Alternative

export BUCKET="$(gsutil ls -b | head -n 1 | sed 's#gs://##; s#/*$##')"
gsutil web set -m index.html -e error.html gs://$BUCKET
gsutil uniformbucketlevelaccess set off gs://$BUCKET
gsutil defacl set public-read gs://$BUCKET
gsutil acl set -a public-read gs://$BUCKET/index.html
gsutil acl set -a public-read gs://$BUCKET/error.html
gsutil acl set -a public-read gs://$BUCKET/style.css
gsutil acl set -a public-read gs://$BUCKET/logo.jpg