Image

ナレッジベース → Ubuntu 20.04 での phpMyAdmin のインストールと構成

[仮想サーバー]
公開日: 07.06.2023

データベースをWebインターフェースから操作するために、phpMyAdminというWebエディタがあります。このツールはMySQL/MariaDBデータベースに接続し、既存のデータベースを表示し、新しいデータベースを作成したり、テーブル内のデータを編集することができます。基本的には、mysqlコンソールでできることと同じですが、データ作業が頻繁な場合は、より便利で視覚的に操作できます。ここでは、LAMPが事前にインストールされたUbuntu 20.04にphpMyAdminをインストールする方法を説明します。


すべての設定はrootユーザーで行いますが、通常のユーザーを使用する場合は、コマンドの前にsudoを追加してください。


1. 必要なコンポーネントとデータベースエディタそのものをインストールします

apt install php-mbstring
apt install phpmyadmin


インストール中に、どのWebサーバーにエディタを設定するかを選択する画面が表示されます。

  • [*]apache2
  • []lighttpd

今回はLAMPが事前にインストールされているサーバーのため、apache2を選択します。

次に、データベースエディタ自体のためのデータベースを作成するかどうかを尋ねられます。ここでは「はい」を選択し、次の画面でphpmyadminユーザー用のパスワードを設定するように求められます。パスワードを入力し、次の画面で確認して入力ミスを避けます。

設定を反映させるため、Webサービスを再起動します:

/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart


2. 基本設定

http://server-ip/phpmyadmin にアクセスして動作を確認し、任意のデータベースのログイン情報を入力します。例えば、先ほど作成したphpmyadminのログイン名と設定したパスワードです。複数のデータベースを一度に操作する必要がある場合、1人のユーザーでそれらを表示できるように、rootユーザーの権限を委譲する必要があります。

mysql -u root -p

CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'パスワード'; GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost'; FLUSH PRIVILEGES;


これで、alldbuserユーザーでログインすると、そのサーバー上に作成されたすべてのデータベースが表示されます。


3. セキュリティ設定


データベースエディタを保護し、パスワードの推測や潜在的な脆弱性を防ぐために、Webサーバーレベルで認証を追加します。

nano /usr/share/phpmyadmin/.htaccess

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


ユーザーを追加し、そのパスワードを設定します:

htpasswd -c /etc/phpmyadmin/.htpasswd webdb-user

Webサーバーレベルでの設定を適用するために、/etc/apache2/apache2.confファイルでAllowOverrideの値をAllに変更します。設定ブロックは以下のようになります:

AllowOverride All
Require all granted


Webサービスを再起動します。お使いのWebサーバーに応じて、次のコマンドを実行してください:

/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart


これで、http://server-ip/phpmyadmin にアクセスすると、ログイン画面が表示されます。ここでのログイン名はwebdb-userです。また、未知のIPアドレスからのアクセスに対してパスワード入力画面を表示させず、「Forbidden」というメッセージを表示する設定を追加することもできます。次の行を.htaccessファイルに追加し、静的IPアドレスを指定してください:

nano /usr/share/phpmyadmin/.htaccess

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


設定が完了しました。SSL証明書を使用したhttpsプロトコルを使用してパスワードを入力することを強く推奨します。そうすることで、データの盗聴を防ぐことができます。





No Comments Yet