在 Azure 上建立一台 Ubuntu 主機,安裝 apache 和 PHP 8.1 順便 啟用 SSL 第一篇

更新於 發佈於 閱讀時間約 13 分鐘
raw-image

先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。

另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。

建立主機

登入 Azure 後 【建立資源】,我選擇 Ubuntu Server 22.04 LTS。LTS 是 長期支援 的意思,通常有五年的支援期,五年後就...不知道..了。

raw-image

選擇 Ubuntu Server 22.04 LTS,點選 【建立】

raw-image

在 基本 這個畫面中,就照您的需求設定囉,大致設定狀況如下:
提醒: 在下方 "驗證類型" 的地方,我個人習慣使用密碼(您自己決定),如果您也使用 密碼,那麼,帳號和密碼要記錄好喔! 不然建好主機後無法登入就慘了。

啊! 大小 那個欄位也要注意一下,如果只是裝好玩,並沒有近期立刻要上線,可以選選便宜或免費的主機來裝。

raw-image

磁碟設定的畫面,直接往下看到 【建立並連結新的磁碟】

raw-image

在 建立新磁碟 畫面中,選【變更大小】選擇適合的大小(選擇的畫面就不抓圖了)。

raw-image

接下來就是 下一步 網路,特別提一下,如果您這台主機不是獨立的主機(比如說它的 MySQL 在另一台主機,或需要與其他主機做內部的資訊交換),那麼就要特別選取之前已經存在的,可以和其他主機連線的現存 "虛擬網路",不然就直接建新的就好。

raw-image

後面步驟的 管理、監視、進階、標籤 這幾個步驟都可以直接略過,我個人不懂那些部分請原諒,直接執行畫面下方的【檢閱 + 建立】就好。

raw-image

後面的畫面會讓您整個再看一次,您對這主機之前設定。這裡就不引用畫面了,您確認設定後,按下方的【建立】後,Azure 便會開始建立主機的工作。喝口水,休息一下,等它佈署完吧!

raw-image

記下主機必要資訊

在機器佈署完成後,有件重要的事要進行,就是記下主機必要的資訊。直接點畫面中的【前往資源】

raw-image

我們要記下的是 主機 的 公用 IP 位址,以便之後連線使用。

raw-image

我建議您建立一個小小的紀錄文件,把帳號、密碼、公用 IP 位址~ 藏好上鎖之類的(放雲端...),不要相信頭腦一定會記得住喔!

進行 SSH 連線

抱歉,我向來只用 Windows 系統,所以用 Windows 示範喔,若您是使用其他作業系統﹑請自行尋找使用 SSH 連線的方法。

執行 Windows 內的 "命令提示字元"(如果不知道在哪裡,您可以從 開始 -> 打入 cmd 進行搜尋。)

raw-image

執行出來後,鍵入如下指令: ssh 帳號@主機公用 IP ( 自己做相對應修改喔,我示範用帳號是 jasonadmin ),然後按 [Enter]

ssh jasonadmin@000.000.000.000

接下來請看畫面示範~

raw-image

當您在 指令視窗 打入正確的連線指令 ssh jasonadmin@000.000.000.000 後,由於是第一次連線,會讓您在確認一次是否要連線,於是打入 yes。然後它會問您主機的密碼。在打密碼時,您輸入的字元是看不見的,所以,我建議您,直接把密碼直接打在 記事本 中,然後 Ctrl + C 複製到剪貼簿,切換回 "命令提示字元" 視窗,然後滑鼠直接在視窗上,點選滑鼠右鍵,此時密碼會被貼近 "命令提示字元" 視窗中,但是畫面上看不出來喔! 直接再按 [Enter] 鍵,便可以登入了。

如果有登入成功,就會看到類似下面的指令等待模式畫面,這樣就登入成功囉。

raw-image

接下來第一組指令就是更新主機。直接複製指令貼到 "命令提示字元" 視窗中,按下 [Enter] 執行就好。它可能會跑一堆字出來,別怕,英文簡單看一下... 通常回答 y 或 yes 就好。

sudo apt-get update

一個一個指令來

sudo apt-get upgrade
raw-image

安裝 Apache2 網頁伺服器

以下指令若有多行放在一起,請一行一行來執行喔,比較能清楚安裝的狀況,不要一次給它貼上去。另外,開頭為 # 字元的,那是備註,不用 Copy 去執行。

sudo apt-get install apache2

執行完上述指令,過程中需要按 Y,然後等待一下,Apache 應該就安裝好囉,我們來檢查一下。

# 檢查 Apache 版本
apachectl -v
# 或者使用下列指令檢查執行狀態
sudo systemctl status apache2

這兩個指令執行結果略有不同,如下參考:

raw-image

網頁伺服器裝好了,您會想連線看看嗎? 等下就來試試吧!

主機 SSH 通訊安全 與 網站 Port 開放設定

在安裝的後續步驟進行前,我們先回到 Azure 來進行一些設定。請進入到 Azure,該主機的 網路 設定項目。

