在 Rocky Linux 8 安裝 Apache + MariaDB + PHP

在 Rocky Linux 8 安裝 Apache + MariaDB + PHP

安裝基本系統

Rocky Linux 8 系統安裝的部份,可以參考 Rocky Linux 8 基本安裝 文件,本文安裝的元件及版本列表如下:

MariaDB 10.x 系列

image-1653981543348.png

和 CentOS 7 系列的不同,Rocky Linux 8 預設就可以直接安裝 MariaDB 10 系列的版本,不需要再額外建立第三方 yum repo 設定檔,MariaDB 10 系列版本的效能改善明顯,並且支援 Galera Cluster 的叢集架構,非常高效。

Apache 2.4 系列

image-1653981569271.png

Rocky Linux 8 依舊採用 httpd 2.4 系列的版本,不過由於 CentOS 7 最新的版本僅到 2.4.6,而 Rocky Linux 已經支援到 2.4.37,這中間仍有不小差異,2.4.6 更多著重在安全性及穩定性的更新,而 2.4.37 會提供更多功能及效能上的改進優勢。

PHP 8.x 系列

image-1653981646140.png

比較讓我意外的是,Rocky Linux 8 預設採用的 PHP 版本仍是 7.2 系列,在此我們會以 PHP 8 來進行佈署示範,以 PHP 官方提供的資訊來說,7.2 版本已經在 2021 年 1 月停止維護,7.4 版本即將在 2022 年 11 月停止維謢護,故目前建議可以考慮評估 8.0 或是之後的 8.1 版本。

phpMyAdmin 5.2 系列

image-1653981773252.png

目前在 Rocky Linux 8 上,暫時只能以 tarball 型態安裝 phpmyadmin (基本上我希望儘量都用 RPM 模式安裝,以減少更新的複雜度),日後若有出 RPM 封裝的 Repo 的話,會再另行更新安裝方式。

安裝 Apache 伺服器

1 安裝相關套件

安裝指令如下所示:

$ sudo yum install httpd mod_ssl

一次連同 SSL 套件都安裝,結果如下:

上次中介資料過期檢查:0:30:31 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                          架構                                 版本                                                                      軟體庫                                   大小
==============================================================================================================================================================================================================
安裝:
 httpd                                           x86_64                               2.4.37-47.module+el8.6.0+823+f143cee1.1                                   appstream                               1.4 M
 mod_ssl                                         x86_64                               1:2.4.37-47.module+el8.6.0+823+f143cee1.1                                 appstream                               136 k
將安裝依賴項目:
 apr                                             x86_64                               1.6.3-12.el8                                                              appstream                               128 k
 apr-util                                        x86_64                               1.6.1-6.el8.1                                                             appstream                               104 k
 httpd-filesystem                                noarch                               2.4.37-47.module+el8.6.0+823+f143cee1.1                                   appstream                                40 k
 httpd-tools                                     x86_64                               2.4.37-47.module+el8.6.0+823+f143cee1.1                                   appstream                               107 k
 mod_http2                                       x86_64                               1.15.7-5.module+el8.6.0+823+f143cee1                                      appstream                               153 k
 rocky-logos-httpd                               noarch                               85.0-4.el8                                                                baseos                                   22 k
 sscg                                            x86_64                               2.3.3-14.el8                                                              appstream                                48 k
將安裝弱依賴項目:
 apr-util-bdb                                    x86_64                               1.6.1-6.el8.1                                                             appstream                                23 k
 apr-util-openssl                                x86_64                               1.6.1-6.el8.1                                                             appstream                                26 k
正在啟用模組串流:
 httpd                                                                                2.4

處理事項摘要
==============================================================================================================================================================================================================
安裝  11 軟體包

總下載大小:2.2 M
安裝的大小:5.7 M
這樣可以嗎 [y/N]:y

請按下「y」鍵開始下載並安裝。

下載軟體包:
(1/11): apr-util-bdb-1.6.1-6.el8.1.x86_64.rpm                                                                                                                                  67 kB/s |  23 kB     00:00
(2/11): apr-util-openssl-1.6.1-6.el8.1.x86_64.rpm                                                                                                                             207 kB/s |  26 kB     00:00
(3/11): apr-util-1.6.1-6.el8.1.x86_64.rpm                                                                                                                                     186 kB/s | 104 kB     00:00
(4/11): apr-1.6.3-12.el8.x86_64.rpm                                                                                                                                           215 kB/s | 128 kB     00:00
(5/11): httpd-filesystem-2.4.37-47.module+el8.6.0+823+f143cee1.1.noarch.rpm                                                                                                   308 kB/s |  40 kB     00:00
(6/11): mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64.rpm                                                                                                             709 kB/s | 153 kB     00:00
(7/11): mod_ssl-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64.rpm                                                                                                            650 kB/s | 136 kB     00:00
(8/11): sscg-2.3.3-14.el8.x86_64.rpm                                                                                                                                          443 kB/s |  48 kB     00:00
(9/11): rocky-logos-httpd-85.0-4.el8.noarch.rpm                                                                                                                               100 kB/s |  22 kB     00:00
(10/11): httpd-tools-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64.rpm                                                                                                       104 kB/s | 107 kB     00:01
(11/11): httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64.rpm                                                                                                             819 kB/s | 1.4 MB     00:01
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                                                                          696 kB/s | 2.2 MB     00:03
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                                                                                                           1/1
  正在安裝    : apr-1.6.3-12.el8.x86_64                                                                                                                                                                  1/11
  執行小令稿  : apr-1.6.3-12.el8.x86_64                                                                                                                                                                  1/11
  正在安裝    : apr-util-bdb-1.6.1-6.el8.1.x86_64                                                                                                                                                        2/11
  正在安裝    : apr-util-openssl-1.6.1-6.el8.1.x86_64                                                                                                                                                    3/11
  正在安裝    : apr-util-1.6.1-6.el8.1.x86_64                                                                                                                                                            4/11
  執行小令稿  : apr-util-1.6.1-6.el8.1.x86_64                                                                                                                                                            4/11
  執行小令稿  : httpd-filesystem-2.4.37-47.module+el8.6.0+823+f143cee1.1.noarch                                                                                                                          5/11
  正在安裝    : httpd-filesystem-2.4.37-47.module+el8.6.0+823+f143cee1.1.noarch                                                                                                                          5/11
  正在安裝    : httpd-tools-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                               6/11
  正在安裝    : rocky-logos-httpd-85.0-4.el8.noarch                                                                                                                                                      7/11
  正在安裝    : mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64                                                                                                                                    8/11
  正在安裝    : httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                     9/11
  執行小令稿  : httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                     9/11
  正在安裝    : sscg-2.3.3-14.el8.x86_64                                                                                                                                                                10/11
  正在安裝    : mod_ssl-1:2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                11/11
  執行小令稿  : httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                    11/11
  執行小令稿  : mod_ssl-1:2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                11/11
  核驗        : apr-1.6.3-12.el8.x86_64                                                                                                                                                                  1/11
  核驗        : apr-util-1.6.1-6.el8.1.x86_64                                                                                                                                                            2/11
  核驗        : apr-util-bdb-1.6.1-6.el8.1.x86_64                                                                                                                                                        3/11
  核驗        : apr-util-openssl-1.6.1-6.el8.1.x86_64                                                                                                                                                    4/11
  核驗        : httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                     5/11
  核驗        : httpd-filesystem-2.4.37-47.module+el8.6.0+823+f143cee1.1.noarch                                                                                                                          6/11
  核驗        : httpd-tools-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                               7/11
  核驗        : mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64                                                                                                                                    8/11
  核驗        : mod_ssl-1:2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64                                                                                                                                 9/11
  核驗        : sscg-2.3.3-14.el8.x86_64                                                                                                                                                                10/11
  核驗        : rocky-logos-httpd-85.0-4.el8.noarch                                                                                                                                                     11/11

