GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04LTSにLAMPスタックを使用してphpMyAdminをインストールする

PhpMyAdmin は、PHPプログラミング言語で記述された無料のオープンソースのWebベースのデータベース管理ツールです。データベース管理者は、phpMyAdminを使用して、Webブラウザを介して単一または複数のデータベースサーバーを簡単に管理できます。これは、MySQLプロンプトに慣れていない人に役立ちます。 phpMyAdminを使用すると、データベース管理者は、データベースの作成、編集、名前変更、削除、データベースのインポートとエクスポート、テーブル、フィールド、フィールドの作成、SQLコマンドの実行など、あらゆる種類のデータベース管理タスクを実行できます。このチュートリアルでは、LAMPスタックを備えたphpMyAdminをUbuntu20.04LTSサーバーのオペレーティングシステムにインストールします。

Ubuntu20.04LTSにLAMPスタックを使用してphpMyAdminをインストールする

Ubuntu 20.04 LTSサーバーにphpMyAdminをインストールするには、LAMPスタックが機能している必要があります。 LAMPスタックをまだインストールしていない場合は、次のガイドを参照してください。

  • Ubuntu 20.04 LTSにApache、MySQL、PHP(LAMP)スタックをインストールする

LAMPスタックを設定したら、「ユニバース」リポジトリを有効にします 、まだ有効になっていない場合。

$ sudo add-apt-repository universe
$ sudo apt update

次に、コマンドを使用してphpMyAdminとその他すべての必要な依存関係をUbuntu20.04にインストールします。

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

次に、phpMyAdminを実行するように自動的に構成する必要があるWebサーバーを選択します。上/下矢印の付いたWebサーバーを選択し、スペースバーキーを押します。 Webサーバーを選択すると、その前に*(星)記号が表示されます。 Tabキーを押して[OK]を選択し、もう一度Enterキーを押して続行します。

PhpMyAdminを使用するには、データベースをインストールして構成する必要があります。 dbconfig-commandで実行できます。

はいを選択します dbconfig-commonを使用してphpmyadminのデータベースを構成するには:

MySQLデータベースサーバーに登録するには、phpmyadminのパスワードを指定する必要があります。パスワードが指定されていない場合、ランダムなパスワードが生成されます。

強力なパスワードを入力し、Enterキーを押して続行します:

パスワードを再入力してください:

このガイドを書いている時点で、phpmyadminのパスワードを設定しようとすると、次のエラーがスローされます。

 An error occurred while installing the database:
mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy
 the current policy requirements . Your options are:                                  
* abort - Causes the operation to fail; you will need to downgrade,             
reinstall, reconfigure this package, or otherwise manually intervene          
to continue using it. This will usually also impact your ability to           
install other packages until the installation failure is resolved.            
* retry - Prompts once more with all the configuration questions                
(including ones you may have missed due to the debconf priority               
setting) and makes another attempt at performing the operation.               
* retry (skip questions) - Immediately attempts the operation again,            
skipping all questions. This is normally useful only if you have 
solved the underlying problem since the time the error occurred.              
* ignore - Continues the operation ignoring dbconfig-common errors.             
This will usually leave this package without a functional database.

このエラーは、 VALIDATE PASSWORDを有効にしたために発生します 「2.2MySQLrootユーザーの認証方法の変更」というタイトルのセクションで説明されているコンポーネント 上記のLAMPスタックインストールガイドに記載されています。

この問題を修正するには、パスワードの検証コンポーネントを一時的に無効にし、phymyadminのパスワードを設定した後で再度有効にする必要があります。 [OK]をクリックして上記のエラーメッセージを閉じ、[中止]を選択します phpmyadminのインストールをキャンセルします。

次に、次のコマンドを実行してMysqlプロンプトにログインします。

$ mysql -u root -p

mysqlプロンプトから、次のコマンドを調整して、ValidatePasswordプラグインを無効にします。

mysql> UNINSTALL COMPONENT "file://component_validate_password";

上記のコマンドはプラグインを無効にするだけで、削除しないことに注意してください。後で有効にすることができます。次に、「exit」と入力してMysqlプロンプトを終了します。

mysql> exit

次に、コマンドを使用してphpmyadminを再度インストールしてみてください:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

「はい」を選択し、Enterキーを押して、dbconfig-commonを使用してphpmyadminのデータベースを構成します。今回は、phpmyadminのインストールは問題なく機能します。

phpmyadminをインストールしたら、ValidatePasswordプラグインを再度有効にします。これを行うには、Mysqlプロンプトにログインします:

$ mysql -u root -p

mysqlプロンプトから、次のコマンドを調整して、ValidatePasswordプラグインを無効にします。

mysql> INSTALL COMPONENT "file://component_validate_password";

exitと入力して、mysqlプロンプトを終了します。

mysql> exit

最後に、 mbstringを有効にします 以下に示すように、php拡張機能を使用してApacheサービスを再起動し、変更を更新します。

$ sudo phpenmod mbstring
$ sudo systemctl restart apache2

Webブラウザからinfo.phpファイルをロードすることで、mbstring拡張子が有効になっているかどうかを確認できるようになりました。

これを行うには、ブラウザからhttp://IP-address/info.phpに移動します。

mbstringプラグインが有効になっていることがわかります。

phpMyAdminダッシュボードにアクセスするための専用ユーザーを作成する

phpMyAdminがインストールされると、'phpmyadmin'という名前のデータベースユーザー インストール時に設定した管理者パスワードで自動的に作成されます。 'phpmyadmin'ユーザーまたはmysqlrootを使用してphpmyAdminダッシュボードにログインできます ユーザー。ただし、phpMyAdminWebインターフェイスを介してデータベースを管理するための専用ユーザーを作成することをお勧めします。

