GNU/Linux >> Linux の 問題 >  >> Debian

Debian9でApacheを使用してphpMyAdminをインストールして保護する方法

phpMyAdminは、無料のオープンソースPHPベースのアプリケーションであり、Webベースのインターフェイスを介したMySQLおよびMariaDBサーバーの管理を簡素化するように設計されています。

phpMyAdminを使用すると、MySQLデータベース、ユーザーアカウントと権限の管理、SQLステートメントの実行、さまざまなデータ形式でのデータのインポートとエクスポートなどを行うことができます。

このチュートリアルでは、ApacheWebサーバーを使用してDebian9にphpMyAdminをインストールして保護するために必要な手順について説明します。

前提条件#

このチュートリアルを進める前に、次の要件を満たしていることを確認してください。

  • DebianサーバーにLAMP(Linux、Apache、MySQL、およびPHP)をインストールします。
  • sudo権限を持つユーザーとしてログインしました。

オプションですが、HTTPS経由でphpMyAdminインストールにアクセスすることをお勧めします。ドメインがSSLでまだ保護されていない場合は、このガイドに従って、Debian 9でLet’sEncryptを使用してApacheを保護できます。

phpMyAdminのインストール#

Debian 9にphpMyAdminをインストールするには、次の手順を実行します。

  1. パッケージインデックスを更新し、システムパッケージを最新バージョンにアップグレードします。

    sudo apt update && sudo apt upgrade
  2. 次のように入力して、デフォルトのDebianリポジトリからphpMyAdminパッケージをインストールします。

    sudo apt install phpmyadmin

    インストーラーは、phpMyAdminを実行するように自動的に構成する必要があるWebサーバーを選択するように求めます。Spaceを押してapacheを選択します。 次にEnter

    次に、dbconfig-commonを使用するかどうかを尋ねられます データベースを設定するには、[Yes]を選択します Enterを押します 。

    phpMyAdminがデータベースに登録するためのパスワードを入力し、OKを選択します Enterを押します 。

    パスワードを確認し、OKを選択します Enterを押します 。

  3. インストールプロセスが完了したら、変更を有効にするためにApacheを再起動します。

    sudo systemctl restart apache2
管理用MySQLユーザー番号の作成

MariaDB 10.1(およびそれ以降)を実行しているDebianシステムでは、rootユーザーはauth_socketを使用するように設定されています。 デフォルトの認証方法。

auth_socket プラグインは、ローカルホストからUnixソケットファイルを介して接続するユーザーを認証します。これは、パスワードを入力してrootとして認証できないことを意味します。

MySQLユーザーrootの認証方法を変更する代わりに、新しい管理用MySQLユーザーを作成します。このユーザーはrootユーザーと同じ権限を持ち、mysql_native_passwordを使用するように設定されます。 認証方法。

このユーザーを使用してphpMyAdminダッシュボードにログインし、MySQLまたはMariaDBサーバーで管理タスクを実行します。

rootユーザーとしてMySQLサーバーにログインすることから始めます:

sudo mysql

MySQLシェル内から、次のコマンドを実行して、新しい管理ユーザーを作成し、適切な権限を付与します。

CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
管理ユーザーにpadminという名前を付けました 。任意の名前を使用できますが、必ず強力なパスワードを設定してください。

phpMyAdminへのアクセス#

phpMyAdminインターフェースにアクセスするには、お気に入りのブラウザを開き、サーバーのドメイン名またはパブリックIPアドレスに続けて/phpmyadminを入力します。 :

https://your_domain_or_ip_address/phpmyadmin

以前に作成した管理ユーザーのログイン資格情報を入力し、[Go]をクリックします 。

ログインすると、phpMyAdminダッシュボードが表示されます。これは次のようになります。

phpMyAdminの保護#

セキュリティの層を追加するために、基本認証を設定してphpMyAdminディレクトリをパスワードで保護します。

まず、htpasswdを使用してユーザーと一緒にパスワードファイルを作成します Apacheパッケージに付属するツール。 .htpasswdを保存します /etc/phpmyadminのファイル ディレクトリ:

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

この例では、padminという名前のユーザーを作成しています。 。任意のユーザー名を選択できます。管理用のMySQLユーザーと同じである必要はありません。

上記のコマンドにより、ユーザーのパスワードを入力して確認するように求められます。

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

ユーザーを追加する場合は、-cなしで同じコマンドを使用できます。 フラグ:

sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2

次のステップは、phpMyAdminディレクトリをパスワードで保護し、.htpasswdを使用するようにApacheを設定することです。 ファイル。

これを行うには、phpmyadmin.confを開きます phpMyAdminのインストール中に自動的に作成されたファイル:

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

そして、黄色で強調表示されている次の行を編集/挿入します。

/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
    Options  +FollowSymLinks +Multiviews +Indexes  # edit this line
    DirectoryIndex index.php

    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_php5.c>
    ...

ファイルを保存して閉じ、Apacheを再起動して変更を有効にします:

sudo systemctl restart apache2

これで、phpMyAdminにアクセスするときに、以前に作成したユーザーのログインクレデンシャルを入力するように求められます。

https://your_domain_or_ip_address/phpmyadmin

基本認証を入力すると、phpMyAdminログインページが表示され、MySQL管理ユーザーのログイン資格情報を入力する必要があります。

/phpmyadminを変更することもお勧めします よりユニークで安全なものへのエイリアス。
Debian
  1. Debian11にMongoDBをインストールして保護する方法

  2. Debian11にMariaDBをインストールして保護する方法

  3. Apache を使用して Debian 11 に phpMyAdmin をインストールする

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

  2. Ubuntu18.04でApacheを使用してphpMyAdminをインストールして保護する方法

  3. CentOS7でApacheを使用してphpMyAdminをインストールして保護する方法

  1. Debian9でApacheを使用してphpMyAdminをインストールして保護する方法

  2. Debian9でApacheを使用してDrupalをインストールおよび構成する方法

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