已安裝:
  apr-1.6.3-12.el8.x86_64                                             apr-util-1.6.1-6.el8.1.x86_64                                  apr-util-bdb-1.6.1-6.el8.1.x86_64
  apr-util-openssl-1.6.1-6.el8.1.x86_64                               httpd-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64           httpd-filesystem-2.4.37-47.module+el8.6.0+823+f143cee1.1.noarch
  httpd-tools-2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64          mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64          mod_ssl-1:2.4.37-47.module+el8.6.0+823+f143cee1.1.x86_64
  rocky-logos-httpd-85.0-4.el8.noarch                                 sscg-2.3.3-14.el8.x86_64

完成!
2 設定啟動 apache 伺服器

接下來請啟動 apache 伺服器,指令如下。

$ sudo systemctl restart httpd
$ sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
3 確認 apache 服務啟用狀態

利用 netstat 指令確認服務是否有啟動(有發現 80、443 port 運作中)。

$ sudo netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      644/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      2992/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      644/sshd
tcp6       0      0 :::443                  :::*                    LISTEN      2992/httpd

利用 systemctl 指令查看一下相關服務的啟用情況。

$ systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-05-31 15:50:51 CST; 2min 11s ago
     Docs: man:httpd.service(8)
 Main PID: 2992 (httpd)
   Status: "Running, listening on: port 443, port 80"
    Tasks: 213 (limit: 11374)
   Memory: 26.5M
   CGroup: /system.slice/httpd.service
           ├─2992 /usr/sbin/httpd -DFOREGROUND
           ├─2993 /usr/sbin/httpd -DFOREGROUND
           ├─2994 /usr/sbin/httpd -DFOREGROUND
           ├─2995 /usr/sbin/httpd -DFOREGROUND
           └─2996 /usr/sbin/httpd -DFOREGROUND

 5月 31 15:50:51 rockylinux.ossii.com.tw systemd[1]: Starting The Apache HTTP Server...
 5月 31 15:50:51 rockylinux.ossii.com.tw systemd[1]: Started The Apache HTTP Server.
 5月 31 15:50:51 rockylinux.ossii.com.tw httpd[2992]: Server configured, listening on: port 443, port 80

這樣子就完第了 apache server 的初步安裝作業了~

安裝 PHP 8.1 版

1 安裝 EPEL 8 及 remi 擴充 repo 套件

因為 PHP 8.1 版預設沒有在預設的套件庫中,需要先安裝 EPEL 8 及 remi 套件庫才可以安裝升級版的 PHP,安裝 epel-release 套件指令如下所示:

$ sudo yum install epel-release
上次中介資料過期檢查:2:23:29 前,時間點為西元2022年05月31日 (週二) 13時39分24秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                               架構                                           版本                                                軟體庫                                          大小
==============================================================================================================================================================================================================
安裝:
 epel-release                                         noarch                                         8-13.el8                                            extras                                          23 k

處理事項摘要
==============================================================================================================================================================================================================
安裝  1 軟體包

總下載大小:23 k
安裝的大小:35 k
這樣可以嗎 [y/N]: y

按下「y」繼續下載安裝。

下載軟體包:
epel-release-8-13.el8.noarch.rpm                                                                                                                                               81 kB/s |  23 kB     00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                                                                           29 kB/s |  23 kB     00:00
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                                                                                                           1/1
  正在安裝    : epel-release-8-13.el8.noarch                                                                                                                                                              1/1
  執行小令稿  : epel-release-8-13.el8.noarch                                                                                                                                                              1/1
  核驗        : epel-release-8-13.el8.noarch                                                                                                                                                              1/1

已安裝:
  epel-release-8-13.el8.noarch

完成!

接下來請安裝 remi 擴充套件。

$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
上次中介資料過期檢查:0:50:52 前,時間點為西元2022年05月31日 (週二) 15時14分36秒。
remi-release-8.rpm                                                                                                                                                             45 kB/s |  29 kB     00:00
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                            架構                                        版本                                                   軟體庫                                             大小
==============================================================================================================================================================================================================
安裝:
 remi-release                                      noarch                                      8.6-1.el8.remi                                         @commandline                                       29 k

處理事項摘要
==============================================================================================================================================================================================================
安裝  1 軟體包

總大小:29 k
安裝的大小:24 k
這樣可以嗎 [y/N]: y

按下「y」繼續下載安裝。

上次中介資料過期檢查:0:50:52 前,時間點為西元2022年05月31日 (週二) 15時14分36秒。
remi-release-8.rpm                                                                                                                                                             45 kB/s |  29 kB     00:00
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                            架構                                        版本                                                   軟體庫                                             大小
==============================================================================================================================================================================================================
安裝:
 remi-release                                      noarch                                      8.6-1.el8.remi                                         @commandline                                       29 k

處理事項摘要
==============================================================================================================================================================================================================
安裝  1 軟體包

總大小:29 k
安裝的大小:24 k
這樣可以嗎 [y/N]: y
下載軟體包:
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                                                                                                           1/1
  正在安裝    : remi-release-8.6-1.el8.remi.noarch                                                                                                                                                        1/1
  核驗        : remi-release-8.6-1.el8.remi.noarch                                                                                                                                                        1/1

已安裝:
  remi-release-8.6-1.el8.remi.noarch

完成!
2 先移掉原有的 PHP 套件

如果先前有安裝舊版的 PHP 7.2,則建議先行移除,指令如下:

$ sudo yum remove php php-fpm php* -y

下了「-y」參數代表直接移除不詢問,結果如下:

依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                          架構                                  版本                                                                   軟體庫                                     大小
==============================================================================================================================================================================================================
移除:
 php                                             x86_64                                7.2.24-1.module+el8.4.0+413+c9202dda                                   @appstream                                4.8 M
 php-cli                                         x86_64                                7.2.24-1.module+el8.4.0+413+c9202dda                                   @appstream                                9.6 M
 php-common                                      x86_64                                7.2.24-1.module+el8.4.0+413+c9202dda                                   @appstream                                6.1 M
 php-fpm                                         x86_64                                7.2.24-1.module+el8.4.0+413+c9202dda                                   @appstream                                4.9 M
正在移除無用的依賴軟體包:
 nginx-filesystem                                noarch                                1:1.14.1-9.module+el8.4.0+542+81547229                                 @appstream                                  0

處理事項摘要
==============================================================================================================================================================================================================
移除  5 軟體包