これを行うには、次のコマンドを使用してmysqlシェルにログインします。

$ mysql -u root -p

mysqlルートパスワードを入力します。これで、mysqlシェルになります。

次のコマンドを入力して、phpmyadminの新しい専用ユーザーを作成します。

mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';

ここでは、 phpmyadmin phpmyadminダッシュボードにアクセスするための新しいユーザーです。 phpmyadminuserのパスワードはPassword123#@!です。 。これらの値を独自の値に置き換えてください。

次に、コマンドを使用して「phpmyadminuser」に適切な権限を付与します。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

最後にmysqlシェルを終了します:

mysql> exit

これで、phpmyadminWebインターフェイスを介してデータベースを管理するための専用ユーザーが作成されました。さあ、phpmyadminダッシュボードにアクセスしましょう。

phpMyAdminダッシュボードにアクセス

Webブラウザーを開き、 http:// ip-address / phpmyadminに移動します。 またはhttp:// domain / phpmyadmin 。 phpmyadminログインページが表示されます。 mysql rootを使用してphmyadminインターフェースにログインします ユーザーまたは前の手順で作成した新しいユーザー。

phpMyAdminダッシュボードは次のようになります。

今後は、phpMyAdminWebインターフェイスを介してデータベースを管理できます。

セキュアphpMyAdmin

このセクションでは、PhpMyAdminのインストールを保護するためのヒントをいくつか紹介します。次の手順では、phpMyAdminを100%安全に保護できないことに注意してください。ただし、少なくとも、実行者がphpmyadminダッシュボードに侵入しようとする試みは遅くなります。

phpmyadminダッシュボードへのMySQLルートログインを無効にする

特にネットワーク経由でデータベースを管理する場合、mysqlrootユーザーにphpMyAdminダッシュボードへのアクセスを許可することは安全ではありません。これが、前のセクションで専用ユーザーを作成した理由です。すでに専用ユーザーがいるため、mysqlrootログインを安全に無効にしてphpmyadminダッシュボードにアクセスして攻撃を最小限に抑えることができます。

通常、phpmyadminは / usr / share / phpmyadmin /の下にインストールされます ディレクトリとその設定ファイルは/etc/phpmyadminディレクトリに保存されます。

phpmyadmin設定ファイルを編集します:

$ sudo nano /etc/phpmyadmin/config.inc.php

次のパラメータを追加/変更します:

[...]
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
[...]

ファイルを保存して閉じます。

コマンドを使用してApacheWebサーバーを再起動します:

$ sudo systemctl restart apache2

次に、rootユーザーとしてphpmyadminにログインしてみます。 アクセスが拒否されました エラーメッセージ:

パスワードで保護するphpMyAdminログインページ

phpMyAdminは攻撃者にとって簡単な標的であるため、次に推奨されるタスクはphpyMyAdminWebログインページを保護することです。 phpMyAdminを不正アクセスから保護する最も一般的な方法は、Apacheの組み込みの .htaccessを使用することです。 認証および承認機能。

まず、 .htaccessの使用を有効にします /phpmyadmin.confを編集してファイルを上書きする ファイル:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

「AllowOverrideAll」を追加 内の行 以下に示すセクション。

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All

CTL + Xを押します 続いてY ファイルを保存して閉じます。

次のコマンドを使用して、apacheサービスを再起動し、変更を更新します。

$ sudo systemctl restart apache2

次に、 .htaccessという名前のファイルを作成します / usr / share / phpmyadmin /内 コマンドを使用したディレクトリ:

$ sudo nano /usr/share/phpmyadmin/.htaccess

その中に次の行を追加します:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

ファイルを保存して閉じます。

次に、次のコマンドを実行して、 ostechnixなどの新しいユーザーを作成します。 :

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd ostechnix

'ostechnix'を任意のユーザー名に置き換えます。新しいユーザーのパスワードを入力するように求められます。 2回入力してください。

出力例:

New password: 
Re-type new password: 
Adding password for user ostechnix

phpMyAdminWebインターフェイスにアクセスするためのセキュリティレイヤーが追加されました。これ以降、phpMyAdmin Webインターフェイスにアクセスしようとすると、前の手順で構成した追加のユーザー名とそのパスワードを入力するように求められます。

正しいユーザー名とパスワードを入力すると、実際のphpmyadmin認証ログインページにリダイレクトされます。データベースのクレデンシャルを入力するだけで、Phpmyadminダッシュボードにアクセスできます。

関連記事:

  • Ubuntu20.04LTSにLEMPスタックを使用してphpMyAdminをインストールする

Ubuntu
  1. Ubuntu20.04にLAMPスタックを使用してWordPressをインストールする

  2. Ubuntu14.10にphpMyAdminをインストールします

  3. Ubuntu22.04LTSにLAMPスタックをインストールする方法

  1. UbuntuにLAMPスタックを使用してphpMyAdminをインストールする方法

  2. Ubuntu18.04LTSにLAMPスタックを使用してphpMyAdminをインストールします

  3. Ubuntu20.04LTSにLEMPスタックを使用してphpMyAdminをインストールする

  1. Ubuntu18.04LTSにMEAN.JSスタックをインストールします

  2. Ubuntu20.04にLAMPスタックを使用してWordPressをインストールする方法

  3. Ubuntu 18.04にApache(LAMP)を使用してphpMyAdminをインストールする方法