はじめに
PhpMyAdmin データベースを管理するためのグラフィカルユーティリティです。通常、MySQLまたはMariaDBデータベースをリモート管理するために使用されます。
このチュートリアルでは、CentOS8システムにphpMyAdminをインストールする方法について説明します。
前提条件
- CentOS8Linuxがインストールされたサーバー
- MySQLまたはMariaDBデータベースの動作
- ターミナルウィンドウ/コマンドライン(検索>ターミナル)
- sudoのユーザーアカウント またはルート 特権
ステップ1:CentOS8にphpMyAdminをインストールする
phpMyAdminツールは、デフォルトのCentOS8リポジトリには含まれていません。ただし、ファイルは手動でダウンロードできます。
1.ターミナルウィンドウで、次のコマンドを入力してphpMyAdminファイルをダウンロードします。
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip
2. .zipを抽出します ファイルアーカイブ:
unzip phpMyAdmin-4.9.4-all-languages.zip
3.抽出したファイルを/usr/share/phpmyadmin
に移動します ディレクトリ:
sudo mv phpMyAdmin-4.9.4-all-languages.zip /usr/share/phpmyadmin
4.ディレクトリを変更します:
cd /usr/share/phpmyadmin
5. sample phpの名前を変更します 構成 ファイル:
sudo mv config.sample.inc.php config.inc.php
6.php構成を開きます 編集用ファイル:
sudo nano config.inc.php
7.次の行を見つけます:
$cfg['blowfish_secret'] = '';
8.行を編集して、新しいphpルートパスワードを入力します 次のように、一重引用符の間:
$cfg['blowfish_secret']='my_password';
9.ファイルを保存します( Ctrl+o
)を閉じて( Ctrl+x
。
10.次に、一時的な phpMyAdminの権限を作成して設定します ディレクトリ:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp
ステップ2:phpMyAdmin用にApacheを構成する
1.Apache構成ファイルを作成します :
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2.これにより、新しい空の構成ファイルが作成されます。次のコードを入力します:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</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
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</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
</IfModule>
</Directory>
3.ファイルを保存します( Ctrl + o )そして終了します( Ctrl + x 。
4.最後に、Apacheサービスを再起動して、構成ファイルに加えられた変更を適用します。
systemctl restart httpd
ステップ3:SELinuxとファイアウォールを構成する
SELinuxは、Security-EnhancedLinuxの略です。これは、セキュリティを向上させるカーネルレベルの拡張機能です。 phpMyAdminが機能するように、このプロトコルを再構成します。
1.次のソフトウェアパッケージをインストールすることから始めます。
yum –y install policycoreutils-python-utils
CentOS 8の一部のバージョンには、このパッケージがすでにインストールされている場合があります。その場合、出力は何もすることがないことを示しており、次のステップに進むことができます。
2.次に、 phpmyadminへのアクセスを有効にします 次のコマンドを使用したディレクトリ:
semanage fcontext –a –t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext –a –t httpd_sys_rw_content_t "usr/share/phpmyadmin/tmp(/.*)?"
restorecon -Rv '/usr/share/phpmyadmin/'
最初の2つのコマンドは、完了するまでに少し時間がかかる場合があります。 3番目のコマンドは、 phpmyadminを介して繰り返されます 変更を適用するディレクトリ。
トラフィックを許可するようにファイアウォールを調整する
1. HTTPを許可するファイアウォールルールを作成します コマンドを使用したトラフィック:
firewall–cmd ––permanent ––add-service=http
2.次の変更を行った後、必ずファイアウォールをリロードしてください。
firewall-cmd ––reload
ステップ4:phpMyAdminをテストする
1. Webブラウザーを開き、次のURLに移動します。
localhost/phpmyadmin
ブラウザにphpMyAdminログインページが表示されます。ただし、ログインしようとすると、次のエラーメッセージが表示される場合があります。
「サーバーがクライアントに不明な認証方法を要求しました。」
このエラーは、 MySQL 8.xが原因で発生します パスワード認証メカニズムをアップグレードしました。 PhpMyAdminは、この認証方法を使用するようにまだ更新されていません。
2.この方法を回避するには、MySQLシェルを開き、rootユーザーを変更します。
mysql –u root –p
password
ALTER USER 'root'@'localhost' IDENTIFIED WITH myswl_native_password BY 'password';
3.password
を置き換えます MySQLのインストールを保護するときに設定した実際のパスワードを使用します。
4.Webブラウザを更新しますphpMyAdmin ページをクリックし、MySQLのユーザー名とパスワードでログインします。
ステップ5:phpMyAdminへの不正アクセスを制限する(オプション)
これで、phpMyAdminユーティリティが機能するはずです。このセクションは、機密データベースへの不正アクセスを防ぐのに役立ちます。
特定のIPアドレスからのphpMyAdminのみを許可する
1. phpmyadmin.confを開きます テキストエディタのファイル(nanoを使用します):
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2.次のセクションを見つけます:
Require all granted
3.これらの行を次のように置き換えます。
Require ip your_system's_ip_address
Require ip ::1
4.ファイルを保存して閉じます。
追加のパスワード認証を追加する
1.新しい認証ファイルを作成します。ターミナルウィンドウで、次のように入力します。
mkdir /etc/phpmyadmin
htpasswd –c /etc/phpmyadmin/.htpasswd admin
2.管理者パスワードを入力して確認するように求められます。そうして、パスワードをメモします。
3.次に、 .htpasswdを使用するようにApacheを更新します /etc/httpd/conf.d/phpmyadmin.confを編集して 次のように:
nano /etc/httpd/conf.d/phpmyadmin.conf
4. AddDefaultCharset UTF-8
というラベルの付いた行のすぐ下 、次の行を追加します:
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
5.ファイルを保存して終了します。
6.最後に、Apacheを再起動します。
systemctl restart httpd
更新された資格情報を使用してphpMyAdminにアクセスする
1. localhost / phpmyadminに戻ります 。
2.新しく定義した管理者ユーザー名を入力します およびパスワード。
前のセクションの最後に表示されているメインのログイン画面が表示されます。