釋放空間:25 M
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                                                                                                           1/1
  執行小令稿  : php-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                           1/1
  抹除        : php-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                           1/5
  執行小令稿  : php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       2/5
  抹除        : php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       2/5
  執行小令稿  : php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       2/5
  抹除        : php-cli-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       3/5
  抹除        : nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch                                                                                                                            4/5
  執行小令稿  : nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch                                                                                                                            4/5
  抹除        : php-common-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                    5/5
  執行小令稿  : php-common-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                    5/5
  核驗        : nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch                                                                                                                            1/5
  核驗        : php-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                           2/5
  核驗        : php-cli-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       3/5
  核驗        : php-common-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                    4/5
  核驗        : php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                                                                                                                                       5/5

已移除:
  nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch             php-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                 php-cli-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-common-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64                     php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64

完成!
3 切換 PHP 的來源套件庫

再更新一次 yum repo 資訊,指令如下:

$ sudo yum update
上次中介資料過期檢查:0:50:54 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                                架構                                            版本                                               軟體庫                                         大小
==============================================================================================================================================================================================================
升級:
 epel-release                                          noarch                                          8-15.el8                                           epel                                           23 k

處理事項摘要
==============================================================================================================================================================================================================
升級  1 軟體包

總下載大小:23 k
這樣可以嗎 [y/N]: y

按下「y」繼續下載安裝。

下載軟體包:
epel-release-8-15.el8.noarch.rpm                                                                                                                                              197 kB/s |  23 kB     00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                                                                           24 kB/s |  23 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                1.6 MB/s | 1.6 kB     00:00
匯入 GPG 密鑰 0x2F86D6A1:
使用者識別碼:"Fedora EPEL (8) <epel@fedoraproject.org>"
指紋                :94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
來自                :/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
這樣可以嗎 [y/N]: y

如果是第一次從這個 repo 下載新的更新套件,系統會詢問你要不要信任這個來源,請按下「y」鍵繼續。

密鑰匯入成功
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                                                                                                           1/1
  執行小令稿  : epel-release-8-15.el8.noarch                                                                                                                                                              1/1
  正在升級    : epel-release-8-15.el8.noarch                                                                                                                                                              1/2
  清理        : epel-release-8-13.el8.noarch                                                                                                                                                              2/2
  執行小令稿  : epel-release-8-13.el8.noarch                                                                                                                                                              2/2
  核驗        : epel-release-8-15.el8.noarch                                                                                                                                                              1/2
  核驗        : epel-release-8-13.el8.noarch                                                                                                                                                              2/2

已升級:
  epel-release-8-15.el8.noarch

完成!

接下來請查詢 PHP 的 repo 來源版本清單,指令如下:

$ sudo yum module list php

結果如下,會發現有官方的和 Remi 的來源。

上次中介資料過期檢查:1:02:16 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
Rocky Linux 8 - AppStream
Name                                     Stream                                        Profiles                                                      Summary
php                                      7.2 [d][e]                                    common [d], devel, minimal                                    PHP scripting language
php                                      7.3                                           common [d], devel, minimal                                    PHP scripting language
php                                      7.4                                           common [d], devel, minimal                                    PHP scripting language
php                                      8.0                                           common [d], devel, minimal                                    PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                                     Stream                                        Profiles                                                      Summary
php                                      remi-7.2                                      common [d], devel, minimal                                    PHP scripting language
php                                      remi-7.3                                      common [d], devel, minimal                                    PHP scripting language
php                                      remi-7.4                                      common [d], devel, minimal                                    PHP scripting language
php                                      remi-8.0                                      common [d], devel, minimal                                    PHP scripting language
php                                      remi-8.1                                      common [d], devel, minimal                                    PHP scripting language

提示:預設[d]、已啟用[e]、已停用[x]、已安裝[i]

先重設 PHP 的模組來源,指令如下:

$ sudo yum module reset php -y
上次中介資料過期檢查:1:10:55 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                            架構                                             版本                                              軟體庫                                             大小
==============================================================================================================================================================================================================
正在重設模組:
 php

處理事項摘要
==============================================================================================================================================================================================================

完成!

接下來直接重新將 PHP 關聯到 8.1 的模組來源,指令如下:

$ sudo yum module enable php:remi-8.1 -y
上次中介資料過期檢查:1:11:28 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                            架構                                             版本                                              軟體庫                                             大小
==============================================================================================================================================================================================================
正在啟用模組串流:
 php                                                                                                remi-8.1

處理事項摘要
==============================================================================================================================================================================================================

完成!

再次查詢 PHP 的 repo 來源版本清單。

$ sudo yum module list php
上次中介資料過期檢查:1:12:52 前,時間點為西元2022年05月31日 (週二) 15時17分06秒。
Rocky Linux 8 - AppStream
Name                                    Stream                                          Profiles                                                      Summary
php                                     7.2 [d]                                         common [d], devel, minimal                                    PHP scripting language
php                                     7.3                                             common [d], devel, minimal                                    PHP scripting language
php                                     7.4                                             common [d], devel, minimal                                    PHP scripting language
php                                     8.0                                             common [d], devel, minimal                                    PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                                    Stream                                          Profiles                                                      Summary
php                                     remi-7.2                                        common [d], devel, minimal                                    PHP scripting language
php                                     remi-7.3                                        common [d], devel, minimal                                    PHP scripting language
php                                     remi-7.4                                        common [d], devel, minimal                                    PHP scripting language
php                                     remi-8.0                                        common [d], devel, minimal                                    PHP scripting language
php                                     remi-8.1 [e]                                    common [d], devel, minimal                                    PHP scripting language

提示:預設[d]、已啟用[e]、已停用[x]、已安裝[i]

8.1 的部份已經變成「e」囉~

4 安裝 PHP 套件

指令如下:

$ sudo yum install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache php-process php-sodium php-bcmath php-gmp -y
5 重新啟動 apahce 伺服器

完成後再重新啟動 apache server 即剛成安裝工作。

$ sudo systemctl restart httpd

安裝 MariaDB 10.11 版

1 MariaDB 10.11 套件說明

根據 MariaDB 官方資訊所示,目前 10.11 為 LTS(Long Term Support) 版本,並支援到 2028 年 2 月,所以建議佈署該版本,而在 Rocky Linux 8 預設使用的是 10 .3 版本,安裝 MariaDB 10.11 相當容易,安裝指令如下所示。

image.png

2 切換 MariaDB 的來源套件庫

先查詢目前 MariaDB 的 repo 來源版本清單,指令如下:

$ sudo yum module list mariadb

結果如下,會發現有官方的來源。

上次中介資料過期檢查:0:07:54 前,時間點為西元2024年10月17日 (週四) 14時59分33秒。
Rocky Linux 8 - AppStream
Name                   Stream                  Profiles                                  Summary
mariadb                10.3 [d]                client, galera, server [d]                MariaDB Module
mariadb                10.5                    client, galera, server [d]                MariaDB Module
mariadb                10.11                   client, galera, server [d]                MariaDB Module

提示:預設[d]、已啟用[e]、已停用[x]、已安裝[i]

先重設 MariaDB 的模組來源,指令如下:

$ sudo yum module reset mariadb -y
上次中介資料過期檢查:0:22:23 前,時間點為西元2024年10月17日 (週四) 14時59分33秒。
依賴關係解析完畢。
無事可做。
完成!

