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

閱讀時間約 12 分鐘
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。
另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。

建立主機

登入 Azure 後 【建立資源】,我選擇 Ubuntu Server 22.04 LTS。LTS 是 長期支援 的意思,通常有五年的支援期,五年後就...不知道..了。
選擇 Ubuntu Server 22.04 LTS
選擇 Ubuntu Server 22.04 LTS,點選 【建立】
在 基本 這個畫面中,就照您的需求設定囉,大致設定狀況如下:
提醒: 在下方 "驗證類型" 的地方,我個人習慣使用密碼(您自己決定),如果您也使用 密碼,那麼,帳號和密碼要記錄好喔! 不然建好主機後無法登入就慘了。
啊! 大小 那個欄位也要注意一下,如果只是裝好玩,並沒有近期立刻要上線,可以選選便宜或免費的主機來裝。
磁碟設定的畫面,直接往下看到 【建立並連結新的磁碟】
在 建立新磁碟 畫面中,選【變更大小】選擇適合的大小(選擇的畫面就不抓圖了)。
接下來就是 下一步 網路,特別提一下,如果您這台主機不是獨立的主機(比如說它的 MySQL 在另一台主機,或需要與其他主機做內部的資訊交換),那麼就要特別選取之前已經存在的,可以和其他主機連線的現存 "虛擬網路",不然就直接建新的就好。
後面步驟的 管理、監視、進階、標籤 這幾個步驟都可以直接略過,我個人不懂那些部分請原諒,直接執行畫面下方的【檢閱 + 建立】就好。
後面的畫面會讓您整個再看一次,您對這主機之前設定。這裡就不引用畫面了,您確認設定後,按下方的【建立】後,Azure 便會開始建立主機的工作。喝口水,休息一下,等它佈署完吧!

記下主機必要資訊

在機器佈署完成後,有件重要的事要進行,就是記下主機必要的資訊。直接點畫面中的【前往資源】
我們要記下的是 主機 的 公用 IP 位址,以便之後連線使用。
我建議您建立一個小小的紀錄文件,把帳號、密碼、公用 IP 位址~ 藏好上鎖之類的(放雲端...),不要相信頭腦一定會記得住喔!

進行 SSH 連線

抱歉,我向來只用 Windows 系統,所以用 Windows 示範喔,若您是使用其他作業系統﹑請自行尋找使用 SSH 連線的方法。
執行 Windows 內的 "命令提示字元"(如果不知道在哪裡,您可以從 開始 -> 打入 cmd 進行搜尋。)
執行出來後,鍵入如下指令: ssh 帳號@主機公用 IP ( 自己做相對應修改喔,我示範用帳號是 jasonadmin ),然後按 [Enter]
ssh jasonadmin@000.000.000.000
接下來請看畫面示範~
當您在 指令視窗 打入正確的連線指令 ssh jasonadmin@000.000.000.000 後,由於是第一次連線,會讓您在確認一次是否要連線,於是打入 yes。然後它會問您主機的密碼。在打密碼時,您輸入的字元是看不見的,所以,我建議您,直接把密碼直接打在 記事本 中,然後 Ctrl + C 複製到剪貼簿,切換回 "命令提示字元" 視窗,然後滑鼠直接在視窗上,點選滑鼠右鍵,此時密碼會被貼近 "命令提示字元" 視窗中,但是畫面上看不出來喔! 直接再按 [Enter] 鍵,便可以登入了。
如果有登入成功,就會看到類似下面的指令等待模式畫面,這樣就登入成功囉。
接下來第一組指令就是更新主機。直接複製指令貼到 "命令提示字元" 視窗中,按下 [Enter] 執行就好。它可能會跑一堆字出來,別怕,英文簡單看一下... 通常回答 y 或 yes 就好。
sudo apt-get update
一個一個指令來
sudo apt-get upgrade

安裝 Apache2 網頁伺服器

以下指令若有多行放在一起,請一行一行來執行喔,比較能清楚安裝的狀況,不要一次給它貼上去。另外,開頭為 # 字元的,那是備註,不用 Copy 去執行。
sudo apt-get install apache2
執行完上述指令,過程中需要按 Y,然後等待一下,Apache 應該就安裝好囉,我們來檢查一下。
# 檢查 Apache 版本
apachectl -v
# 或者使用下列指令檢查執行狀態
sudo systemctl status apache2
這兩個指令執行結果略有不同,如下參考:
網頁伺服器裝好了,您會想連線看看嗎? 等下就來試試吧!

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

