多くのユーザーはMySQLのようなデータベース管理システムの機能を必要としていますが、MySQLプロンプトを介してシステムと対話するだけではありません。
** phpMyAdmin **を作成して、ユーザーがWebインターフェイスを介してMySQLと対話できるようにすることができます。このチュートリアルでは、phpMyAdminをインストールして保護し、Ubuntu16.04システムからデータベースを安全に管理できるようにする方法について説明します。
このチュートリアルの使用を開始する前に、いくつかの基本的な手順を完了する必要があります。
まず、 sudo
コマンドを使用でき、ファイアウォールがオンになっている、root以外のアカウントを持つUbuntu サーバーが必要です。サーバーをお持ちでない学生は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [開発者ラボ](https://cloud.tencent.com/developer/labs?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。 sudo権限を持つroot以外のユーザーを使用していることを前提としています。
また、Ubuntu 16.04サーバーへのLAMP(Linux、Apache、MySQL、およびPHP)のインストールが完了していることを前提としています。実稼働環境で使用する場合は、[クラウドリレーショナルデータベース](https://cloud.tencent.com/product/cdb-overview?from=10680)も使用できます。
最後に、phpMyAdminなどのソフトウェアを使用する場合、セキュリティに関する重要な考慮事項がいくつかあります。
これらの理由と、攻撃をターゲットにすることが多い広く展開されているPHPアプリケーションであるため、phpMyAdminは通常のHTTP接続を介してリモートシステムで実行しないでください。 SSL / TLS証明書で構成された既存のドメインがない場合は、最初にここに移動して[ドメイン名を登録](https://dnspod.cloud.tencent.com/)することをお勧めします。サーバーに[ドメイン名の解決](https://cloud.tencent.com/product/cns?from=10680)を行う必要があります。[Tencentクラウドクラウド分析]を使用できます。 (https://cloud.tencent.com/product/cns?from=10680)クイックセットアップ用。
これらの手順を完了すると、このチュートリアルの使用を開始できます。
まず、デフォルトのUbuntuリポジトリからphpMyAdminをインストールします。
これを行うには、ローカルパッケージインデックスを更新してから、 apt
パッケージングシステムを使用してファイルをドロップダウンし、システムにインストールします。
sudo apt-get update
sudo apt-get install phpmyadmin php-mbstring php-gettext
これにより、インストールを適切に構成するためにいくつかの質問が表示されます。
**警告:**最初のプロンプトが表示されると、apache2が強調表示されますが、は選択されません。 スペースキーを押してApacheを選択しなかった場合、インストーラーはインストール中に必要なファイルを移動しません。 Space、Tab、Enterキーを使用して、Apacheを選択します。
dbconfig-common
を使用してデータベースを設定するかどうかを尋ねられたら、「**はい」**を選択してください。phpMyAdmin
アプリケーション自体のパスワードを選択して確認するように求められますインストールプロセスでは、実際にphpMyAdminApache構成ファイルが / etc / apache2 / conf-enabled /
ディレクトリに追加され、ディレクトリが自動的に読み取られます。
必要なのは、PHPの mcrypt
および mbstring
拡張機能を明示的に有効にすることだけです。これは、次のコマンドを入力して実行できます。
sudo phpenmod mcrypt
sudo phpenmod mbstring
その後、変更を認識するためにApacheを再起動する必要があります。
sudo systemctl restart apache2
これで、サーバーのドメイン名またはパブリックIPアドレスに続けて / phpmyadmin
にアクセスして、次の手順を実行することにより、Webインターフェイスにアクセスできます。
https://domain_name_or_IP/phpmyadmin
これで、MySQLのインストール中に設定された root
ユーザー名と管理パスワードを使用してインターフェースにログインできます。
ログインすると、次のようなユーザーインターフェイスが表示されます。
phpMyAdminインターフェイスを簡単に起動して実行できます。ただし、まだ完了していません。 phpMyAdminはどこにでもあるため、攻撃者に人気のあるターゲットです。不正アクセスを防ぐために、追加の対策を講じる必要があります。
最も簡単な方法の1つは、アプリケーション全体の前にゲートウェイを配置することです。これを実現するために、Apacheの組み込みの .htaccess
認証および承認機能を使用できます。
まず、Apache構成ファイルを編集して、 .htaccess
ファイルのオーバーライドを有効にする必要があります。
Apache構成ディレクトリに配置されているリンクファイルを編集します。
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
構成ファイルに必要です<Directory /usr/share/phpmyadmin>以下に示すように、 AllowOverrideAll
ディレクティブを`セクションに追加します。
< Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
...
この行を追加したら、ファイルを保存して閉じます。
行った変更を実装するには、Apacheを再起動します。
sudo systemctl restart apache2
アプリケーションで .htaccess
を有効にしたので、実際にセキュリティを実装するために作成する必要があります。
この手順を正常に完了するには、ファイルをアプリケーションディレクトリに作成する必要があります。次のように入力して、必要なファイルを作成し、root権限でテキストエディタで開くことができます。
sudo nano /usr/share/phpmyadmin/.htaccess
このファイルには、次の情報を入力する必要があります。
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
これらの行の意味を確認しましょう。
AuthType Basic
:この行は、実装する認証のタイプを指定します。このタイプは、パスワードファイルを使用してパスワード認証を実現します。 AuthName
:これは認証ダイアログのメッセージを設定します。許可されていないユーザーが保護されたコンテンツに関する情報を取得しないように、この一般性を維持する必要があります。 AuthUserFile
:これは認証に使用されるパスワードファイルの場所を設定します。これは、提供されているディレクトリの外にある必要があります。このファイルはまもなく作成されます。 Require valid-user
:これは、認証されたユーザーのみにこのリソースへのアクセスを許可する必要があることを指定します。これにより、許可されていないユーザーの侵入を効果的に防止できます。終了したら、ファイルを保存して閉じます。
パスワードファイル用に選択した場所は「 / etc / phpmyadmin / .htpasswd
」です。これで、このファイルを作成し、 htpasswd
ユーティリティを使用して最初のユーザーをファイルに渡すことができます。
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
作成するユーザーのパスワードを選択して確認するように求められます。次に、入力したハッシュパスワードを使用してファイルを作成します。
他のユーザーを入力する場合は、以下に示すように、** -c
フラグ**なしでこれを行う必要があります。
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
これで、phpMyAdminサブディレクトリにアクセスすると、設定した他のアカウント名とパスワードを入力するように求められます。
https://domain_name_or_IP/phpmyadmin
Apache認証を入力した後、通常のphpMyAdmin認証ページに入り、他の資格情報を入力します。 phpMyAdminは過去に脆弱性に対して脆弱であったため、これによりセキュリティの層が追加されます。
これで、phpMyAdminが構成され、Ubuntu16.04サーバーで使用できるようになります。このインターフェイスを使用すると、データベース、ユーザー、テーブルなどを簡単に作成し、構造やデータの削除や変更などの日常的な操作を実行できます。
phpMyAdmin関連のチュートリアルのインストールと保護の詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04にphpMyAdminをインストールして保護する方法」
Recommended Posts