この記事では、PhpMyAdminの最新バージョンをRHELベースのディストリビューション(CentOS Stream、Fedora、Rocky Linux、Alma Linuxなど)にApacheウェブサーバーとともにインストールする手順を段階的にご紹介します。
目次
PhpMyAdminとは何ですか?
PhpMyAdminは人気があり強力なウェブベースのデータベース管理ツールであり、最新バージョンを使用することで最新の機能やセキュリティの向上にアクセスできます。このガイドの終わりまでに、MySQLまたはMariaDBデータベースを管理するためにPhpMyAdminを簡単に使用できるようになります。
前提条件
始める前に、次のことを確認してください。
- RHEL、CentOS Stream、Fedora、Rocky Linux、またはAlmaLinuxシステムへのアクセスがあること。
- ルートユーザーとしてログインできるか、ソフトウェアをインストールするためのsudo権限があることを確認してください。
- 既存のLAMPスタック、これにはApache、MySQL/MariaDB、およびPHPが含まれます。LAMPがない場合は、以下の手順に従ってセットアップできます。
ステップ1:システムの更新
ソフトウェアをインストールする前に、システムが最新の状態にあることを確認することが重要です。以下のdnfコマンドを実行してください。
sudo dnf update

これにより、システム上のすべてのパッケージが最新バージョンに更新されます。
ステップ2:Apache Webサーバーのインストール
PhpMyAdminはWebベースのツールであり、それを使用するためには、以下のコマンドを使用してApache Webサーバーをインストールする必要があります。
sudo dnf install httpd

インストール後、Apacheサービスを起動し、ブート時に自動起動するように設定します。
sudo systemctl start httpd sudo systemctl enable httpd
ステップ3:MariaDBまたはMySQLのインストール
また、データベースサーバーが必要です。MariaDBまたはMySQLのいずれかをインストールできますが、この例ではMariaDBを使用します。
sudo dnf install mariadb-server

インストール後、MariaDBサービスを起動し、ブート時に自動起動するように設定します。
sudo systemctl start mariadb sudo systemctl enable mariadb
次に、MariaDBのインストールをスクリプトを実行してセキュリティを強化します。これにより、ルートユーザーのパスワードを入力するように求められ、リモートルートログインを禁止し、匿名ユーザーを削除します。また、匿名ユーザーによってアクセスされることができるデフォルトのテストデータベースも削除されます。
sudo mysql_secure_installation

ステップ4: PHPのインストール
PhpMyAdminはPHPで構築されているため、PHPといくつかの必須拡張機能を次のコマンドを使用してインストールする必要があります。
sudo dnf install php php-mysqlnd php-json php-mbstring

ステップ5: PhpMyAdminのインストール
それでは、PhpMyAdminをLinuxシステムにインストールする手順に進みましょう。Webサーバーのドキュメントルートディレクトリ/var/www/htmlに移動してください。
cd /var/www/html
次に、PhpMyAdminの最新バージョンを次のwgetコマンドを使用してダウンロードしてください。
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
ダウンロードが完了したら、ダウンロードしたアーカイブを抽出し、ディレクトリ名を便利な名前に変更してください。
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz sudo mv phpMyAdmin-*/ phpmyadmin
PhpMyAdminの設定ファイルを作成します。
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
設定ファイルを編集します:
sudo nano /var/www/html/phpmyadmin/config.inc.php
次の行を見つけて、独自のblowfish_secretを設定してください:
$cfg['blowfish_secret'] = 'your_secret';
ファイルを保存して終了します。
ステップ6: firewalldでApacheポートを開く
デフォルトでは、Apacheは通常、80ポートと443ポートをそれぞれHTTPとHTTPSに使用しています。Apacheポートを開き、サーバー上のPhpMyAdminへのアクセスを許可するには、以下を実行します:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --zone=public --add-port=443/tcp --permanent sudo firewall-cmd --reload
これらのコマンドは、指定されたポートでの着信トラフィックを許可するルールを追加し、ファイアウォールを再読み込みして変更を適用します。
ステップ7: Apache Webサーバーを再起動
最後に、変更を適用するためにApacheを再起動します:
sudo systemctl restart httpd
ステップ8: PhpMyAdminにアクセス
これで、ウェブブラウザーを介してPhpMyAdminにアクセスできるようになります。サーバーのIPアドレスまたはドメイン名に「/phpmyadmin」を追加してURLをナビゲートします:
http://your_server_ip/phpmyadmin
MySQLまたはMariaDBの資格情報を使用してログインしてください。


