公開日:2026/9/10 0:00:00

Amazon Linux 2023 Section 2 Apache + mariadb + PHP 構成

Section 2.4 SPAL phpMyAdmin

About

SPAL (Supplementary Packages for Amazon Linux) から phpMyAdmin をインストールします。 SPALとは何か?については Amazon Linux の補足パッケージを読んでください。 開発や検証用なので本番では使わないという前提で適応していきます。

そのついでに、PHPからDatabaseを使う場合のSELinux関連の設定についても行っておきます。

環境は、Section 2.3を行った直後の状態からとなります。

パッケージの確認

リポジトリに登録されているものからパッケージ名とバージョンを指定してインストールすることになります。 まずは、提供されているかどうかを調べます。

[root@localhost ~]# dnf search phpMyAdmin
一致する項目はありませんでした。
[root@localhost ~]#

SPAL リポジトリの設定をしていないとこうなります。

SPALの設定

Amaozn Linux 2023.9.20251117 以降なら使えるのでこのバージョン 2023.12 では問題ないのはわかっているので、dnfでリポジトリ設定をインストールします。

[root@localhost ~]# dnf -y install spal-release
依存関係が解決しました。
========================================================================================================================
 パッケージ                    アーキテクチャー       バージョン                      リポジトリー                サイズ
========================================================================================================================
インストール:
 spal-release                  noarch                 2023-5.amzn2023                 amazonlinux                  12 k
依存関係のインストール:
 spal-repo-cdn                 noarch                 2023-5.amzn2023                 amazonlinux                 9.5 k

トランザクションの概要
========================================================================================================================
インストール  2 パッケージ

(略)
完了しました!
[root@localhost ~]#

インストール中に、サポート要件が英語で表示されるので確認しておいてくださいと公式でも言っています。 SPAL経由で入れたものは、AWSとしては公式サポートしないとか、RHEL 9 の EPEL が更新しなければ何もしないよとかあるので、本番のものに適応するかは自己責任で……という感じです。

[root@localhost ~]# dnf repolist --all
repo id                               repo の名前                                                                 状態
amazonlinux                           Amazon Linux 2023 repository                                                有効化
amazonlinux-debuginfo                 Amazon Linux 2023 repository - Debug                                        無効化
amazonlinux-source                    Amazon Linux 2023 repository - Source packages                              無効化
amazonlinux-spal                      Amazon Linux 2023 SPAL repository                                           有効化
amazonlinux-spal-debuginfo            Amazon Linux 2023 SPAL repository - Debug                                   無効化
amazonlinux-spal-source               Amazon Linux 2023 SPAL repository - Source packages                         無効化
kernel-livepatch                      Amazon Linux 2023 Kernel Livepatch repository                               有効化
kernel-livepatch-source               Amazon Linux 2023 Kernel Livepatch repository - Source packages             無効化
[root@localhost ~]#

これで有効になったと思うので、phpMyAdminをインストールします。

インストール

パッケージの有無とバージョンを確認します。

[root@localhost ~]# dnf search phpMyAdmin
============================================== 名前 完全一致: phpMyAdmin ===============================================
phpMyAdmin.noarch : A web interface for MySQL and MariaDB
[root@localhost ~]# dnf repoquery phpMyAdmin
phpMyAdmin-0:5.2.3-1.1.spal2023.noarch
[root@localhost ~]#

バージョンを確認できたのでインストールします。

[root@localhost ~]# dnf -y install phpMyAdmin
依存関係が解決しました。
========================================================================================================================
 パッケージ                  アーキテクチャー    バージョン                         リポジトリー                  サイズ
========================================================================================================================
インストール:
 phpMyAdmin                  noarch              5.2.3-1.1.spal2023                 amazonlinux-spal              8.4 M
依存関係のインストール:
 php8.5-process              x86_64              8.5.9-1.amzn2023.0.1               amazonlinux                    49 k

トランザクションの概要
========================================================================================================================
インストール  2 パッケージ

(中略)

完了しました!
[root@localhost ~]#

設定変更

設定的には、localhost からのみという制限が入っているので、ブラウザからアクセスできないので設定を変えます。

[root@localhost ~]# cp --preserve=context /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.org
[root@localhost ~]# cat /etc/httpd/conf.d/phpMyAdmin.conf.org \
 | sed -E "/phpMyAdmin\/>/,/Require local/s/Require local/Require all granted/" \
 > /etc/httpd/conf.d/phpMyAdmin.conf
[root@localhost ~]# diff -cT /etc/httpd/conf.d/phpMyAdmin.conf.org /etc/httpd/conf.d/phpMyAdmin.conf
*** /etc/httpd/conf.d/phpMyAdmin.conf.org       YYYY-mm-dd hh:ii:ss.000000000 +0900
--- /etc/httpd/conf.d/phpMyAdmin.conf           YYYY-mm-dd hh:ii:ss.000000000 +0900
***************
*** 11,17 ****
        <Directory /usr/share/phpMyAdmin/>
           AddDefaultCharset UTF-8

!          Require local
        </Directory>

        <Directory /usr/share/phpMyAdmin/setup/>
--- 11,17 ----
        <Directory /usr/share/phpMyAdmin/>
           AddDefaultCharset UTF-8

!          Require all granted
        </Directory>

        <Directory /usr/share/phpMyAdmin/setup/>

Apacheの設定を変えたのでサービスの再起動を行います。

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]#

これでブラウザから localhost/phpMyAdmin/ でアクセスできるようになっています。

SELinux有効時の設定

Databaseを使うのであれば下記のコマンドで設定を適応します。

[root@localhost ~]# setsebool -P httpd_can_network_connect_db on

ファイルのアップロード機能がある場合は httpd_sys_script_anon_writeをonに、問い合わせフォームからメールを出す場合 httpd_can_sendmail をonにする必要があります。

なお、-P オプションをつけないと再起動時にリセットされてしまいます。 無効にする場合は、-Pをつけずに設定を変えて動作確認をして、その後、永続化するのが安全な手順です。