このチュートリアルでは、Ubuntu 18.04 LTSにApache、MariaDB、PHP7.2(LAMPスタック)を使用してphpMyAdminをインストールする方法を説明します。 phpMyAdminは、PHPで記述された無料のオープンソースのWebベースのデータベース管理ツールです。これは、ユーザーがMySQLまたはMariaDBデータベースを管理するためのグラフィカルなWebインターフェースを提供します。また、phpMyAdminで2要素認証を有効にする方法についても学習します。
phpMyAdminを使用すると、管理者は次のことができます。
- データベースとテーブルを参照します。
- データベースの作成、コピー、名前変更、変更、および削除;
- テーブルの作成、コピー、名前の変更、変更、削除;
- テーブルのメンテナンスを実行します。
- フィールドの追加、編集、削除;
- 複数のクエリであっても、SQLステートメントを実行します。
- インデックスの作成、変更、削除;
- テキストファイルをテーブルにロードします;
- テーブルまたはデータベースのダンプを作成して読み取ります。
- データをSQL、CSV、XML、Word、Excel、PDF、LaTeX形式にエクスポートします。
- 複数のサーバーを管理します。
- MySQLユーザーと権限を管理します;
- 構成のヒントを使用してサーバー設定とランタイム情報を確認します。
- MyISAMテーブルの参照整合性を確認します;
- 例によるクエリ(QBE)を使用して複雑なクエリを自動的に作成します
- 必要なテーブルを接続する;
- データベースレイアウトのPDFグラフィックを作成します;
- データベースまたはそのサブセットをグローバルに検索します。
- BLOBデータを画像やダウンロードリンクとして表示するなど、事前定義された一連の機能を使用して、保存されたデータを任意の形式に変換します。
- InnoDBテーブルと外部キーを管理します;
前提条件
このチュートリアルに従うには、ローカルコンピューターまたはリモートサーバーで実行されているUbuntu18.04OSが必要です。
VPS(仮想プライベートサーバー)をお探しの場合は、紹介リンクからVultrにアカウントを作成して、50ドルの無料クレジットを取得できます(新規ユーザーのみ)。また、ドメイン名を使用してphpMyAdminを設定する必要がある場合は、NameCheapからドメイン名を購入することをお勧めします。これは、価格が低く、whoisのプライバシー保護が無料で提供されるためです。
Ubuntu18.04にLAMPスタックがすでにインストールされていることを前提としています。そうでない場合は、次のチュートリアルを確認してください。
- Ubuntu 18.04 LTSにLAMPスタック(Apache、MariaDB、PHP7.2)をインストールする方法
それが邪魔にならないように、phpMyAdminのインストールを始めましょう。
ステップ1:Ubuntu18.04にphpMyAdminをダウンロードしてインストールする
phpMyAdminはUbuntu18.04ソフトウェアリポジトリに含まれています。以下のコマンドで簡単にインストールできます。
sudo apt update sudo apt install phpmyadmin
上記のコマンドは、PHP7拡張機能を含むすべての必要な依存関係をインストールします。インストール中に、構成するWebサーバーを選択するように求められます。 space
を押す apache2を選択するためのバー。 (アスタリスク*は、アイテムが選択されていることを示します)。次に、Tab
を押します キーとEnter
選択を確認します。
次の画面で、Yes
を選択します dbconfig-common
を使用してphpMyAdminのデータベースを構成するには 。
次に、phpmyadmin
のパスワードを設定します MariaDB/MySQLのユーザー。
この手順が完了すると、phpmyadmin
という名前の新しいデータベースが作成されます が作成され、データベースユーザーphpmyadmin
このデータベースを管理するために必要な権限があります。私のように興味があれば、MariaDBにログインして、phpmyadmin
の権限を確認できます。 ユーザーが許可されました。
次のコマンドを使用して、MariaDBサーバーにログインできます。
sudo mysql -u root
次に、phpmyadmin
の権限を確認します ユーザー。
show grants for [email protected];
出力:
ご覧のとおり、ユーザーphpmyadmin
データベースphpmyadmin
に対するすべての権限を持っています 。これで、次を実行して終了できます:
exit;
次に、次のコマンドを実行して、/etc/apache2/conf-enabled/phpmyadmin.conf
かどうかを確認します。 ファイルが存在します。
file /etc/apache2/conf-enabled/phpmyadmin.conf
インストールプロセスにエラーがない場合は、次のコマンド出力が表示されます。
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
このファイルがサーバーに存在しない場合は、phpMyAdminセットアップウィザードでApacheWebサーバーを選択しなかった可能性があります。次のコマンドで修正できます。
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2
ステップ2:サブディレクトリからphpMyAdminにアクセスする
phpMyAdminをインストールすると、構成ファイルが/etc/apache2/conf-enabled/phpmyadmin.conf
に配置されます。 、サブディレクトリを介してphpMyAdminにアクセスできます。同じUbuntu18.04サーバーにWordPressなどの他のWebアプリケーションをインストールした場合は、/phpmyadmin
を追加するだけです。 ブラウザのアドレスバーのドメイン名の後。
your-domain.com/phpmyadmin
phpMyAdminがローカルのUbuntuコンピューターにインストールされている場合は、ブラウザーのアドレスバーに次のテキストを入力してphpMyAdminWebインターフェイスにアクセスできます。
localhost/phpmyadmin
接続が拒否されたり、完了に失敗した場合は、ファイアウォールがHTTPリクエストを妨げている可能性があります。 iptablesファイアウォールを使用している場合は、次のコマンドを実行してTCPポート80および443を開く必要があります。
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
UFWファイアウォールを使用している場合は、このコマンドを実行してTCPポート80および443を開きます。
sudo ufw allow http sudo ufw allow https
これで、MariaDB/MySQLのユーザー名とパスワードを使用してphpMyAdminにログインできます
ステップ3:サブドメインからphpMyAdminにアクセスする
Ubuntu 18.04サーバーに他のApache仮想ホストがない場合は、サブドメインを使用してphpMyAdminWebインターフェイスにアクセスすることをお勧めします。このようにして、HTTPSを有効にしてトラフィックを暗号化できます。
まず、phpMyAdmin用のApache仮想ホストを作成する必要があります。既存のphpMyAdmin構成スニペットをテンプレートとして使用できます。新しいファイルにコピーしましょう。
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
次に、Nanoなどのコマンドラインテキストエディタを使用して新しいファイルを編集します。
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
このファイルの先頭に次の行を追加します。 pma.example.comをphpMyAdminの優先サブドメインに置き換えます。このサブドメインのDNSAレコードを作成することを忘れないでください。
<VirtualHost *:80> ServerName pma.example.com DocumentRoot /usr/share/phpmyadmin ErrorLog ${APACHE_LOG_DIR}/pma.error.log CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
このファイルの最後に次の行を追加します。
</VirtualHost>
ファイルを保存して閉じます。 (Nanoテキストエディタでファイルを保存するには、Ctrl+O
を押します。 、Enterキーを押して確認します。終了するには、Ctrl+X
を押します 。)次に、この仮想ホストを有効にします。
sudo a2ensite phpmyadmin.conf
この変更を有効にするには、ApacheWebサーバーをリロードします。
sudo systemctl reload apache2
これで、
を介してphpMyAdminWebインターフェイスにアクセスできるようになります。pma.example.com
ログインフォームにユーザーの資格情報を入力する前に、HTTPSを有効にしましょう。
ステップ4:Apacheを使用してphpMyAdminでHTTPSを有効にする
phpMyadmin Webインターフェイスを保護するために、無料のLet’sEncryptTLS証明書をインストールできます。次のコマンドを実行して、Ubuntu 18.04ソフトウェアリポジトリからLet’s Encryptクライアント(certbot)をインストールします。
sudo apt install certbot python3-certbot-apache
Python3-certbot-apache
Certbot用のApacheプラグインです。次のコマンドを実行して、TLS証明書を取得してインストールします。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]
説明:
- –apache: Apacheオーセンティケーターとインストーラーを使用する
- –同意する :Let'sEncryptの利用規約に同意する
- –リダイレクト :301リダイレクトを追加します。
- –hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。
- –staple-ocsp :OCSPステープリングを有効にします。
- –ステープルで留める必要があります :OCSPMustStaple拡張機能を証明書に追加します。
- -d フラグの後には、コンマで区切られたドメイン名のリストが続きます。最大100個のドメイン名を追加できます。
- –メール :登録と復旧の連絡に使用されるメール。
EFF(Electronic Frontier Foundation)からのメールを受信するかどうかを尋ねられます。 YまたはNを選択すると、TLS証明書が自動的に取得および構成されます。これは、以下のメッセージで示されます。
ステップ5:phpMyAdminログインエラーのトラブルシューティング
MariaDBのrootアカウントでphpMyAdminにログインしようとすると、次のエラーが表示される場合があります。
#1698 - Access denied for user 'root '@'localhost'
および
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
ユーザーphpmyadmin
でログインした場合 、上記のエラーは表示されません。ただし、ユーザーphpmyadmin
phpmyadmin
の管理にのみ使用できます データベース。エラーの原因は、デフォルトでは、MariDBrootユーザーがmysql_native_password
を使用する代わりに、unix_socketプラグインを介して認証されることです。 プラグイン。この問題を解決するために、別の管理者ユーザーを作成し、新しい管理者ユーザーにすべての権限を付与できます。
コマンドラインからMariaDBサーバーにログインします。
sudo mysql -u root
パスワード認証を使用して管理者ユーザーを作成します。
create user [email protected] identified by 'your-preferred-password';
すべてのデータベースに対するすべての権限を付与します。
grant all privileges on *.* to [email protected] with grant option;
特権をフラッシュして終了します;
flush privileges; exit;
これで、admin
を使用してphpMyAminにログインできます。 アカウントを作成し、すべてのデータベースを管理します。
ステップ6:phpMyAdminの最新の安定バージョンをインストールする
Ubuntu 18.04リポジトリには、PHP7.2およびphpMyAdmin4.6.6が付属しています。ブラウザのタイトルバーでphpMyAdminのバージョンを確認できます。
ただし、バージョン4.7.4以降、PHP7.2はphpMyAdminでサポートされています。 PHP7.2でphpMyAdmin4.6.6を使用すると、[エクスポートとインポート]タブに次の警告メッセージが表示されます。
parameter must be an array or an object that implements countable
互換性の問題を修正するために、この記事の執筆時点で最新の安定バージョンであるphpMyAdmin4.9をインストールできます。 wget
を使用してダウンロードします 。
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip
ヒント:上記のURL形式を使用して、phpMyAdminの最新の安定バージョンをダウンロードできます。 4.9.0.1を最新のバージョン番号に置き換えるだけです。
次にそれを抽出します。
sudo apt install unzip unzip phpMyAdmin-4.9.0.1-all-languages.zip
元のphpMyAdminファイルをバックアップします。
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin-original
phpMyadmin4.9を/usr/share/phpmyadmin/
に移動します ディレクトリ。
sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin
ベンダー構成ファイルを編集します。
sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php
次の行を見つけます。
define('CONFIG_DIR', '');
に変更
define('CONFIG_DIR', '/etc/phpmyadmin/');
ファイルを保存して閉じます。次に、tmp
を作成します キャッシュファイルを保存するフォルダ。
sudo mkdir /usr/share/phpmyadmin/tmp
ユーザーの所有権とグループの所有権をwww-data
に変更します 。
sudo chown www-data:www-data /usr/share/phpmyadmin/tmp
これで、PHPエラーを確認せずにphpMyAdmin4.9を使用できます。
2要素認証を有効にする
バージョン4.8で追加された機能である2要素認証を有効にすることで、phpMyAdminを強化することもできます。有効にするには、phpMyAdminにログインします。次に、Settings
に移動します ->Two-factor authentication
認証アプリケーション(2FA)を選択します 。
2要素認証の構成をクリックした後 ボタンをクリックすると、QRコードが表示されます。このコードは、スマートフォンの2要素認証アプリでスキャンする必要があります。
Google Authenticatorは人気のある2FAアプリですが、RedHatが開発したオープンソースの2FAアプリであるFreeOTPをお勧めします。 2FAアプリによって生成された認証コードを入力すると、2要素認証が有効になります。ここでログアウトして再度ログインする場合は、ユーザー名とパスワードに加えて認証コードを入力する必要があります。