我們先把 SSH Port 22 保護起來,不過,以下的設定要配合您所在位置有 固定 IP 才能設定,如果您所在位置使用的網路非固定 IP,請跳過此 Port 22 的設定。

raw-image

設定方式為,找到 "網路" 內的 "輸入連接埠規則" 找到 SSH,直接在該行資料上點兩下,會出現一個設定視窗。改一下 "來源","來源 IP ..."寫入允許的 IP (如果有合作廠商要連線,廠商的 IP 要記得寫喔),然後儲存即可!

raw-image

如果您沒有固定 IP 又想要讓 SSH 連線能夠安全,應該是有其他辦法的(如 Azure VPN 之類的),可能要網路上搜尋一下喔。這裡我暫時幫不上忙,我目前只會這種方法。

接著,開放 Port 80 和 443 以便 使用者 可以連線網站。操作方法先按【新增輸入連接埠規則】

raw-image

在設定畫面,原則上只要設定 目的地連接埠範圍(80一個,443一個),通訊協定(TCP),優先順序(畫面沒抓到,在下面一點,注意不要與其他重複就好,也不要設太大呀! 不要大於 65000)

raw-image

然後~然後這一段是額外補充,如果您的網站會使用 gmail 寄信的話,"輸出連接埠規則" 那邊,要允許 TCP 的 587 可以通喔!

raw-image

●測試網站是否有通

來試一下網站是否有通吧! 現在用瀏覽器直接打主機的 IP http://xxx.xxx.xxx.xxx,如能看到類似如下畫面,便是成功了。

raw-image

安裝PHP 8.1(如果需要其他版本也可以)

這...先再執行一次主機的更新看看。

sudo apt-get update
sudo apt-get upgrade

接下來這兩個指令功能不明,應該有其特定功能,只是...我不記得了

sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

上面是一條指令喔,畫面上可能不是很完整。整個是 sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

執行好後執行下面這個

sudo add-apt-repository ppa:ondrej/php

執行上一行的過程,會需要按 [Enter]

然後再執行一次主機的更新~這是必要的,會再安裝一些東西。

sudo apt-get update
sudo apt-get upgrade

出現神奇畫面了! 它提示您有些 Service 需要重新啟動,您看到的畫面可能不盡相同,使用 [Tab] 鍵可以切換選項,把選項切到下方的 [OK] 鍵後,按[Enter] 即可。

raw-image

接下來~ 認真要裝 PHP 8.1 囉,如果您要裝其它的版本,把 8.1 換成其他的版本號碼便可(我裝過 7.4 版的)。

sudo apt install php8.1

回答 Y,然後等待完成~這次一樣把游標用 [Tab] 跳到 OK 處按 [Enter]。

raw-image

那麼,現在來看一下安裝後 PHP 的版本

php -v
raw-image

恩! 裝的是 8.1.20~ OK!

安裝 PHP 程式開發者常用套件

我直接列出指令,這指令中就能看出安裝那些套件了。注意,若您 PHP 不是安裝 8.1 的,要把指令中的 8.1 換成別的版本號碼喔。

# sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl

sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl

回答 Y,然後等待完成~一樣把游標用 [Tab] 跳到 OK 處按 [Enter] (您看到的畫面或許會不同喔)。

raw-image

●FTP 連線主機設定

接下來~我們想放個程式去測試一下網站的情況,該如何處理呢? 當然是用 FTP 軟體把程式放上去看看囉!

我用的 FTP 軟體是 filezilla client,以下分享設定畫面(其它自己來喔)。

raw-image

第一次連接會有詢問是否信任該主機,把下方的總是信任打勾就好。

raw-image

然後,您連線進去主機後,就可以看到主機上的資料夾了,這時,資料夾應該是您預設的帳號名稱,為了方便之後的說明,我就把帳號取名成 jasonadmin 好了。

raw-image

有了 FTP 以後,我們就可以把檔案傳上主機,看看執行的成果如何囉!

●建立 phpinfo.php 上傳測試

熟 Linux 的人可以直接用指令視窗執行建立啦,但我們不懂 Linux 那麼,在 Windows 建立好 FTP 上去就好了,建立的方式就是用記事本囉。

在這之前,如果您真的是新手小白,記得把 Windows 副檔名打開,phpinfo 的副檔名必須是 .php 否則主機上無法執行喔。

檔案的內容只有三行,打好,存檔,備用。

<?php
phpinfo();
?>
raw-image

我個人習慣~ 每建立一台主機,我就會在電腦上建一個資料夾來放那台主機的東西,最好,那個資料夾還能同步到雲端備份。因此我那個 phpinfo.php 就會放在我自己電腦上那個主機名稱的資料夾內,稍後來上傳到主機上。

建好 phpinfo.php 後,準備上傳,此時,我們會遇到一個資料夾權限問題。

●調整 /var/www/html 的權限

