GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 18.04にApache(LAMP)を使用してphpMyAdminをインストールする方法

このチュートリアルでは、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要素認証が有効になります。ここでログアウトして再度ログインする場合は、ユーザー名とパスワードに加えて認証コードを入力する必要があります。


Ubuntu
  1. Ubuntu18.04にLAMPスタックをインストールする方法

  2. Apache を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  3. Apache を使用して Ubuntu 22.04 に phpMyAdmin をインストールする

  1. Ubuntu18.04でApacheを使用してphpMyAdminをインストールして保護する方法

  2. Apacheを使用してUbuntu20.04にPrestaShopをインストールする方法

  3. LAMPを使用してUbuntu16.04/Ubuntu14.04にWordPressをインストールします

  1. UbuntuにLAMPスタックを使用してphpMyAdminをインストールする方法

  2. Ubuntu20.04にApacheを使用してphpMyAdminをインストールします

  3. Debian 10 BusterにApache(LAMP)を使用してphpMyAdminをインストールします