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

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

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

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

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

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

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

必須ではありませんが、HTTPS経由でphpMyAdminインストールにアクセスすることをお勧めします。ドメインがSSLでまだ保護されていない場合は、このガイドに従って、Ubuntu 18.04でLet’sEncryptを使用してApacheを保護できます。

phpMyAdminのインストール#

Ubuntu 18.04サーバーにphpMyAdminをインストールするには、次の手順に従います。

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

    sudo apt update && sudo apt upgrade
  2. 次のコマンドを使用して、デフォルトのUbuntuリポジトリから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ユーザーを作成する#

MySQL 5.7(およびそれ以降)を実行しているUbuntuシステムでは、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を変更することもお勧めします よりユニークで安全なものへのエイリアス。
Ubuntu
  1. UbuntuにphpMyAdminをインストールして保護する方法

  2. Ubuntu18.04および16.04にApacheMavenをインストールする方法

  3. Ubuntu 18.04にApacheを使用してphpMyAdminをインストールします-ステップバイステップのプロセス?

  1. UbuntuにApacheZooKeeperをインストールする方法

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

  3. Ubuntu18.04にNginxを使用してphpMyAdminをインストールする方法

  1. Ubuntu18.04でApacheを使用してownCloudをインストールおよび構成する方法

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

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