我們的程式目前必須要放在主機上的 /var/www/html 資料夾下,才執行得到,如果您直接試著把phpinfo.php 上傳到該資料夾,您會發現,它程式閃一下,然後就不見了,那是因為我們登入的帳號 jasonadmin 並沒有 /var/www/html 寫入的權限~ 所以... 注意! 以下的解決方式並非是最洽當的解決方式(可能會有安全問題,如果大家有更好的方式可以回應給我。),只是我目前能處理的方式而已。

我的解決方式如下,記得下列指令中 jasonadmin 要改成您的帳號 :

# 先給予群組寫入 /var/www/html 權限
sudo chmod g+w -R /var/www/html
# 把 syinluadmin 加入 root 群組(可能有風險?)
sudo usermod --gid root jasonadmin

這樣一來,檔案就能複製進去囉!

raw-image

這時候,各位觀眾,使用主機的 IP Address 加斜線 phpinfo.php 應該~就能連線到程式囉,如: http://xxx.xxx.xxx.xx/phpinfo.php

會出現如下畫面:

raw-image

【啊! 注意! 若這個主機會正式使用, phpinfo.php 要在開站前殺掉,以免洩漏主機的一些訊息。】

嗯! 第一篇就先寫到這邊吧!


留言
avatar-img
留言分享你的想法!
avatar-img
多元人生記事錄
37會員
97內容數
然而,這個世界是多元性的,人生也是。
多元人生記事錄的其他內容
2025/04/10
答案是: 可以的! 先看心智圖:(由 Felo 產生) 好的,實際做法如下:
Thumbnail
2025/04/10
答案是: 可以的! 先看心智圖:(由 Felo 產生) 好的,實際做法如下:
Thumbnail
2025/03/28
上一篇文章提到我問了四個 AI 工具同一個問題,後來我用 Gemini 的版本,修改了自己的版本,也花了不少時間,後來,要把信寄給同仁時,想說...也應該附上個 Word 檔,讓各中心可以紀錄一下中心內的這些資訊,列入移交。 正要打開 word,突然...懶病發作,AI可以幫忙產生Word嗎?
Thumbnail
2025/03/28
上一篇文章提到我問了四個 AI 工具同一個問題,後來我用 Gemini 的版本,修改了自己的版本,也花了不少時間,後來,要把信寄給同仁時,想說...也應該附上個 Word 檔,讓各中心可以紀錄一下中心內的這些資訊,列入移交。 正要打開 word,突然...懶病發作,AI可以幫忙產生Word嗎?
Thumbnail
2025/03/26
我打算寫封信,提醒所屬組織內中心單位的主任們,要好好地保存某些重要設備的帳號密碼... 打算,寫一份短文,向大家說明這些東西是啥...由於懶得打太多字,乾脆叫 AI 先寫,我再改就好... 於是我問了 AI... 能解釋一下以下這六點是什麼嗎?
Thumbnail
2025/03/26
我打算寫封信,提醒所屬組織內中心單位的主任們,要好好地保存某些重要設備的帳號密碼... 打算,寫一份短文,向大家說明這些東西是啥...由於懶得打太多字,乾脆叫 AI 先寫,我再改就好... 於是我問了 AI... 能解釋一下以下這六點是什麼嗎?
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
這篇文章紀錄了安裝Ubuntu Server的過程,包括選擇HWE內核、語言、更新安裝程式、語系、儲存配置等步驟。
Thumbnail
這篇文章紀錄了安裝Ubuntu Server的過程,包括選擇HWE內核、語言、更新安裝程式、語系、儲存配置等步驟。
Thumbnail
本文教授如何安裝Ubuntu伺服器,建議選擇偶數版本如22.04, 20.04, 18.04等LTS版本以獲得穩定的未來性支撐。
Thumbnail
本文教授如何安裝Ubuntu伺服器,建議選擇偶數版本如22.04, 20.04, 18.04等LTS版本以獲得穩定的未來性支撐。
Thumbnail
「我只有 Windows 電腦也可以操作 Linux 指令嗎?」 「想試試看其他作業系統,需要移除作業系統再重灌嗎?」 「想了解虛擬化,快來試試看 VirtualBox」 今天就來實作 VirtualBox 安裝 Linux ubuntu 作業系統吧!
Thumbnail
「我只有 Windows 電腦也可以操作 Linux 指令嗎?」 「想試試看其他作業系統,需要移除作業系統再重灌嗎?」 「想了解虛擬化,快來試試看 VirtualBox」 今天就來實作 VirtualBox 安裝 Linux ubuntu 作業系統吧!
Thumbnail
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。 本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。 首先需要準備的軟體有 有沒有比較好或是其他區別,在這邊不做討論。
Thumbnail
本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。 本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。 首先需要準備的軟體有 有沒有比較好或是其他區別,在這邊不做討論。
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
首先要先去Google Cloud Platform申請一個帳號,愉快的點下啟用
Thumbnail
首先要先去Google Cloud Platform申請一個帳號,愉快的點下啟用
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News