接下來直接重新將 MariaDB 關聯到 10.11 的模組來源,指令如下:

$ sudo yum module enable mariadb:10.11 -y
上次中介資料過期檢查:0:24:31 前,時間點為西元2024年10月17日 (週四) 14時59分33秒。
依賴關係解析完畢。
======================================================================================================================
 軟體包                      架構                       版本                        軟體庫                       大小
======================================================================================================================
正在啟用模組串流:
 mariadb                                                10.11

處理事項摘要
======================================================================================================================

完成!

再次查詢 MariaDB 的 repo 來源版本清單。

$ sudo yum module list mariadb
上次中介資料過期檢查:0:25:55 前,時間點為西元2024年10月17日 (週四) 14時59分33秒。
Rocky Linux 8 - AppStream
Name                   Stream                   Profiles                                  Summary
mariadb                10.3 [d]                 client, galera, server [d]                MariaDB Module
mariadb                10.5                     client, galera, server [d]                MariaDB Module
mariadb                10.11 [e]                client, galera, server [d]                MariaDB Module

提示:預設[d]、已啟用[e]、已停用[x]、已安裝[i]

10.11 的部份已經變成「e」囉~

3 安裝 MariaDB 10.11 套件

此時的安裝指令如下:

sudo yum install mariadb mariadb-server php-mysql -y
上次中介資料過期檢查:0:30:01 前,時間點為西元2024年10月17日 (週四) 14時59分33秒。
依賴關係解析完畢。
======================================================================================================================
 軟體包                           架構         版本                                             軟體庫           大小
======================================================================================================================
安裝:
 mariadb                          x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream       7.3 M
 mariadb-server                   x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream        20 M
將安裝依賴項目:
 mariadb-common                   x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream        68 k
 mariadb-connector-c              x86_64       3.1.11-2.el8_3                                   appstream       199 k
 mariadb-connector-c-config       noarch       3.1.11-2.el8_3                                   appstream        14 k
 mariadb-errmsg                   x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream       339 k
 mysql-selinux                    noarch       1.0.10-1.el8                                     appstream        37 k
 perl-Carp                        noarch       1.42-396.el8                                     baseos           29 k
 perl-DBD-MySQL                   x86_64       4.046-3.module+el8.9.0+1501+450eec3b             appstream       155 k
 perl-DBI                         x86_64       1.641-4.module+el8.9.0+1495+f278a004             appstream       739 k
 perl-Data-Dumper                 x86_64       2.167-399.el8                                    baseos           57 k
 perl-Digest                      noarch       1.17-395.el8                                     appstream        26 k
 perl-Digest-MD5                  x86_64       2.55-396.el8                                     appstream        36 k
 perl-Encode                      x86_64       4:2.97-3.el8                                     baseos          1.5 M
 perl-Errno                       x86_64       1.28-422.el8                                     baseos           75 k
 perl-Exporter                    noarch       5.72-396.el8                                     baseos           33 k
 perl-File-Path                   noarch       2.15-2.el8                                       baseos           37 k
 perl-File-Temp                   noarch       0.230.600-1.el8                                  baseos           62 k
 perl-Getopt-Long                 noarch       1:2.50-4.el8                                     baseos           62 k
 perl-HTTP-Tiny                   noarch       0.074-3.el8                                      baseos           58 k
 perl-IO                          x86_64       1.38-422.el8                                     baseos          141 k
 perl-IO-Socket-IP                noarch       0.39-5.el8                                       appstream        46 k
 perl-IO-Socket-SSL               noarch       2.066-4.module+el8.9.0+1517+e71a7a62             appstream       297 k
 perl-MIME-Base64                 x86_64       3.15-396.el8                                     baseos           30 k
 perl-Math-BigInt                 noarch       1:1.9998.11-7.el8                                baseos          194 k
 perl-Math-Complex                noarch       1.59-422.el8                                     baseos          108 k
 perl-Mozilla-CA                  noarch       20160104-7.module+el8.9.0+1521+0101edce          appstream        14 k
 perl-Net-SSLeay                  x86_64       1.88-2.module+el8.9.0+1517+e71a7a62              appstream       378 k
 perl-PathTools                   x86_64       3.74-1.el8                                       baseos           89 k
 perl-Pod-Escapes                 noarch       1:1.07-395.el8                                   baseos           19 k
 perl-Pod-Perldoc                 noarch       3.28-396.el8                                     baseos           85 k
 perl-Pod-Simple                  noarch       1:3.35-395.el8                                   baseos          212 k
 perl-Pod-Usage                   noarch       4:1.69-395.el8                                   baseos           33 k
 perl-Scalar-List-Utils           x86_64       3:1.49-2.el8                                     baseos           67 k
 perl-Socket                      x86_64       4:2.027-3.el8                                    baseos           58 k
 perl-Storable                    x86_64       1:3.11-3.el8                                     baseos           97 k
 perl-Term-ANSIColor              noarch       4.06-396.el8                                     baseos           45 k
 perl-Term-Cap                    noarch       1.17-395.el8                                     baseos           22 k
 perl-Text-ParseWords             noarch       3.30-395.el8                                     baseos           17 k
 perl-Text-Tabs+Wrap              noarch       2013.0523-395.el8                                baseos           23 k
 perl-Time-Local                  noarch       1:1.280-1.el8                                    baseos           32 k
 perl-URI                         noarch       1.73-3.el8                                       appstream       115 k
 perl-Unicode-Normalize           x86_64       1.25-396.el8                                     baseos           81 k
 perl-constant                    noarch       1.33-396.el8                                     baseos           24 k
 perl-interpreter                 x86_64       4:5.26.3-422.el8                                 baseos          6.3 M
 perl-libnet                      noarch       3.11-3.el8                                       appstream       120 k
 perl-libs                        x86_64       4:5.26.3-422.el8                                 baseos          1.6 M
 perl-macros                      x86_64       4:5.26.3-422.el8                                 baseos           71 k
 perl-parent                      noarch       1:0.237-1.el8                                    baseos           19 k
 perl-podlators                   noarch       4.11-1.el8                                       baseos          117 k
 perl-threads                     x86_64       1:2.21-2.el8                                     baseos           60 k
 perl-threads-shared              x86_64       1.58-2.el8                                       baseos           47 k
將安裝弱依賴項目:
 mariadb-backup                   x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream       7.3 M
 mariadb-gssapi-server            x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream        56 k
 mariadb-server-utils             x86_64       3:10.11.6-1.module+el8.10.0+1674+fa55eae9        appstream       1.4 M
正在啟用模組串流:
 perl                                          5.26
 perl-DBD-MySQL                                4.046
 perl-DBI                                      1.641
 perl-IO-Socket-SSL                            2.066
 perl-libwww-perl                              6.34

處理事項摘要
======================================================================================================================
安裝  55 軟體包

