Image

ナレッジベース → Lemp Debian 12 での phpMyAdmin のインストールと構成

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

データベースをウェブインターフェースで操作するために、phpMyAdminというウェブエディターがあります。このツールは、MariaDBデータベースに接続し、既存のデータベースを表示したり、新しいデータベースを作成したり、テーブル内のデータを編集したりできます。基本的には、mysqlコンソールでできることと同じですが、特に頻繁にデータを操作する際に、はるかに便利でわかりやすいです。Nginx + MariaDB + PHP (LEMP) 事前設定済みのDebian 12 LinuxサーバーにphpMyAdminをインストールする方法を見てみましょう。

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

1. 必要なコンポーネントとデータベースエディター自体をインストールする

apt install php-mbstring
apt install phpmyadmin


インストールプロセス中に、エディターをどのウェブサーバーに設定するか選択するように求められます。

  • []apache2
  • []lighttpd

このサーバーにはLEMPが事前にインストールされているため、両方のフィールドを空のままにしてOKをクリックします。

次に、エディター自体のユーザー設定や必要なデータを保存するためのデータベースを作成するかどうかが提案されます。ここでは「はい」を選択し、次のウィンドウでphpmyadminユーザーのパスワードを設定するよう求められます。パスワードを入力し、次のウィンドウで確認して入力ミスを防ぎます。

2. 基本設定

http://server-ip/phpmyadmin のリンクにアクセスして動作を確認します。ログインには、作成したばかりのデータベースのログイン情報や、phpmyadminのログインと設定したパスワードを使用できます。時には、複数のデータベースを一度に操作する必要があるため、すべてのデータベースを1人のユーザーで表示するには、ユーザーを作成し、rootユーザーの権限を委譲する必要があります。

mysql -u root -p

CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost'; FLUSH PRIVILEGES;

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

rootユーザーにパスワードを設定する必要がある場合は、次のコマンドを使用します:

mysql -u root
use mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
FLUSH PRIVILEGES;
exit

phpMyAdminフォルダーへのリンクをnginxウェブサーバーのルートディレクトリに追加します:

ln -s /usr/share/phpmyadmin /usr/share/nginx/html

3. セキュリティ設定
データベースエディターをパスワードの推測や潜在的な脆弱性から保護するため、サーバーレベルで認証を追加します。

vi /etc/nginx/conf.d/default.conf

location /phpmyadmin { auth_basic "Admin Login"; auth_basic_user_file /etc/nginx/pma_pass; }

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

htpasswd -c /etc/nginx/pma_pass pma_username

nginxサービスを再起動します:

systemctl restart nginx

これで、http://server-ip/phpmyadmin にアクセスすると、ログインとパスワードを入力するウィンドウが表示されます。ログインはpma_usernameとなります。

設定は完了しました。SSL証明書を使用してhttpsプロトコル経由でのみパスワードを入力し、データの傍受を防ぐことを強くお勧めします。





No Comments Yet