在安裝的後續步驟進行前,我們先回到 Azure 來進行一些設定。請進入到 Azure,該主機的 網路 設定項目。
我們先把 SSH Port 22 保護起來,不過,以下的設定要配合您所在位置有 固定 IP 才能設定,如果您所在位置使用的網路非固定 IP,請跳過此 Port 22 的設定。
設定方式為,找到 "網路" 內的 "輸入連接埠規則" 找到 SSH,直接在該行資料上點兩下,會出現一個設定視窗。改一下 "來源","來源 IP ..."寫入允許的 IP (如果有合作廠商要連線,廠商的 IP 要記得寫喔),然後儲存即可!
如果您沒有固定 IP 又想要讓 SSH 連線能夠安全,應該是有其他辦法的(如 Azure VPN 之類的),可能要網路上搜尋一下喔。這裡我暫時幫不上忙,我目前只會這種方法。
接著,開放 Port 80 和 443 以便 使用者 可以連線網站。操作方法先按【新增輸入連接埠規則】
在設定畫面,原則上只要設定 目的地連接埠範圍(80一個,443一個),通訊協定(TCP),優先順序(畫面沒抓到,在下面一點,注意不要與其他重複就好,也不要設太大呀! 不要大於 65000)
然後~然後這一段是額外補充,如果您的網站會使用 gmail 寄信的話,"輸出連接埠規則" 那邊,要允許 TCP 的 587 可以通喔!

●測試網站是否有通

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

安裝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] 即可。
接下來~ 認真要裝 PHP 8.1 囉,如果您要裝其它的版本,把 8.1 換成其他的版本號碼便可(我裝過 7.4 版的)。
sudo apt install php8.1
回答 Y,然後等待完成~這次一樣把游標用 [Tab] 跳到 OK 處按 [Enter]。
那麼,現在來看一下安裝後 PHP 的版本
php -v
恩! 裝的是 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] (您看到的畫面或許會不同喔)。

●FTP 連線主機設定

接下來~我們想放個程式去測試一下網站的情況,該如何處理呢? 當然是用 FTP 軟體把程式放上去看看囉!
我用的 FTP 軟體是 filezilla client,以下分享設定畫面(其它自己來喔)。
第一次連接會有詢問是否信任該主機,把下方的總是信任打勾就好。
然後,您連線進去主機後,就可以看到主機上的資料夾了,這時,資料夾應該是您預設的帳號名稱,為了方便之後的說明,我就把帳號取名成 jasonadmin 好了。
有了 FTP 以後,我們就可以把檔案傳上主機,看看執行的成果如何囉!

●建立 phpinfo.php 上傳測試