總下載大小:50 M
安裝的大小:243 M
下載軟體包:
(1/55): mariadb-common-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm             188 kB/s |  68 kB     00:00
(2/55): mariadb-connector-c-3.1.11-2.el8_3.x86_64.rpm                                 854 kB/s | 199 kB     00:00
(3/55): mariadb-connector-c-config-3.1.11-2.el8_3.noarch.rpm                           56 kB/s |  14 kB     00:00
(4/55): mariadb-errmsg-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm             793 kB/s | 339 kB     00:00
(5/55): mariadb-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm                    4.3 MB/s | 7.3 MB     00:01
(6/55): mariadb-gssapi-server-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm      127 kB/s |  56 kB     00:00
(7/55): mariadb-backup-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm             3.7 MB/s | 7.3 MB     00:01
(8/55): mysql-selinux-1.0.10-1.el8.noarch.rpm                                         374 kB/s |  37 kB     00:00
(9/55): perl-DBD-MySQL-4.046-3.module+el8.9.0+1501+450eec3b.x86_64.rpm                1.4 MB/s | 155 kB     00:00
(10/55): perl-DBI-1.641-4.module+el8.9.0+1495+f278a004.x86_64.rpm                     2.1 MB/s | 739 kB     00:00
(11/55): perl-Digest-1.17-395.el8.noarch.rpm                                          318 kB/s |  26 kB     00:00
(12/55): mariadb-server-utils-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm      1.5 MB/s | 1.4 MB     00:00
(13/55): perl-Digest-MD5-2.55-396.el8.x86_64.rpm                                      395 kB/s |  36 kB     00:00
(14/55): perl-IO-Socket-IP-0.39-5.el8.noarch.rpm                                      446 kB/s |  46 kB     00:00
(15/55): perl-IO-Socket-SSL-2.066-4.module+el8.9.0+1517+e71a7a62.noarch.rpm           2.2 MB/s | 297 kB     00:00
(16/55): perl-Mozilla-CA-20160104-7.module+el8.9.0+1521+0101edce.noarch.rpm           143 kB/s |  14 kB     00:00
(17/55): perl-Net-SSLeay-1.88-2.module+el8.9.0+1517+e71a7a62.x86_64.rpm               2.7 MB/s | 378 kB     00:00
(18/55): perl-URI-1.73-3.el8.noarch.rpm                                               927 kB/s | 115 kB     00:00
(19/55): perl-libnet-3.11-3.el8.noarch.rpm                                            1.2 MB/s | 120 kB     00:00
(20/55): perl-Carp-1.42-396.el8.noarch.rpm                                             16 kB/s |  29 kB     00:01
(21/55): mariadb-server-10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64.rpm            6.1 MB/s |  20 MB     00:03
(22/55): perl-Data-Dumper-2.167-399.el8.x86_64.rpm                                     28 kB/s |  57 kB     00:02
(23/55): perl-Exporter-5.72-396.el8.noarch.rpm                                         34 kB/s |  33 kB     00:00
(24/55): perl-Errno-1.28-422.el8.x86_64.rpm                                            71 kB/s |  75 kB     00:01
(25/55): perl-Encode-2.97-3.el8.x86_64.rpm                                            1.0 MB/s | 1.5 MB     00:01
(26/55): perl-File-Temp-0.230.600-1.el8.noarch.rpm                                    108 kB/s |  62 kB     00:00
(27/55): perl-Getopt-Long-2.50-4.el8.noarch.rpm                                       118 kB/s |  62 kB     00:00
(28/55): perl-File-Path-2.15-2.el8.noarch.rpm                                          43 kB/s |  37 kB     00:00
(29/55): perl-IO-1.38-422.el8.x86_64.rpm                                              237 kB/s | 141 kB     00:00
(30/55): perl-MIME-Base64-3.15-396.el8.x86_64.rpm                                      62 kB/s |  30 kB     00:00
(31/55): perl-HTTP-Tiny-0.074-3.el8.noarch.rpm                                         59 kB/s |  58 kB     00:00
(32/55): perl-Math-Complex-1.59-422.el8.noarch.rpm                                    212 kB/s | 108 kB     00:00
(33/55): perl-Pod-Escapes-1.07-395.el8.noarch.rpm                                      44 kB/s |  19 kB     00:00
(34/55): perl-PathTools-3.74-1.el8.x86_64.rpm                                         101 kB/s |  89 kB     00:00
(35/55): perl-Math-BigInt-1.9998.11-7.el8.noarch.rpm                                  130 kB/s | 194 kB     00:01
(36/55): perl-Pod-Perldoc-3.28-396.el8.noarch.rpm                                     131 kB/s |  85 kB     00:00
(37/55): perl-Pod-Simple-3.35-395.el8.noarch.rpm                                      339 kB/s | 212 kB     00:00
(38/55): perl-Pod-Usage-1.69-395.el8.noarch.rpm                                        60 kB/s |  33 kB     00:00
(39/55): perl-Socket-2.027-3.el8.x86_64.rpm                                            85 kB/s |  58 kB     00:00
(40/55): perl-Storable-3.11-3.el8.x86_64.rpm                                          171 kB/s |  97 kB     00:00
(41/55): perl-Scalar-List-Utils-1.49-2.el8.x86_64.rpm                                  53 kB/s |  67 kB     00:01
(42/55): perl-Term-ANSIColor-4.06-396.el8.noarch.rpm                                   80 kB/s |  45 kB     00:00
(43/55): perl-Term-Cap-1.17-395.el8.noarch.rpm                                         40 kB/s |  22 kB     00:00
(44/55): perl-Text-ParseWords-3.30-395.el8.noarch.rpm                                  36 kB/s |  17 kB     00:00
(45/55): perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch.rpm                              49 kB/s |  23 kB     00:00
(46/55): perl-Time-Local-1.280-1.el8.noarch.rpm                                        64 kB/s |  32 kB     00:00
(47/55): perl-Unicode-Normalize-1.25-396.el8.x86_64.rpm                               193 kB/s |  81 kB     00:00
(48/55): perl-constant-1.33-396.el8.noarch.rpm                                         58 kB/s |  24 kB     00:00
(49/55): perl-macros-5.26.3-422.el8.x86_64.rpm                                        121 kB/s |  71 kB     00:00
(50/55): perl-libs-5.26.3-422.el8.x86_64.rpm                                          1.1 MB/s | 1.6 MB     00:01
(51/55): perl-interpreter-5.26.3-422.el8.x86_64.rpm                                   3.6 MB/s | 6.3 MB     00:01
(52/55): perl-parent-0.237-1.el8.noarch.rpm                                            21 kB/s |  19 kB     00:00
(53/55): perl-podlators-4.11-1.el8.noarch.rpm                                         173 kB/s | 117 kB     00:00
(54/55): perl-threads-shared-1.58-2.el8.x86_64.rpm                                     83 kB/s |  47 kB     00:00
(55/55): perl-threads-2.21-2.el8.x86_64.rpm                                            70 kB/s |  60 kB     00:00
----------------------------------------------------------------------------------------------------------------------
總計                                                                                  3.4 MB/s |  50 MB     00:14
執行處理事項檢查
處理事項檢查成功。
執行處理事項測試
處理事項測試成功。
執行處理事項
  準備        :                                                                                                   1/1
  正在安裝    : mariadb-connector-c-config-3.1.11-2.el8_3.noarch                                                 1/55
  正在安裝    : mariadb-common-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  2/55
  正在安裝    : mariadb-errmsg-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  3/55
  正在安裝    : perl-Digest-1.17-395.el8.noarch                                                                  4/55
  正在安裝    : perl-Digest-MD5-2.55-396.el8.x86_64                                                              5/55
  正在安裝    : perl-Data-Dumper-2.167-399.el8.x86_64                                                            6/55
  正在安裝    : perl-libnet-3.11-3.el8.noarch                                                                    7/55
  正在安裝    : perl-URI-1.73-3.el8.noarch                                                                       8/55
  正在安裝    : perl-Pod-Escapes-1:1.07-395.el8.noarch                                                           9/55
  正在安裝    : perl-Net-SSLeay-1.88-2.module+el8.9.0+1517+e71a7a62.x86_64                                      10/55
  正在安裝    : perl-Mozilla-CA-20160104-7.module+el8.9.0+1521+0101edce.noarch                                  11/55
  正在安裝    : perl-IO-Socket-IP-0.39-5.el8.noarch                                                             12/55
  正在安裝    : perl-Time-Local-1:1.280-1.el8.noarch                                                            13/55
  正在安裝    : perl-IO-Socket-SSL-2.066-4.module+el8.9.0+1517+e71a7a62.noarch                                  14/55
  正在安裝    : perl-Term-ANSIColor-4.06-396.el8.noarch                                                         15/55
  正在安裝    : perl-Term-Cap-1.17-395.el8.noarch                                                               16/55
  正在安裝    : perl-File-Temp-0.230.600-1.el8.noarch                                                           17/55
  正在安裝    : perl-Pod-Simple-1:3.35-395.el8.noarch                                                           18/55
  正在安裝    : perl-HTTP-Tiny-0.074-3.el8.noarch                                                               19/55
  正在安裝    : perl-podlators-4.11-1.el8.noarch                                                                20/55
  正在安裝    : perl-Pod-Perldoc-3.28-396.el8.noarch                                                            21/55
  正在安裝    : perl-Text-ParseWords-3.30-395.el8.noarch                                                        22/55
  正在安裝    : perl-Pod-Usage-4:1.69-395.el8.noarch                                                            23/55
  正在安裝    : perl-MIME-Base64-3.15-396.el8.x86_64                                                            24/55
  正在安裝    : perl-Storable-1:3.11-3.el8.x86_64                                                               25/55
  正在安裝    : perl-Getopt-Long-1:2.50-4.el8.noarch                                                            26/55
  正在安裝    : perl-Errno-1.28-422.el8.x86_64                                                                  27/55
  正在安裝    : perl-Socket-4:2.027-3.el8.x86_64                                                                28/55
  正在安裝    : perl-Encode-4:2.97-3.el8.x86_64                                                                 29/55
  正在安裝    : perl-Carp-1.42-396.el8.noarch                                                                   30/55
  正在安裝    : perl-Exporter-5.72-396.el8.noarch                                                               31/55
  正在安裝    : perl-libs-4:5.26.3-422.el8.x86_64                                                               32/55
  正在安裝    : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                      33/55
  正在安裝    : perl-parent-1:0.237-1.el8.noarch                                                                34/55
  正在安裝    : perl-macros-4:5.26.3-422.el8.x86_64                                                             35/55
  正在安裝    : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                    36/55
  正在安裝    : perl-Unicode-Normalize-1.25-396.el8.x86_64                                                      37/55
  正在安裝    : perl-File-Path-2.15-2.el8.noarch                                                                38/55
  正在安裝    : perl-IO-1.38-422.el8.x86_64                                                                     39/55
  正在安裝    : perl-PathTools-3.74-1.el8.x86_64                                                                40/55
  正在安裝    : perl-constant-1.33-396.el8.noarch                                                               41/55
  正在安裝    : perl-threads-1:2.21-2.el8.x86_64                                                                42/55
  正在安裝    : perl-threads-shared-1.58-2.el8.x86_64                                                           43/55
  正在安裝    : perl-interpreter-4:5.26.3-422.el8.x86_64                                                        44/55
  正在安裝    : perl-Math-Complex-1.59-422.el8.noarch                                                           45/55
  正在安裝    : perl-Math-BigInt-1:1.9998.11-7.el8.noarch                                                       46/55
  正在安裝    : perl-DBI-1.641-4.module+el8.9.0+1495+f278a004.x86_64                                            47/55
  執行小令稿  : mysql-selinux-1.0.10-1.el8.noarch                                                               48/55
  正在安裝    : mysql-selinux-1.0.10-1.el8.noarch                                                               48/55
  執行小令稿  : mysql-selinux-1.0.10-1.el8.noarch                                                               48/55
