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

閱讀時間約 11 分鐘
承上篇,繼續往下走吧!
來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached

●PHP 套件 ionCube 安裝

先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
# 建立 tmp
mkdir tmp
# 切換到 tmp
cd tmp
從上圖有看出位置不同了嗎?
接下來執行程式的下載。
# 程式元件下載
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
執行檔案解壓縮!
# 解壓縮下載到的檔案~
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz
畫面類似如下:
程式元件會解壓縮到 tmp/ioncube 的資料夾中~您可以用 FTP看到!重點是要有您 PHP 版本的檔案,像我們用 8.1 的。

●取得 PHP 安裝元件的資料夾與 php.ini 位置

先取得 PHP 預設程式元件安裝位置,好把前面解壓縮出來的元件放進去,然後要找到 php.ini 的執行位置,因為接下來的動作要去修改 php.ini (PHP 設定檔)。
執行如下指令:
# 取得 PHP .so 元件安裝的資料夾
php -i | grep extension_dir
# 取得 php.ini 位置
php -i | grep php.ini
以上圖為例,您可以看到有兩個目錄位置,
extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902
Configuration File (php.ini) Path => /etc/php/8.1/cli
Loaded Configuration File => /etc/php/8.1/cli/php.ini
知道以上路徑之後,我們先把 ioncube 的 .so 檔案 copy 到 /usr/lib/php/20210902 中,我們直接下指令( jasonadmin 要改成您的帳號):
# copy ioncube_loader_lin_8.1.so
sudo cp /home/jasonadmin/tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
# copy ioncube_loader_lin_8.1_ts.so
sudo cp /home/jasonadmin/tmp/ioncube/ioncube_loader_lin_8.1_ts.so /usr/lib/php/20210902
複製完後,可以從 FTP 確認是否有複製成功。
接著我們修改 php.ini 檔案,檔案位置在 /etc/php/8.1/cli,我們用 FTP 去下載下來,進行修改,修改前建議先備份一份,建議加上日期。
修改 php.ini 的軟體可以用記事本來修改,我個人是習慣用 Notepad++
修改的內容如下:
1.先搜尋 zend_extension,在其下面(其實有家就好)新增
zend_extension = /usr/lib/php/20210902/ioncube_loader_lin_8.1.so
如圖:
以下是順便改,如果您(或 廠商)程式開發上有需要。
2.記憶體限制,視您主機狀況加大一點(印象中以前會寫 128M)。搜尋 memory_limit,改成恰當的值。如下:
memory_limit = 2048M
在寫這篇文章時,我有看見值是 -1 的,查了一下! 可能要問一下專業的程式開發人員,才知道如何設定比較好喔。
memory_limit int
設置了允許腳本分配的最大內存量,以字節為單位。這有助於防止寫得不好的腳本吃掉服務器上所有可用的內存。請注意,如果不需要內存限制,請將此指令設置為 -1。
改好這兩部分就存檔吧!
然後把 php.ini 上傳,不過因為權限的關係,我們無法直接傳回原來的路徑,我們把它傳回帳戶的路徑 /home/jasonadmin 就好。
然後再用指令 Copy 回原來的地方。
sudo cp /home/jasonadmin/php.ini /etc/php/8.1/cli/php.ini
注意! 在幾次實作之後,其實 php.ini 不只一個位置有,您如果去查看 phpinfo.php,會發現在另外一個位置也有 php.ini,如下圖:
e
這個 php.ini 也要進行如上相應的修改,並放回原目錄喔。
完成以上的修改,並保檔案複製回原目錄後,請 重新啟動 主機,下面是使用指令啦! 從 Azure 內重新啟動也可以。
# 重新啟動主機
sudo systemctl reboot
此時 "命令列提示字元" 的連線會中斷,稍等個 30 秒以後再連線吧! 稍微去喝口水,上上廁所,然後連線 phpinfo.php 檢查一下 ioncube 是否有啟用。利用網頁的搜尋功能,有搜尋到 ioncube 這個畫面,便是安裝成功了。

安裝 memcached

這部分比較簡單了,用 "命令列提示字元" SSH 連上主機,直接執行一些指令就好。
執行一次主機的更新和升級。
sudo apt-get update
sudo apt-get upgrade
可能會需要按 Y,然後
進行安裝
# 安裝 memcached
sudo apt install memcached libmemcached-tools
需要按 Y 等它跑完~ 又來~
# 檢查 memcached 版本
sudo memcached -V
# 檢查 memcached 主機上的運作狀態
sudo systemctl status memcached --no-pager -l
實際看到樣子如下圖: 注意劃紅線的地方。
安裝 PHP 8.1 的元件(注意您安裝的版本喔)
# 安裝 Php 元件(要指定版本)
sudo apt install php8.1-memcached
回答 Y,然後...
# 重新啟動 apache
sudo systemctl restart apache2
檢查 phpinfo.php,有找到以下區段便安裝成功了。

啟用 SSL

