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

更新於 發佈於 閱讀時間約 12 分鐘

承上篇,繼續往下走吧!

來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached

●PHP 套件 ionCube 安裝

先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!

# 建立 tmp
mkdir tmp
# 切換到 tmp
cd tmp
raw-image

從上圖有看出位置不同了嗎?

接下來執行程式的下載。

# 程式元件下載
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

執行檔案解壓縮!

# 解壓縮下載到的檔案~
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

畫面類似如下:

raw-image

程式元件會解壓縮到 tmp/ioncube 的資料夾中~您可以用 FTP看到!重點是要有您 PHP 版本的檔案,像我們用 8.1 的。

raw-image

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

先取得 PHP 預設程式元件安裝位置,好把前面解壓縮出來的元件放進去,然後要找到 php.ini 的執行位置,因為接下來的動作要去修改 php.ini (PHP 設定檔)。

執行如下指令:

# 取得 PHP .so 元件安裝的資料夾
php -i | grep extension_dir
# 取得 php.ini 位置
php -i | grep php.ini
raw-image

以上圖為例,您可以看到有兩個目錄位置,

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 確認是否有複製成功。

raw-image

接著我們修改 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

如圖:

raw-image

以下是順便改,如果您(或 廠商)程式開發上有需要。

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,如下圖:

raw-image

這個 php.ini 也要進行如上相應的修改,並放回原目錄喔。

完成以上的修改,並保檔案複製回原目錄後,請 重新啟動 主機,下面是使用指令啦! 從 Azure 內重新啟動也可以。

# 重新啟動主機
sudo systemctl reboot

此時 "命令列提示字元" 的連線會中斷,稍等個 30 秒以後再連線吧! 稍微去喝口水,上上廁所,然後連線 phpinfo.php 檢查一下 ioncube 是否有啟用。利用網頁的搜尋功能,有搜尋到 ioncube 這個畫面,便是安裝成功了。

raw-image

安裝 memcached

這部分比較簡單了,用 "命令列提示字元" SSH 連上主機,直接執行一些指令就好。

執行一次主機的更新和升級。

sudo apt-get update
sudo apt-get upgrade

可能會需要按 Y,然後

raw-image

進行安裝

# 安裝 memcached
sudo apt install memcached libmemcached-tools

需要按 Y 等它跑完~ 又來~

raw-image
# 檢查 memcached 版本
sudo memcached -V
# 檢查 memcached 主機上的運作狀態
sudo systemctl status memcached --no-pager -l

實際看到樣子如下圖: 注意劃紅線的地方。

raw-image

安裝 PHP 8.1 的元件(注意您安裝的版本喔)

# 安裝 Php 元件(要指定版本)
sudo apt install php8.1-memcached

回答 Y,然後...

raw-image
# 重新啟動 apache
sudo systemctl restart apache2

檢查 phpinfo.php,有找到以下區段便安裝成功了。

raw-image

啟用 SSL

這邊分兩塊來說明,一、有購買正式憑證,只要把正式憑證上到網站上即可。二、沒有正式憑證,只是要先安裝個臨時憑證,要測試 https 能不能跑而已。

我們先做第二種,第一種等正式要上線再做。

決定一個測試用的 DNS 網域名稱,例如: testc.onweb.idv.tw(相信我,這是假的,只是舉例),然後把您網域新增一筆 A 紀錄,指到 這台主機的 IP。

安裝 Certbot 客戶端來安裝和管理 SSL,說真的,我和 Certbot 不熟,反正我們正式的網站都會購買正式憑證,這裡只是暫時用一下。

# 安裝 Certbot 客戶端
sudo apt-get install python3-certbot-apache -y

依樣畫葫蘆,選 OK

raw-image

申請與設定您網域名稱的憑證,注意! 網域名稱要改成您的喔!

# 請注意使用的網域名稱
sudo certbot --apache -d testc.onweb.idv.tw

這過程會複雜一點,要輸入您的 EMail(真實,能收到信的。),同意(Y),要收到通知(Y)... 然後就設定好了!

raw-image

然後用 https 連線您的網址看看吧! 例如我的測試網站 https://testc.onweb.idv.tw

raw-image

可以看到有鎖頭的標誌出現了,然後看看憑證資訊!

raw-image

要留意憑證到期日喔! 很抱歉,我這邊不太確定,到期後會發生什麼事,如何續期? 有需要的朋友~網路上再查一下。

因為,我目前建的網站,最後都是要正式上線的,我們有買正式的 SSL 憑證,以下順帶說明一下,網站正式憑證要怎麼上線。(以下所述方式可能只是多種方式的其中一種,我使用過兩次皆能正常運作。)

先找出 Apache 的 Config File 位置,通常位於 /etc/apache2/apache2.conf

raw-image

我已經購買的憑證,要拿到 apache 上使用的檔案,大概如下圖所示:

raw-image

在主機上建一個資料夾,直接放在帳號的目錄下的 ssl 資料夾吧! 如: /home/jasonadmin/ssl 把這三個檔案上傳。

raw-image

把 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

raw-image

接下來,重新啟動 apache2 便完成囉。

這篇文章是我的一個經驗紀錄,謝謝您的觀看,因為我是 Linux 小白,為了把公司的主機轉移至 Azure 雲端,邊摸石頭邊過河,是前後裝了約五台主機左右的心得記錄,也與您分享。



留言
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
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
安裝Nextcloud完後,接下來就是要幫Nextcloud調校一些設定,讓nextcloud運行更順暢一點。 接下來用快速操作指南方式說明格式如下: 達成任務或者目前畫面標題:操作動作
Thumbnail
安裝Nextcloud完後,接下來就是要幫Nextcloud調校一些設定,讓nextcloud運行更順暢一點。 接下來用快速操作指南方式說明格式如下: 達成任務或者目前畫面標題:操作動作
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
Thumbnail
欲在Laravel中使用MongoDB,首先要確認有安裝MongoDB PHP driver,接著再安裝Laravel MongoDB套件,才能開始使用CRUD。 1. 安裝MongoDB PHP driver (1) 到這邊下載MongoDB PHP driver (3) 檢查是否正常 後記:
Thumbnail
欲在Laravel中使用MongoDB,首先要確認有安裝MongoDB PHP driver,接著再安裝Laravel MongoDB套件,才能開始使用CRUD。 1. 安裝MongoDB PHP driver (1) 到這邊下載MongoDB PHP driver (3) 檢查是否正常 後記:
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
Environment: GCP Linux version: CentOS 7 Laradock的初衷原是為了將Laravel環境容器化,但隨著時間的演進,慢慢包含了各種常用的工具了,如php-fpm, apache, nginx, mysql, phpmyadmin, redis等等這些常用的東
Thumbnail
Environment: GCP Linux version: CentOS 7 Laradock的初衷原是為了將Laravel環境容器化,但隨著時間的演進,慢慢包含了各種常用的工具了,如php-fpm, apache, nginx, mysql, phpmyadmin, redis等等這些常用的東
Thumbnail
本筆記紀錄如何在Linux(CentOS 8)安裝Nginx, MySQL, PHP環境。...
Thumbnail
本筆記紀錄如何在Linux(CentOS 8)安裝Nginx, MySQL, PHP環境。...
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News