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

更新 發佈閱讀 12 分鐘

承上篇,繼續往下走吧!

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

●PHP 套件 ionCube 安裝

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

# 建立 tmp
mkdir tmp
# 切換到 tmp
cd tmp
vocus|新世代的創作平台

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

接下來執行程式的下載。

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

執行檔案解壓縮!

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

畫面類似如下:

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

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

執行如下指令:

# 取得 PHP .so 元件安裝的資料夾
php -i | grep extension_dir
# 取得 php.ini 位置
php -i | grep php.ini
vocus|新世代的創作平台

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

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

vocus|新世代的創作平台

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

如圖:

vocus|新世代的創作平台

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

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

vocus|新世代的創作平台

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

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

# 重新啟動主機
sudo systemctl reboot

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

vocus|新世代的創作平台

安裝 memcached

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

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

sudo apt-get update
sudo apt-get upgrade

可能會需要按 Y,然後

vocus|新世代的創作平台

進行安裝

# 安裝 memcached
sudo apt install memcached libmemcached-tools

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

vocus|新世代的創作平台
# 檢查 memcached 版本
sudo memcached -V
# 檢查 memcached 主機上的運作狀態
sudo systemctl status memcached --no-pager -l

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

vocus|新世代的創作平台

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

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

回答 Y,然後...

vocus|新世代的創作平台
# 重新啟動 apache
sudo systemctl restart apache2

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

vocus|新世代的創作平台

啟用 SSL

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

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

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

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

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

依樣畫葫蘆,選 OK

vocus|新世代的創作平台

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

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

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

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

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台

把 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

vocus|新世代的創作平台

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

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



留言
avatar-img
多元人生記事錄
41會員
100內容數
然而,這個世界是多元性的,人生也是。
多元人生記事錄的其他內容
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
開啟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
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
承上篇,繼續往下走吧! 來說明一下 PHP 兩個會用到的套件安裝,一個是 ionCube,另一個為 memcached ●PHP 套件 ionCube 安裝 先以下列指令,在帳戶內建立一個 tmp 資料夾備用,執行時留意是在帳號剛登入主機的位置喔!
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
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
安裝Nextcloud完後,接下來就是要幫Nextcloud調校一些設定,讓nextcloud運行更順暢一點。 接下來用快速操作指南方式說明格式如下: 達成任務或者目前畫面標題:操作動作
Thumbnail
安裝Nextcloud完後,接下來就是要幫Nextcloud調校一些設定,讓nextcloud運行更順暢一點。 接下來用快速操作指南方式說明格式如下: 達成任務或者目前畫面標題:操作動作
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
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
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的虛擬機詳細以參考以下網址,有非常詳盡的步驟
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News