libsemanage.semanage_direct_install_info: Overriding mysql module at lower priority 100 with module at priority 200.

  正在安裝    : perl-DBD-MySQL-4.046-3.module+el8.9.0+1501+450eec3b.x86_64                                      49/55
  正在安裝    : mariadb-connector-c-3.1.11-2.el8_3.x86_64                                                       50/55
  正在安裝    : mariadb-backup-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                 51/55
  正在安裝    : mariadb-gssapi-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                          52/55
  正在安裝    : mariadb-server-utils-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                           53/55
  執行小令稿  : mariadb-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                 54/55
  正在安裝    : mariadb-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                 54/55
  執行小令稿  : mariadb-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                 54/55
  正在安裝    : mariadb-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                        55/55
  執行小令稿  : mysql-selinux-1.0.10-1.el8.noarch                                                               55/55
  執行小令稿  : mariadb-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                        55/55
  核驗        : mariadb-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                         1/55
  核驗        : mariadb-backup-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  2/55
  核驗        : mariadb-common-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  3/55
  核驗        : mariadb-connector-c-3.1.11-2.el8_3.x86_64                                                        4/55
  核驗        : mariadb-connector-c-config-3.1.11-2.el8_3.noarch                                                 5/55
  核驗        : mariadb-errmsg-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  6/55
  核驗        : mariadb-gssapi-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                           7/55
  核驗        : mariadb-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                                  8/55
  核驗        : mariadb-server-utils-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64                            9/55
  核驗        : mysql-selinux-1.0.10-1.el8.noarch                                                               10/55
  核驗        : perl-DBD-MySQL-4.046-3.module+el8.9.0+1501+450eec3b.x86_64                                      11/55
  核驗        : perl-DBI-1.641-4.module+el8.9.0+1495+f278a004.x86_64                                            12/55
  核驗        : perl-Digest-1.17-395.el8.noarch                                                                 13/55
  核驗        : perl-Digest-MD5-2.55-396.el8.x86_64                                                             14/55
  核驗        : perl-IO-Socket-IP-0.39-5.el8.noarch                                                             15/55
  核驗        : perl-IO-Socket-SSL-2.066-4.module+el8.9.0+1517+e71a7a62.noarch                                  16/55
  核驗        : perl-Mozilla-CA-20160104-7.module+el8.9.0+1521+0101edce.noarch                                  17/55
  核驗        : perl-Net-SSLeay-1.88-2.module+el8.9.0+1517+e71a7a62.x86_64                                      18/55
  核驗        : perl-URI-1.73-3.el8.noarch                                                                      19/55
  核驗        : perl-libnet-3.11-3.el8.noarch                                                                   20/55
  核驗        : perl-Carp-1.42-396.el8.noarch                                                                   21/55
  核驗        : perl-Data-Dumper-2.167-399.el8.x86_64                                                           22/55
  核驗        : perl-Encode-4:2.97-3.el8.x86_64                                                                 23/55
  核驗        : perl-Errno-1.28-422.el8.x86_64                                                                  24/55
  核驗        : perl-Exporter-5.72-396.el8.noarch                                                               25/55
  核驗        : perl-File-Path-2.15-2.el8.noarch                                                                26/55
  核驗        : perl-File-Temp-0.230.600-1.el8.noarch                                                           27/55
  核驗        : perl-Getopt-Long-1:2.50-4.el8.noarch                                                            28/55
  核驗        : perl-HTTP-Tiny-0.074-3.el8.noarch                                                               29/55
  核驗        : perl-IO-1.38-422.el8.x86_64                                                                     30/55
  核驗        : perl-MIME-Base64-3.15-396.el8.x86_64                                                            31/55
  核驗        : perl-Math-BigInt-1:1.9998.11-7.el8.noarch                                                       32/55
  核驗        : perl-Math-Complex-1.59-422.el8.noarch                                                           33/55
  核驗        : perl-PathTools-3.74-1.el8.x86_64                                                                34/55
  核驗        : perl-Pod-Escapes-1:1.07-395.el8.noarch                                                          35/55
  核驗        : perl-Pod-Perldoc-3.28-396.el8.noarch                                                            36/55
  核驗        : perl-Pod-Simple-1:3.35-395.el8.noarch                                                           37/55
  核驗        : perl-Pod-Usage-4:1.69-395.el8.noarch                                                            38/55
  核驗        : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                      39/55
  核驗        : perl-Socket-4:2.027-3.el8.x86_64                                                                40/55
  核驗        : perl-Storable-1:3.11-3.el8.x86_64                                                               41/55
  核驗        : perl-Term-ANSIColor-4.06-396.el8.noarch                                                         42/55
  核驗        : perl-Term-Cap-1.17-395.el8.noarch                                                               43/55
  核驗        : perl-Text-ParseWords-3.30-395.el8.noarch                                                        44/55
  核驗        : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                    45/55
  核驗        : perl-Time-Local-1:1.280-1.el8.noarch                                                            46/55
  核驗        : perl-Unicode-Normalize-1.25-396.el8.x86_64                                                      47/55
  核驗        : perl-constant-1.33-396.el8.noarch                                                               48/55
  核驗        : perl-interpreter-4:5.26.3-422.el8.x86_64                                                        49/55
  核驗        : perl-libs-4:5.26.3-422.el8.x86_64                                                               50/55
  核驗        : perl-macros-4:5.26.3-422.el8.x86_64                                                             51/55
  核驗        : perl-parent-1:0.237-1.el8.noarch                                                                52/55
  核驗        : perl-podlators-4.11-1.el8.noarch                                                                53/55
  核驗        : perl-threads-1:2.21-2.el8.x86_64                                                                54/55
  核驗        : perl-threads-shared-1.58-2.el8.x86_64                                                           55/55

