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

Ubuntu18.04LTSにphpMyAdminをインストールして保護する方法

phpMyAdminは、MySQLおよびMariaDB用の無料のオープンソース管理ツールです。 phpMyAdminは、MySQLまたはMariaDBデータベースを簡単に管理できるWebベースのツールです。 phpMyAdminを使用して、データベースの作成、編集、削除、データベースバックアップのインポートとエクスポート、検索の実行、ユーザーと権限の管理などの管理タスクを実行できます。

機能
  • 多言語サポート。
  • CSVおよびSQLからデータをインポートします。
  • 接続、プロセス、CPU/メモリ使用量などのMySQLサーバーアクティビティを監視するためのライブチャートを提供します。
  • データベースまたはそのサブセットでグローバルに検索します。
  • シンプルで使いやすいWebインターフェイス。
  • データをCSV、SQL、XML、PDF、Word、Excel、LaTeXなどのさまざまな形式にエクスポートします。

このチュートリアルでは、Ubuntu18.04サーバーにphpMyAdminをインストールして保護する方法を説明します。

要件
    • Ubuntu18.04を実行しているサーバー。
    • sudo権限を持つroot以外のユーザー。

phpMyAdminをインストール

開始する前に、ApacheとMySQLをサーバーにインストールする必要があります。次のコマンドでインストールできます:

sudo apt-get install apache2 mysql-server -y

デフォルトでは、phpMyAdminはUbuntu18.04のデフォルトリポジトリでは使用できません。そのため、サードパーティのPHPリポジトリをシステムに追加する必要があります。

次のコマンドを実行するだけで追加できます:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

リポジトリが追加されたら、次のコマンドを実行してphpMyAdminをインストールします。

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

インストール中に、以下に示すようにWebサーバーを選択するように求められます。

Apacheを選択し、 OKをクリックします ボタン。次のページにリダイレクトされます:

次に、はいをクリックします ボタン。次のページが表示されます:

ここで、phpMyAdminのMySQLアプリケーションのパスワードを入力し、 OKをクリックします。 ボタン。

phpMyAdminをインストールしたら、次のコマンドでmbstringPHP拡張機能を有効にします。

sudo phpenmod mbstring

次に、Apacheサービスを再起動して、変更を適用します。

sudo systemctl restart apache2
ユーザー認証の構成

phpMyAdminは、インストール時に設定した管理者パスワードを使用して、phpmyadminというデータベースユーザーを自動的に作成しました。ただし、phpMyAdminWebインターフェイスを介してデータベースを管理するための別のユーザーを作成することをお勧めします。 MariaDBの最新バージョンでは、ルートMySQLユーザーはデフォルトでauth_socketプラグインを使用して認証するように設定されています。したがって、root MySQLユーザーとしてphpMyAdminにログインする場合は、認証方法をauth_socketからmysql_native_passwordに切り替える必要があります。

まず、次のコマンドを使用してMySQLシェルにログインします。

sudo mysql

次に、次のコマンドを使用してMySQLユーザーの認証方法を確認します。

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

出力:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

上記の出力では、rootユーザーがauth_socketプラグインを使用していることがわかります。

次のコマンドを実行して、パスワードで認証するようにrootアカウントを構成できます。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

次に、次のコマンドを使用して特権をフラッシュします。

mysql> FLUSH PRIVILEGES;

次に、次のコマンドを実行して認証方法を確認します。

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

出力:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

次に、phpmyAdminuserという名前の別のユーザーを作成してphpMyAdminに接続します。

まず、MySQLシェルにログインします:

mysql -u root -p

ルートパスワードを入力し、次のコマンドでユーザーを作成します。

MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

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

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

最後に、次のコマンドを使用してMySQLシェルを終了します。

MariaDB [(none)]> exit;

次に、Webブラウザーを開き、URL http:// your-server-ip/phpmyadminを入力します。次のページにリダイレクトされます:

ここに、ユーザー名とパスワードを入力します。次に、移動をクリックします ボタン。次のページにPhpMyAdminダッシュボードが表示されます。

安全なPhpMyAdmin

これでphpMyAdminがインストールおよび構成されました。ただし、不正アクセスを防ぐためにphpMyAdminインスタンスを保護することをお勧めします。Apacheの組み込みの.htaccess認証および承認機能を使用して、phpMyAdminを保護できます。

これを行うには、最初にphpmyadmin.confファイルを編集して.htaccessファイルのオーバーライドの使用を有効にします。

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

次の変更を行います:

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

ファイルを保存して閉じます。次に、Apacheサービスを再起動して、変更を適用します。

sudo systemctl restart apache2

次に、phpmyadminディレクトリ内に.htaccessファイルを作成します。

sudo nano /usr/share/phpmyadmin/.htaccess

次の行を追加します:

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

ファイルを保存して閉じます。次に、htpasswdユーティリティを使用してadminという名前のユーザーを作成します。

sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin

出力:

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

これで、phpMyAdminインスタンスが追加の認証レイヤーで保護されました。

次に、Webブラウザーを開き、URL http:// your-server-ip/phpmyadminを入力します。以下に示すように、構成したばかりの追加のアカウント名とパスワードにリダイレクトされます。

次に、ユーザー名とパスワードを入力して、ログをクリックします。 ボタン。通常のphpMyAdmin認証ページにリダイレクトされます。

リンク
  • phpMyAdmin

Ubuntu
  1. Ubuntu12.04および14.04LTSにLibreoffice4.3をインストールする方法

  2. Ubuntu20.04LTSにMySQLをインストールする方法

  3. Ubuntu20.04LTSにMySQLWorkbenchをインストールする方法

  1. Ubuntu15.04および14.04LTSにLibreoffice4.4をインストールする方法

  2. Ubuntu16.04LTSにMytopをインストールする方法

  3. Ubuntu18.04LTSにMySQLをインストールする方法

  1. UbuntuにphpMyAdminをインストールして保護する方法

  2. Ubuntu20.04にmysql8をインストールしてセットアップする方法

  3. Ubuntu20.04にphpMyAdminをインストールする方法