熟 Linux 的人可以直接用指令視窗執行建立啦,但我們不懂 Linux 那麼,在 Windows 建立好 FTP 上去就好了,建立的方式就是用記事本囉。
在這之前,如果您真的是新手小白,記得把 Windows 副檔名打開,phpinfo 的副檔名必須是 .php 否則主機上無法執行喔。
檔案的內容只有三行,打好,存檔,備用。
<?php
phpinfo();
?>
我個人習慣~ 每建立一台主機,我就會在電腦上建一個資料夾來放那台主機的東西,最好,那個資料夾還能同步到雲端備份。因此我那個 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
這樣一來,檔案就能複製進去囉!
這時候,各位觀眾,使用主機的 IP Address 加斜線 phpinfo.php 應該~就能連線到程式囉,如: http://xxx.xxx.xxx.xx/phpinfo.php
會出現如下畫面:
【啊! 注意! 若這個主機會正式使用, phpinfo.php 要在開站前殺掉,以免洩漏主機的一些訊息。】
嗯! 第一篇就先寫到這邊吧!
為什麼會看到廣告
avatar-img
34會員
88內容數
然而,這個世界是多元性的,人生也是。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
多元人生記事錄 的其他內容
公司同仁說:「我並沒有發信,但某同仁卻收到我的信,這...」 我心中一驚,莫非... 我擔心的是該同仁信箱(帳號)密碼是否外洩,或被人入侵... 若外洩或被入侵,問題是有點大,我來追蹤一下那封信的狀況好了,看看能否看出什麼蛛絲馬跡。
公司同仁說:「我並沒有發信,但某同仁卻收到我的信,這...」 我心中一驚,莫非... 我擔心的是該同仁信箱(帳號)密碼是否外洩,或被人入侵... 若外洩或被入侵,問題是有點大,我來追蹤一下那封信的狀況好了,看看能否看出什麼蛛絲馬跡。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這篇分享希望能讓你了解 Microsoft Azure Associate(AZ-104)考試時間、題數與 形式,希望可以給予正在準備的你一些幫助 本篇會從三個面向來分享: 1. 考試範圍與流程 2. 我是如何自學與準備 3. 給正在準備的你一些建議
Thumbnail
這篇分享希望能讓你了解 一個朝九晚九、工作與雲端甚少相關的普通上班族,如何在40小時內自學考取Microsoft Azure Fundamentals(AZ-900),若你和我一樣,這篇心得或許能夠幫助你少走一點冤枉 路~ 本篇會從四個面向來分享: 1. 為何需要考取AZ-900 2. 考試範圍與
Thumbnail
對數位遊牧的人來說網路分享的能源消耗在移動過程中是個需要留意的問題,自從換了 M1 的 Mac 之後,雖然電腦的續航力大增,但是因為沒辦法再使用 Android 手機進行網路分享,反而讓手機電力變成瓶頸,而且 wifi 基地台分享的方式產生的熱相當高,對手機也會有比較大的傷害
Thumbnail
經歷了幾輪漲漲跌跌,澳洲葡萄酒在2015年下半年開始走回了上升的軌道,可惜在2020年的幾波大事件後,可能短期又會陷入困境,經過體質重新改造的澳洲葡萄酒產業,能否撐過這個短期風波,就只能靜待時間來證明了
Thumbnail
主持:廖敏如(二信高中輔導主任暨PBL社團指導教師) 主講:二信高中PBL社團成員、蔡伯鑫 日期:2020/12/11(五)14:00-17:00 地點:基隆,二信高中 ▍我的後記高中生可以有什麼不一樣的學習方式?一本小說可以創造出什麼樣新的對話與連結?昨天我前往基隆二信高中,參與了一整個下午的…
Thumbnail
Note: 本筆記使用的是Windows 10作業系統 1. 下載並安裝WAMP或XAMPP等等 本文是使用wamp,這邊略過安裝教學。 2. 下載並安裝Composer 至官網下載Composer windows installer,到這一步驟時,選擇PHP版本位置: ...
Thumbnail
一個人獨自坐在客運上時,身邊全是三三兩兩出遊的陌生人,看著夜色,卻也生出了荒謬之感。那時想著,哇〜所以我也是要去交換了呢!一直到這時才有感覺的我也不知道是否算是反應遲鈍,但是只是照常的出發、照常的搭上客運,而這次的目的地卻不是家鄉嘉義,而是機場、而是遙遠的芬蘭。
在這次艾兒莎方向咖啡與娘孃面膜的拆夥事件中,我遇到的幾項危機,與後來花了好一陣子釐清的變通、因應方式,讓我擁有更大的轉機。這些都是血淋淋、極致慘痛的教訓,過程我也找了很多企業家朋友、理財與金融背景專家朋友,一起幫我看我能做的選擇與策略。最後,我成功把危機變成轉機,當然這轉機最後能不能讓我人生大成功
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這篇分享希望能讓你了解 Microsoft Azure Associate(AZ-104)考試時間、題數與 形式,希望可以給予正在準備的你一些幫助 本篇會從三個面向來分享: 1. 考試範圍與流程 2. 我是如何自學與準備 3. 給正在準備的你一些建議
Thumbnail
這篇分享希望能讓你了解 一個朝九晚九、工作與雲端甚少相關的普通上班族,如何在40小時內自學考取Microsoft Azure Fundamentals(AZ-900),若你和我一樣,這篇心得或許能夠幫助你少走一點冤枉 路~ 本篇會從四個面向來分享: 1. 為何需要考取AZ-900 2. 考試範圍與
Thumbnail
對數位遊牧的人來說網路分享的能源消耗在移動過程中是個需要留意的問題,自從換了 M1 的 Mac 之後,雖然電腦的續航力大增,但是因為沒辦法再使用 Android 手機進行網路分享,反而讓手機電力變成瓶頸,而且 wifi 基地台分享的方式產生的熱相當高,對手機也會有比較大的傷害
Thumbnail
經歷了幾輪漲漲跌跌,澳洲葡萄酒在2015年下半年開始走回了上升的軌道,可惜在2020年的幾波大事件後,可能短期又會陷入困境,經過體質重新改造的澳洲葡萄酒產業,能否撐過這個短期風波,就只能靜待時間來證明了
Thumbnail
主持:廖敏如(二信高中輔導主任暨PBL社團指導教師) 主講:二信高中PBL社團成員、蔡伯鑫 日期:2020/12/11(五)14:00-17:00 地點:基隆,二信高中 ▍我的後記高中生可以有什麼不一樣的學習方式?一本小說可以創造出什麼樣新的對話與連結?昨天我前往基隆二信高中,參與了一整個下午的…
Thumbnail
Note: 本筆記使用的是Windows 10作業系統 1. 下載並安裝WAMP或XAMPP等等 本文是使用wamp,這邊略過安裝教學。 2. 下載並安裝Composer 至官網下載Composer windows installer,到這一步驟時,選擇PHP版本位置: ...
Thumbnail
一個人獨自坐在客運上時,身邊全是三三兩兩出遊的陌生人,看著夜色,卻也生出了荒謬之感。那時想著,哇〜所以我也是要去交換了呢!一直到這時才有感覺的我也不知道是否算是反應遲鈍,但是只是照常的出發、照常的搭上客運,而這次的目的地卻不是家鄉嘉義,而是機場、而是遙遠的芬蘭。
在這次艾兒莎方向咖啡與娘孃面膜的拆夥事件中,我遇到的幾項危機,與後來花了好一陣子釐清的變通、因應方式,讓我擁有更大的轉機。這些都是血淋淋、極致慘痛的教訓,過程我也找了很多企業家朋友、理財與金融背景專家朋友,一起幫我看我能做的選擇與策略。最後,我成功把危機變成轉機,當然這轉機最後能不能讓我人生大成功