目標

自動化部署網站(下載 → 解壓縮 → 複製到 Web 目錄 → 啟動 Apache)。


腳本名稱

web-setup.sh


腳本內容(附註解)

#!/bin/bash

# Installing Dependencies
echo "########################################"
echo "Installing packages."
echo "########################################"
sudo yum install wget unzip httpd -y > /dev/null
echo

# Start & Enable Service
echo "########################################"
echo "Start & Enable HTTPD Service"
echo "########################################"
sudo systemctl start httpd
sudo systemctl enable httpd
echo

# Creating Temp Directory
echo "########################################"
echo "Starting Artifact Deployment"
echo "########################################"
mkdir -p /tmp/webfiles
cd /tmp/webfiles
echo

wget <https://www.tooplate.com/zip-templates/2098_health.zip> > /dev/null
unzip 2098_health.zip > /dev/null
sudo cp -r 2098_health/* /var/www/html/
echo

# Bounce Service
echo "########################################"
echo "Restarting HTTPD service"
echo "########################################"
systemctl restart httpd
echo

# Clean Up
echo "########################################"
echo "Removing Temporary Files"
echo "########################################"
rm -rf /tmp/webfiles
echo

sudo systemctl status httpd
ls /var/www/html/

image.png

image.png

image.png


腳本說明

  1. Shebang (#!/bin/bash)

    指定由 Bash 解譯腳本內容。

  2. yum install

    > /dev/null 代表把標準輸出丟掉,保留錯誤訊息在終端機顯示。

  3. mkdir -p

    若目錄存在不會報錯,適合自動化腳本。

  4. wget + unzip

    用來下載與解壓網站模板。

  5. cp -r

    將解壓的網站內容複製到 Apache 網頁根目錄。

  6. systemctl start/enable

    啟動 httpd 並設定開機自啟動。

  7. rm -rf /tmp/webfiles

    清理暫存檔案。