# mini lab : Cloud Storage : 1 (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-01-3a0f3f7313e1-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

%[https://youtu.be/SNA_geKcqSk] 

```apache
curl -LO raw.githubusercontent.com/ePlus-DEV/storage/refs/heads/main/labs/mini%20lab%20:%20Cloud%20Storage%20:%201/lab.sh
source lab.sh
```

**Script Alternative**

```apache
export PROJECT=$(gcloud projects list --format="value(PROJECT_ID)")

gcloud storage buckets update gs://$PROJECT-bucket --no-uniform-bucket-level-access

gcloud storage buckets update gs://$PROJECT-bucket --web-main-page-suffix=index.html --web-error-page=error.html

gcloud storage objects update gs://$PROJECT-bucket/index.html --add-acl-grant=entity=AllUsers,role=READER

gcloud storage objects update gs://$PROJECT-bucket/error.html --add-acl-grant=entity=AllUsers,role=READER
```
