もっと詳しく

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を選択し、をクリックします わかった ボタン。 次のページにリダイレクトされます。

dbconfigcommonを使用してデータベースを構成します

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

MySQLアプリケーションのパスワードを設定する

パスワードを認証する

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

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

これで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を入力します。 以下に示すように、構成した追加のアカウント名とパスワードにリダイレクトされます。

.htaccessで保護されたphpMyAdmin

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

The post Ubuntu18.04LTSにphpMyAdminをインストールして保護する方法 appeared first on Gamingsym Japan.