這邊分兩塊來說明,一、有購買正式憑證,只要把正式憑證上到網站上即可。二、沒有正式憑證,只是要先安裝個臨時憑證,要測試 https 能不能跑而已。
我們先做第二種,第一種等正式要上線再做。
決定一個測試用的 DNS 網域名稱,例如: testc.onweb.idv.tw(相信我,這是假的,只是舉例),然後把您網域新增一筆 A 紀錄,指到 這台主機的 IP。
安裝 Certbot 客戶端來安裝和管理 SSL,說真的,我和 Certbot 不熟,反正我們正式的網站都會購買正式憑證,這裡只是暫時用一下。
# 安裝 Certbot 客戶端
sudo apt-get install python3-certbot-apache -y
依樣畫葫蘆,選 OK
申請與設定您網域名稱的憑證,注意! 網域名稱要改成您的喔!
# 請注意使用的網域名稱
sudo certbot --apache -d testc.onweb.idv.tw
這過程會複雜一點,要輸入您的 EMail(真實,能收到信的。),同意(Y),要收到通知(Y)... 然後就設定好了!
然後用 https 連線您的網址看看吧! 例如我的測試網站 https://testc.onweb.idv.tw
可以看到有鎖頭的標誌出現了,然後看看憑證資訊!
要留意憑證到期日喔! 很抱歉,我這邊不太確定,到期後會發生什麼事,如何續期? 有需要的朋友~網路上再查一下。
因為,我目前建的網站,最後都是要正式上線的,我們有買正式的 SSL 憑證,以下順帶說明一下,網站正式憑證要怎麼上線。(以下所述方式可能只是多種方式的其中一種,我使用過兩次皆能正常運作。)
先找出 Apache 的 Config File 位置,通常位於 /etc/apache2/apache2.conf
我已經購買的憑證,要拿到 apache 上使用的檔案,大概如下圖所示:
在主機上建一個資料夾,直接放在帳號的目錄下的 ssl 資料夾吧! 如: /home/jasonadmin/ssl 把這三個檔案上傳。
把 apache2.conf 順便下載下來修改( 位於主機的 /etc/apache2/ ),修改前記得備份。修改內容如下:
找到 <VirtualHost> 位置依下列範例新增以下內容( 應該預設是不會有的 ),以下憑證名稱要進行相對應修改喔。就是帳號名稱 jasonadmin 和 正式網站名稱 123.onweb.idv.tw (也是憑證檔案名稱)的地方。
<VirtualHost _default_:443>
ServerName 123.onweb.idv.tw
DocumentRoot /var/www/html
SSLEngine on
SSLCACertificateFile /home/jasonadmin/ssl/SO3-Bundle.crt
SSLCertificateFile /home/jasonadmin/ssl/123.onweb.idv.tw.crt
SSLCertificateKeyFile /home/jasonadmin/ssl/123.onweb.idv.tw.key
</VirtualHost>
修改完畢後存檔,上傳主機,然後就是正式上線時,置換的動作了! 以下指令請注意修改成您的真實位置喔。
# 暫停 apache
sudo systemctl stop apache2
# 複製 apache2.conf 檔前先備份
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2_20230621.conf
# 複製
sudo cp /home/jasonadmin/ssl/apache2.conf /etc/apache2/apache2.conf
對 apache2.conf 進行語法檢查。
# apache2.conf 進行語法檢查
sudo apache2ctl configtest
要出現類似如下畫面的 Syntax OK
接下來,重新啟動 apache2 便完成囉。
這篇文章是我的一個經驗紀錄,謝謝您的觀看,因為我是 Linux 小白,為了把公司的主機轉移至 Azure 雲端,邊摸石頭邊過河,是前後裝了約五台主機左右的心得記錄,也與您分享。
為什麼會看到廣告
34會員
88內容數
然而,這個世界是多元性的,人生也是。
留言0
查看全部
發表第一個留言支持創作者!
多元人生記事錄 的其他內容
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
公司同仁說:「我並沒有發信,但某同仁卻收到我的信,這...」 我心中一驚,莫非... 我擔心的是該同仁信箱(帳號)密碼是否外洩,或被人入侵... 若外洩或被入侵,問題是有點大,我來追蹤一下那封信的狀況好了,看看能否看出什麼蛛絲馬跡。
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
公司同仁說:「我並沒有發信,但某同仁卻收到我的信,這...」 我心中一驚,莫非... 我擔心的是該同仁信箱(帳號)密碼是否外洩,或被人入侵... 若外洩或被入侵,問題是有點大,我來追蹤一下那封信的狀況好了,看看能否看出什麼蛛絲馬跡。
你可能也想看
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
一個人獨自坐在客運上時,身邊全是三三兩兩出遊的陌生人,看著夜色,卻也生出了荒謬之感。那時想著,哇〜所以我也是要去交換了呢!一直到這時才有感覺的我也不知道是否算是反應遲鈍,但是只是照常的出發、照常的搭上客運,而這次的目的地卻不是家鄉嘉義,而是機場、而是遙遠的芬蘭。
在這次艾兒莎方向咖啡與娘孃面膜的拆夥事件中,我遇到的幾項危機,與後來花了好一陣子釐清的變通、因應方式,讓我擁有更大的轉機。這些都是血淋淋、極致慘痛的教訓,過程我也找了很多企業家朋友、理財與金融背景專家朋友,一起幫我看我能做的選擇與策略。最後,我成功把危機變成轉機,當然這轉機最後能不能讓我人生大成功