已安裝:
  mariadb-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-backup-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-common-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-connector-c-3.1.11-2.el8_3.x86_64
  mariadb-connector-c-config-3.1.11-2.el8_3.noarch
  mariadb-errmsg-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-gssapi-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-server-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mariadb-server-utils-3:10.11.6-1.module+el8.10.0+1674+fa55eae9.x86_64
  mysql-selinux-1.0.10-1.el8.noarch
  perl-Carp-1.42-396.el8.noarch
  perl-DBD-MySQL-4.046-3.module+el8.9.0+1501+450eec3b.x86_64
  perl-DBI-1.641-4.module+el8.9.0+1495+f278a004.x86_64
  perl-Data-Dumper-2.167-399.el8.x86_64
  perl-Digest-1.17-395.el8.noarch
  perl-Digest-MD5-2.55-396.el8.x86_64
  perl-Encode-4:2.97-3.el8.x86_64
  perl-Errno-1.28-422.el8.x86_64
  perl-Exporter-5.72-396.el8.noarch
  perl-File-Path-2.15-2.el8.noarch
  perl-File-Temp-0.230.600-1.el8.noarch
  perl-Getopt-Long-1:2.50-4.el8.noarch
  perl-HTTP-Tiny-0.074-3.el8.noarch
  perl-IO-1.38-422.el8.x86_64
  perl-IO-Socket-IP-0.39-5.el8.noarch
  perl-IO-Socket-SSL-2.066-4.module+el8.9.0+1517+e71a7a62.noarch
  perl-MIME-Base64-3.15-396.el8.x86_64
  perl-Math-BigInt-1:1.9998.11-7.el8.noarch
  perl-Math-Complex-1.59-422.el8.noarch
  perl-Mozilla-CA-20160104-7.module+el8.9.0+1521+0101edce.noarch
  perl-Net-SSLeay-1.88-2.module+el8.9.0+1517+e71a7a62.x86_64
  perl-PathTools-3.74-1.el8.x86_64
  perl-Pod-Escapes-1:1.07-395.el8.noarch
  perl-Pod-Perldoc-3.28-396.el8.noarch
  perl-Pod-Simple-1:3.35-395.el8.noarch
  perl-Pod-Usage-4:1.69-395.el8.noarch
  perl-Scalar-List-Utils-3:1.49-2.el8.x86_64
  perl-Socket-4:2.027-3.el8.x86_64
  perl-Storable-1:3.11-3.el8.x86_64
  perl-Term-ANSIColor-4.06-396.el8.noarch
  perl-Term-Cap-1.17-395.el8.noarch
  perl-Text-ParseWords-3.30-395.el8.noarch
  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch
  perl-Time-Local-1:1.280-1.el8.noarch
  perl-URI-1.73-3.el8.noarch
  perl-Unicode-Normalize-1.25-396.el8.x86_64
  perl-constant-1.33-396.el8.noarch
  perl-interpreter-4:5.26.3-422.el8.x86_64
  perl-libnet-3.11-3.el8.noarch
  perl-libs-4:5.26.3-422.el8.x86_64
  perl-macros-4:5.26.3-422.el8.x86_64
  perl-parent-1:0.237-1.el8.noarch
  perl-podlators-4.11-1.el8.noarch
  perl-threads-1:2.21-2.el8.x86_64
  perl-threads-shared-1.58-2.el8.x86_64

完成!

安裝完成!

4 啟用 MariaDB 伺服器的服務

啟用服務的指令如下:

$ sudo systemctl restart mariadb
$ sudo systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
5 初始化 MariaDB 資料庫環境

初始化指令如下:

$ sudo mysql_secure_installation

接下來會一直問各種問題,如下所示,詢問目前 root 用戶的密碼,因為一開始沒有設定,請直接按 Enter 鍵繼續。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):直接按 Enter 鍵

要不要設定 root 密碼?按下 Y 並輸入二次密碼。

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

是否要移除 anonymous users 的密碼?按下 Y 繼續。

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]Y
 ... Success!

是否要關閉 root 從遠端登入的權限?按下 Y 繼續。

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]Y
 ... Success!

是否要移除測試資料庫?按下 Y 繼續。

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

是否要 Reload 權限?按下 Y 繼續。

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

