検索
記事の項目

最近の投稿

phpMyAdmin LEMP on Ubuntu

Nginx MySQL PHP8.1 (LEMP) の Ubuntu 22.04 に phpMyAdmin をインストールする方法

この記事の項目

このチュートリアルでは、Nginx、MySQL、および PHP8.1 (LEMP) を使用して Ubuntu 22.04 に phpMyAdmin をインストールする方法を説明します。
phpMyAdmin は、PHP で書かれた無料のオープンソースの Web ベースのデータベース管理ツールです。 ユーザーが MySQL または MariaDB データベースを管理するためのグラフィカル Web インターフェイスを提供します。

Download phpMyAdmin on Ubuntu 22.04 Server

phpMyAdmin は Ubuntu 22.04 ソフトウェア リポジトリに含まれていますが、アップストリーム パッケージを使用して最新バージョンをインストールすることをお勧めします。 次のコマンドを実行してダウンロードします。

				
					$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
				
			

zip を解凍します。

				
					$ sudo apt install unzip

$ unzip phpMyAdmin-latest-all-languages.zip
				
			

Move phpMyadmin to /var/www/ directory.

				
					$ sudo mv phpMyAdmin-5.2.1-all-languages /var/www/phpmyadmin
				
			

次に、Web サーバー ユーザー (www-data) をこのディレクトリの所有者にします。
※ Nginx はデフォルトで www-data というユーザーで動作しています。

				
					$ sudo chown -R www-data:www-data /var/www/phpmyadmin
				
			

Create a MySGL Database and User for phpMyAdmin

MySQL コンソールにログインします。

				
					$ sudo mysql -u root
				
			

次の SQL コマンドを使用して、phpMyAdmin 用の新しいデータベースを作成します。 このチュートリアルでは、データベースに phpmyadmin という名前を付けますが、データベースには任意の名前を使用できます。

				
					mysql> CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
				
			

次の SQL コマンドは、phpmyadmin データベース ユーザーを作成してパスワードを設定し、同時に新しいデータベースのすべての権限を新しいユーザーに付与して、後で phpMyAdmin がデータベースに書き込めるようにします。 your_preferred_password を好みのパスワードに置き換えてください

				
					mysql> CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'your_preferred_password';

mysql> GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost';


				
			

権限テーブルをフラッシュし、MariaDB コンソールを終了します。

				
					mysql> FLUSH PRIVILEGES;

mysql> EXIT;

				
			

必須および推奨の PHP モジュールをインストール

次のコマンドを実行して、phpMyAdmin が必要または推奨する PHP モジュールをインストールします。

				
					$ sudo apt install php-imagick php-phpseclib php-php-gettext php8.1-common php8.1-mysql php8.1-gd php8.1-imap php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp

				
			

phpMyAdmin 用の Nginx サーバー ブロックを作成する

phpMyAdmin Web インターフェイスにアクセスできるようにするには、次のコマンドを実行して Nginx サーバー ブロックを作成する必要があります。

				
					$ sudo vi /etc/nginx/conf.d/phpmyadmin.conf
				
			

サブドメイン経由でphpMyAdminにアクセスできるように設定していきます。 次のテキストをファイルに貼り付けます。 pma.example.com を実際のサブドメインに置き換え、そのための DNS A レコードを作成することを忘れないでください。

				
					server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /var/www/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}
				
			

phpMyAdmin ファイルは /var/www/phpmyadmin/ ディレクトリにあります。 ファイルを保存して閉じます。 次に、Nginx 構成をテストします。
Nginxの設定をリロードします。

				
					$ sudo nginx -t

$ sudo service nginx reload

or

$ sudo systemctl reload nginx
				
			

これで、phpMyAdmin Web インターフェイスにアクセスできるようになります。

				
					http://pma.example.com
				
			
phpmyadmin

ローカル環境ならば、このままログインして使用しても良いかもしれません。

TLS証明書のインストール

phpMyadmin Web インターフェイスを保護するために、無料の Let’s Encrypt TLS 証明書をインストールできます。 以下のように Ubuntu 22.04 ソフトウェア リポジトリから Let’s Encrypt クライアントをインストールします。

				
					$ sudo apt install certbot python3-certbot-nginx
				
			

Python3-certbot-nginx は、Certbot 用の Nginx プラグインです。 次のコマンドを実行して、TLS 証明書を取得してインストールします。

				
					$ sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d pma.example.com --email you@example.com
				
			

–nginx: Nginx 認証システムとインストーラーを使用します。
–同意する: Let’s Encrypt の利用規約に同意します
–redirect: 301 リダイレクトによって HTTPS を強制します。
–hsts: すべての HTTP 応答に Strict-Transport-Security ヘッダーを追加します。
–staple-ocsp: OCSP ステープリングを有効にします。
–must-staple: OCSP Must Staple 拡張機能を証明書に追加します。
-d フラグの後には、カンマで区切られたドメイン名のリストが続きます。 最大 100 個のドメイン名を追加できます。
–email: 登録および回復連絡に使用される電子メール。
EFF(Electronic Frontier Foundation)からのメールを受信するかどうかを尋ねられます。 Y または N を選択すると、TLS 証明書が自動的に取得され、構成されます。

phpMyAdmin セットアップ ウィザードを実行

ブラウザのアドレスバーに次のように入力します。

				
					http://pma.example.com/setup
				
			

参考にしたサイト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Redis

$ sudo apt update $ sudo