phpMyAdminは、Webベースのインターフェイスを介してMySQLおよびMariaDBサーバーを管理するためのオープンソースのPHPベースのツールです。
phpMyAdminを使用すると、MySQLデータベースとのやり取り、ユーザーアカウントと権限の管理、SQLステートメントの実行、さまざまなデータ形式でのデータのインポートとエクスポートなどを行うことができます。
このチュートリアルでは、Ubuntu18.04にNginxを使用してphpMyAdminをインストールする方法について説明します。
前提条件#
このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。
- UbuntuサーバーにインストールされているLEMP(Linux、Nginx、MySQL、およびPHP 7)。
- sudo権限を持つユーザーとしてログインしました。
必須ではありませんが、HTTPS経由でphpMyAdminインスタンスにアクセスすることを強くお勧めします。サイトでSSLを有効にしていない場合は、Ubuntu 18.04でLet’sEncryptを使用してNginxを保護する方法に関する記事を確認してください。
UbuntuへのphpMyAdminのインストール#
phpMyAdminのインストールは非常に簡単な作業です。パッケージリストを更新することから始めます:
sudo apt update
次に、次のコマンドを実行して、デフォルトのUbuntuリポジトリからphpMyAdminパッケージをインストールします。
sudo apt install phpmyadmin
phpMyAdminをインストールする前に、システムにNginxとPHPFPMがインストールされていることを確認してください。
インストーラーは、phpMyAdminを実行するように自動的に構成する必要があるWebサーバーを選択するように求めます。 Nginxを選択するオプションはありません。TAB
を押してください OK
を選択します 次にEnter
。次のセクションでNginxを構成します。
次に、インストーラーはdbconfig-common
を使用するかどうかを尋ねてきます データベースを設定するためのツール。 Yes
を選択します Enter
を押します 。
phpMyAdminがデータベースに登録するためのパスワードを入力し、OK
を選択します Enter
を押します 。
パスワードの確認を求められます。同じパスワードを入力し、OK
を選択します。 Enter
を押します 。
この時点で、phpMyAdminはUbuntuサーバーにインストールされています。
MySQL 5.7(およびそれ以降)を実行しているUbuntuシステムでは、rootユーザーはauth_socket
を使用するように設定されています。 デフォルトの認証方法。
auth_socket
プラグインは、ローカルホストからUnixソケットファイルを介して接続するユーザーを認証します。これは、パスワードを入力してrootとして認証できないことを意味します。
MySQLユーザーrootの認証方法を変更する代わりに、新しい管理用MySQLユーザーを作成します。このユーザーはrootユーザーと同じ権限を持ち、mysql_native_password
を使用するように設定されます。 認証方法。
このユーザーを使用してphpMyAdminダッシュボードにログインし、MySQLサーバーで管理タスクを実行します。
rootユーザーとしてMySQLサーバーにログインすることから始めます:
sudo mysql
MySQLシェル内から、次のコマンドを実行して、新しい管理ユーザーを作成し、適切な権限を付与します。
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'change-with-your-secure-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
この例では、管理ユーザーにpadmin
という名前を付けました。 。任意の名前を使用できますが、必ず強力なパスワードを設定してください。
NginxとphpMyAdminの構成#
phpMyAdminファイルを提供するようにNginxを構成する方法はいくつかあります。ドメインのサーバーブロックがすでにPHPリクエストを処理するように設定されている場合は、phpMyAdminインストールファイルからドメインドキュメントのルートディレクトリへのシンボリックリンクを作成するだけです。
このガイドでは、任意のNginxサーバーブロックファイルに含めることができるスニペットを作成します。
テキストエディタを開き、次のファイルを作成します。
sudo nano /etc/nginx/snippets/phpmyadmin.conf
次のコンテンツを貼り付けます:
/etc/nginx/snippets/phpmyadmin.conflocation /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
fastcgi_pass
に正しいソケットパスまたはアドレス/ポートを使用していることを確認してください 指令。 ファイルを保存してエディタを閉じます。
これで、domain.com/phpmyadmin
を使用して、phpMyAdminにアクセスする各ドメインのサーバーブロックに次の行を追加できます。
include snippets/phpmyadmin.conf;
次に例を示します:
/etc/nginx/conf.d/domain.com.confserver {
# . . . other code
include snippets/phpmyadmin.conf;
# . . . other code
}
phpMyAdminへのアクセス#
phpMyAdminインターフェースにアクセスするには、お気に入りのブラウザを開き、サーバーのドメイン名またはパブリックIPアドレスに続けて/phpmyadmin
を入力します。 :
http(s)://your_domain_or_ip_address/phpmyadmin
管理ユーザーのログイン資格情報を入力し、[Go
]をクリックします 。
ログインすると、phpMyAdminダッシュボードが表示されます。これは次のようになります。