ステップ9: PhpMyAdminで外部アクセスを許可
PhpMyAdminの設定ファイルを開きます。
sudo vi /etc/httpd/conf/httpd.conf
あなたのPhpMyAdminが設定されているセクションである<Directory "/var/www/html">
セクションを見つけて、Require
ディレクティブをPhpMyAdminへのアクセスを許可するように更新します。
<Directory "/var/www/html/phpmyadmin"> ... Require all granted ... </Directory>
上記の設定では、どのIPアドレスからもアクセスが許可されていますが、特定のIPアドレスにアクセスを制限したい場合は、Require all granted
をRequire ip your_ip
に置き換えてください。
変更を適用するためにApacheを再起動してください。
sudo systemctl restart httpd
これで、サーバーのIPアドレスまたはドメインを使用して、外部からPhpMyAdminにアクセスできるようになります。
http://your_server_ip/phpmyadmin
外部世界からPhpMyAdminへのアクセスを開くことは、セキュリティ上のリスクを伴うことを覚えておいてください。強力な認証メカニズムを設置し、可能であればHTTPSを使用して暗号化通信を行うことを検討してください。さらに、可能であれば信頼できるIPアドレスのみにアクセスを制限するか、PhpMyAdminのログインURLをセキュアにすることを検討してください。
phpMyAdminのログインURLを変更する
phpMyAdminのデフォルトのログインURLは予測可能で、脆弱性を突くために悪意のある俳優によって一般的にターゲットにされます。ログインURLを変更することで、データベース管理インターフェイスへのアクセスを獲得することができないようになり、さらにセキュリティが強化されます。
そのために、/etc/httpd/conf.d/phpMyAdmin.confという設定ファイルを作成します。
vi /etc/httpd/conf.d/phpMyAdmin.conf
次に、以下の設定を追加します。
#Alias /phpMyAdmin /var/www/html/phpmyadmin Alias /my /var/www/html/phpmyadmin <Directory /var/www/htm/lphpmyadmin> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted # Additional IP or hostname-based access control can be added here </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # Additional IP or hostname-based access control can be added here </IfModule> </Directory>
/my
をお好みのカスタムログインURLに置き換えてください。変更を保存し、テキストエディタを終了してください。
構成ファイルを変更した後、変更を適用するためにApacheを再起動してください:
systemctl restart httpd
ウェブブラウザを開いて、新しいphpMyAdminログインURLに移動してください。
http://yourdomain.com/my/

phpMyAdminのSSL設定
ApacheウェブサーバーとphpMyAdminの間の通信を保護することは、ログイン資格情報やデータベース内容などの機密情報を保護するために重要です。これを実現する効果的な方法の1つは、Apacheウェブサーバー上のSSL(Secure Socket Layer)をphpMyAdminに設定することです。
そのためには、まずサーバー上のmod_sslモジュールをインストールしてください。
yum install httpd mod_ssl openssl
次に、証明書を保存するディレクトリを作成し、セルフサインされたSSL証明書と秘密鍵を生成します。
mkdir /etc/httpd/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

SSL証明書とキーを作成した後、ApacheのSSL構成ファイルを開きます。
vi /etc/httpd/conf.d/ssl.conf
次に、構成ファイルに次の行を追加します。
SSLEngine on SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key
変更を保存し、Apacheウェブサーバーを再起動します。
systemctl restart httpd
次に、phpMyAdminの構成ファイルを開きます。
vi /var/www/html/phpmyadmin/config.inc.php
次の行を追加して、phpMyAdminでSSLを強制します。
$cfg['ForceSSL'] = true;
変更を保存し、テキストエディタを終了します。
最後に、ウェブブラウザを開いて、SSL経由でphpMyAdminにアクセスするための次のURLに移動してください。
https://yourdomain.com/my/
不安全な接続のメッセージが表示されることにご注意ください。これは、セルフサインされた証明書を使用しているためです。「詳細」をクリックし、セキュリティ例外を確認してください。


結論
おめでとうございます!あなたはRHEL、CentOS Stream、Rocky Linux、またはAlmaLinuxシステムでPhpMyAdminをApacheと共に無事にインストールしました。このWebベースのツールは、データベースの管理を簡素化し、データベースの作成、クエリ、データ管理などのタスクを簡単に行えるようにしています。
Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/