完成 MariaDB 初始化設定工作。

6 設定 MariaDB 的預設字元集(UTF8mb4)

請在 /etc/my.conf.d/ 目錄中新增一個新的設定檔,指令如下:

sudo vim /etc/my.cnf.d/default-character.cnf

內容如下:

[client]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

7 重新啟動 MariaDB 服務
$ sudo systemctl restart mariadb
8 確認 MariaDB 服務狀態

利用 netstat 指令確認服務是否有啟動(有發現 3306 port 運作中)。

$ sudo netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      12169/mysqld
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      608/sshd
tcp6       0      0 :::3306                 :::*                    LISTEN      12169/mysqld
tcp6       0      0 :::80                   :::*                    LISTEN      6998/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      608/sshd

利用 systemctl 指令查看一下相關服務的啟用情況。

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.11 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-10-17 15:53:01 CST; 9s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 12181 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 12131 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
  Process: 12105 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 12169 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 12 (limit: 11167)
   Memory: 176.7M
   CGroup: /system.slice/mariadb.service
           └─12169 /usr/libexec/mysqld --basedir=/usr

10月 17 15:53:00 ossiidemo.ossii.com.tw systemd[1]: mariadb.service: Succeeded.
10月 17 15:53:00 ossiidemo.ossii.com.tw systemd[1]: Stopped MariaDB 10.11 database server.
10月 17 15:53:00 ossiidemo.ossii.com.tw systemd[1]: Starting MariaDB 10.11 database server...
10月 17 15:53:01 ossiidemo.ossii.com.tw mysql-prepare-db-dir[12131]: Database MariaDB is probably initialized in /var>
10月 17 15:53:01 ossiidemo.ossii.com.tw mysql-prepare-db-dir[12131]: If this is not the case, make sure the /var/lib/>
10月 17 15:53:01 ossiidemo.ossii.com.tw systemd[1]: Started MariaDB 10.11 database server.
lines 1-21/21 (END)

安裝 phpMyAdmin 5.2 版本

[補充] 一鍵安裝 phpMyAdmin 5.2 版本

指令如下:

$ sudo dnf --enablerepo=remi install phpMyAdmin

會直接安裝最新的 5.2.0 版本,完成後可以跳到第 7 項繼續設定。

1 確認官方最新的版本

請先到 phpMyAdmin 官方下載網站確認新的版本,本文所使用最新的版本為 5.2.0 的 all-languages 版本。

image-1654050609682.png

2 設定環境變數並下載檔案

確認好 phpMyAdmin 下載版本後,利用設定環境變數的方式,讓後面的指令操作比較簡單,利用一般用戶設定即可,指令如下:

$ export VER="5.2.0"

下載指令如下。

$ cd /tmp
$ curl -o phpMyAdmin-${VER}-all-languages.tar.gz https://files.phpmyadmin.net/phpMyAdmin/${VER}/phpMyAdmin-${VER}-all-languages.tar.gz
3 解壓縮 phpMyAdmin
$ tar zxvf phpMyAdmin-${VER}-all-languages.tar.gz
4 將檔案置於正式目錄並移除壓縮檔
$ rm phpMyAdmin-*-languages.tar.gz
$ sudo mv phpMyAdmin-* /usr/share/phpMyAdmin

5 建立及設定 phpMyAdmin 相關目錄

$ sudo mkdir -p /var/lib/phpmyadmin/tmp
$ sudo chown -R apache:apache /var/lib/phpmyadmin
6 建立 phpMyAdmin 相關設定文件
$ sudo cp /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

如果是利用 dnf 指令安裝的話,可以跳過這個步驟。

7 調整設定文件內容

先用 openssl 產生一組隨機的 32 個字元長密碼,指令如下:

$ openssl rand -hex 16

把字串複製起來,並利用 vim 指令編輯設定文件的內容,指令如下:

$ sudo vim /usr/share/phpMyAdmin/config.inc.php

如果是利用 dnf 指令安裝的話,請到以下的路徑編輯設定檔:

$ sudo vim /etc/phpMyAdmin/config.inc.php

找到以下 2 項設定,第 1 個請把剛剛的字串給貼上去,大概在第 16 行,第 2 個請依照內容直接加在第 17 行位置,內容如下所示:

$cfg['blowfish_secret'] = '剛剛產生的 32 個字元的隨機字串';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

如果是利用 dnf 指令安裝的話,內容如下:

$cfg['blowfish_secret'] = '剛剛產生的 32 個字元的隨機字串';
$cfg['TempDir'] = '/var/lib/phpMyAdmin/temp';

存檔後離開。

8 設定 apache 的參數

利用 vim 指令新增 apache 針對 phpMyAdmin 的設定檔(如果是 dnf 指令安裝的話,已經存在),指令如下:

$ sudo vim /etc/httpd/conf.d/phpMyAdmin.conf

接著新增(或改成)以下的內容:

# Apache configuration for phpMyAdmin
Alias /phpMyAdmin /usr/share/phpMyAdmin/
Alias /phpmyadmin /usr/share/phpMyAdmin/

<Directory /usr/share/phpMyAdmin/>
 AddDefaultCharset UTF-8
 <IfModule mod_authz_core.c>
 # Apache 2.4
 Require all granted
 </IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/libraries/>
 Require all denied
</Directory>
<Directory /usr/share/phpMyAdmin/templates/>
 Require all denied
</Directory>
<Directory /usr/share/phpMyAdmin/setup/lib/>
 Require all denied
</Directory>
<Directory /usr/share/phpMyAdmin/setup/frames/>
 Require all denied
</Directory>

存檔後離開,測試一下設定是否正確,指令如下:

$ sudo apachectl configtest
Syntax OK

重新啟動 apache 伺服器服務。

$ sudo systemctl restart httpd
9 設定 SELinux

如果有啟用 SELinux 安全模組的話(本文預設是 enforcing 模式),請設定允許 apache 在 phpmyadmin 的目錄中提供連結資訊,不然就會出現拒絕存取的畫面,設定指令如下:

$ sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/phpmyadmin(/.*)?"
如果出現沒有 semanage 找不到指令的訊息,請安裝 policycoreutils-python-utils 套件,指令如下:
$ sudo yum install policycoreutils-python-utils -y
$ sudo firewall-cmd --add-service=http --permanent
10 登入 phpMyAdmin Web 界面

登入的位置為:http://yourip/phpmyadmin,畫面如下:

image-1654054375811.png

請輸入剛剛設定的 MariaDB Root 密碼即可登入管理畫面,如下圖所示。

image-1654054688478.png

11 建議設定

因為 phpMyAdmin 管理工具不需要開放給一般人去使用,所以建議只需開放給特定 IP 來源編輯即可,利用修改 apache 的設定檔即可達到此目的,說明如下:

sudo vim /etc/httpd/conf.d/phpmyadmin.conf

修改裡面這行,把要開放的網路 IP 或是網路段寫進來即可。

<IfModule mod_authz_core.c>
 # Apache 2.4
 Require ip 10.0.0.5 192.168.0.0/24
 </IfModule>

存檔後重新啟動 apache 伺服器。

$ sudo systemctl restart httpd

若是從非允許的 IP 位置連入,就會看到以下的畫面。

image-1654055190246.png