多くのユーザーは[MySQL](https://cloud.tencent.com/product/cdb?from=10680)のようなデータベース管理システムの機能を必要としていますが、MySQLプロンプトを介してシステムと対話するだけではありません。
** PhpMyAdmin **は、ユーザーがWebインターフェイスを介してMySQLと対話できるように作成されました。このガイドでは、phpMyAdminをインストールして保護し、Ubuntu16.04システムからデータベースを安全に管理できるようにする方法について説明します。
このガイドの使用を開始する前に、いくつかの基本的な手順を完了する必要があります。
sudo
コマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない学生は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
また、Ubuntu 16.04サーバーへのLAMP(Linux、Apache、MySQL、およびPHP)のインストールが完了していることを前提としています。
最後に、phpMyAdminなどのソフトウェアを使用する場合、セキュリティに関する重要な考慮事項がいくつかあります。
これらの理由と、攻撃をターゲットにすることが多い広く展開されているPHPアプリケーションであるため、phpMyAdminは通常のHTTP接続を介してリモートシステムで実行しないでください。 ドメイン名をお持ちの場合、Webサイトを保護する最も簡単な方法は、無料の信頼できる証明書を提供する[Tencent Cloud SSL Certificate Service](https://cloud.tencent.com/product/ssl?from=10680)を使用することです。 【TencentCloudSSL証明書インストール操作ガイド】(https://cloud.tencent.com/document/product/400/6814?from=10680)を設定します。 ドメイン名をお持ちでない場合は、最初にここにアクセスすることをお勧めします[ドメイン名を登録](https://dnspod.cloud.tencent.com/)。この構成をテストまたは個人使用に使用する場合は、ドメイン名を購入せずに自己署名証明書を使用できます。自己署名証明書は同じタイプの暗号化を提供しますが、ドメイン名検証のアナウンスはありません。自己署名証明書については、[Apacheの自己署名SSL証明書の作成](https://cloud.tencent.com/developer/article/1165840?from=10680)と[Nginxの自己署名SSL証明書の作成方法](https://cloud.tencent.com/developer/article/1160294?from=10680)の2つの記事を参照してください。
これらの手順を完了すると、このガイドの使用を開始できます。
まず、デフォルトの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
これで、サーバーのドメイン名または / phpmyadmin
で終わるパブリックIPアドレスにアクセスして、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サーバーで使用できるようになります。このインターフェイスを使用すると、データベース、ユーザー、テーブルなどを簡単に作成し、構造やデータの削除や変更などの日常的な操作を実行できます。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04にphpMyAdminをインストールして保護する方法」
Recommended Posts