wordpress前書きアプリケーションやウェブサイトが成長するにつれて、現在のサーバー設定を超えてしまう可能性があります。Webサーバーとデータベースバックエンドを同じマシンでホストしている場合、これら2つの機能を分離して、それぞれが独自のハードウェアで動作し、訪問者のリクエストに応答する負荷を共有できるようにすることをお勧めします。このガイドでは、Webアプリケーションが接続できるリモートMySQLデータベースサーバーを構成する方法について説明します。WordPressを例として使用して作業を行いますが、この手法はMySQLに裏打ちされたアプリケーションに広く適用できます。前提条件このチュートリアルを開始する前に、次のものが必要です。16.04での初期サーバー設定]。いずれかのサーバーにLEMP(Linux、Nginx、MySQL、PHP)スタックをインストールする必要があります。16.04のPHP(LEMPスタック)]がプロセスをガイドします。MySQLのインストールに関するステップ2をスキップする必要があります。代わりに、このチュートリアルでMySQLをインストールします。Webサーバーを保護できます。ドメイン名が必要になりますが、証明書は無料です。Encryptを使用してNginxを保護する方法]方法を示します。手順1-データベースサーバーへのMySQLのインストールデータを別のサーバーに保存することは、1台のマシン構成のパフォーマンスの上限に達したときに適切に拡張する良い方法です。後で負荷を分散し、インフラストラクチャをさらに拡張するために必要な基本構造も提供します。LEMPスタックをインストールしなかったサーバーにMySQLをインストールします。このサーバーにログインし、パッケージキャッシュを更新してMySQLサーバーソフトウェアをインストールします。*パスワードを設定および確認するよう求められます。後で必要になるため、強力なパスワードを選択してメモしてください。MySQLをインストールして実行する必要があります。Active:active(running)+`行は、MySQLがインストールされ実行されていることを意味します。ここで、インストールをもう少し安全にします。MySQLには、システムをロックダウンする手順を示すスクリプトが付属しています。*パスワードが求められます。ENTER」を押します。ここで、一連のyesまたはnoプロンプトに答えます。それらを見ていきましょう。*について尋ねられます。これを有効にすることは、個々のセキュリティニーズに基づいて行う必要がある決定です。」を押してスキップします。有効にした場合、パスワード検証の厳格さについて0〜2のレベルを選択するよう求められます。ENTER」を押して続行します。*パスワードを変更するかどうかを尋ねられます。MySQLのインストール時にパスワードを作成したばかりなので、これは安全にスキップできます。ENTER」を押します。残りのプロンプトには「はい」と回答できます。*データベースの削除、特権テーブルの再読み込みについて、以前の変更が適切に有効になることを確認するよう求められます。これらはすべて良い考えです。すべてのプロンプトに答えると、スクリプトは終了します。これで、MySQLのインストールが適切に保護されました。次のステップでは、リモート接続からのアクセスを許可するようにMySQLを構成します。ステップ2-リモート接続をリッスンするためのMySQLの構成データベースを稼働させたので、他のコンピューターからの接続を許可するためにいくつかの構成値を変更する必要があります。/etc/mysql/mysql.conf.d/mysqld.cnfこのファイルは、括弧内の単語([および])で示されるセクションに分割されます。bind-address`というパラメーターを見つける必要があります。これにより、接続をリッスンするネットワークアドレスがデータベースソフトウェアに通知されます。現在、MySQLはローカル接続のみを検索するように設定されています。IPアドレスを参照するように変更する必要があります。両方のサーバーがプライベートネットワーク機能を備えたデータセンターにある場合は、サーバーのプライベートネットワークIPを使用します。それ以外の場合は、パブリックIPアドレスを使用できます。=インターネット経由でデータベースに接続するため、データを安全に保つために暗号化された接続が必要になります。MySQL接続を暗号化しないと、ネットワーク上の誰もがWebサーバーとデータベースサーバー間の機密情報を盗聴する可能性があります。+`行の後に次の行を追加します。on完了したら、ファイルを保存して閉じます。SSL接続が機能するには、いくつかのキーと証明書を作成する必要があります。MySQLには、必要なものをすべて自動的に設定するコマンドが付属しています。MySQLに構成を更新させ、新しいSSL情報を読み込むように強制するには、データベースを再起動します。`は、サーバーのネットワークシステムに関する統計情報を出力します。」というプロセスが、標準MySQLポートであるポート「+3306」で「++」に接続されていることを示しています。mysql次に、サーバーにリモートアクセスするために必要なユーザーとデータベースを設定します。ステップ3-WordPressデータベースとリモート認証情報の設定MySQL自体は現在外部IPアドレスでリッスンしていますが、現在、リモート対応のユーザーまたはデータベースは構成されていません。WordPress用のデータベースと、それにアクセスできるユーザーを作成しましょう。*アカウントを使用してMySQLに接続することから始めます。+」プロンプトが表示されます。これで、WordPressが使用するデータベースを作成できます。wordpress;データベースができたので、ユーザーを作成する必要があります。ユーザーを作成する際の1つのポイントは、ユーザーの接続元に基づいて2つの異なるプロファイルを定義する必要があることです。ローカルのみのユーザーと、ウェブサーバーのIPアドレスに関連付けられたリモートユーザーを作成します。*を使用して、このアカウントをローカル接続試行のみに一致させます。'';先に進み、このアカウントにデータベースへのフルアクセスを許可します。'wordpressuser'@'localhost';このユーザーは、WordPressのデータベースに対して任意の操作を実行できるようになりましたが、このアカウントはローカルマシンからの接続のみに一致するため、リモートで使用することはできません。次に、Webサーバーからの接続のみに一致するコンパニオンアカウントを作成します。これには、WebサーバーのIPアドレスが必要です。このアカウントには任意の名前を付けることができますが、より一貫性のあるエクスペリエンスを実現するために、ホスト部分のみを変更して、上記とまったく同じユーザー名を使用します。+`ファイルで設定したものと同じネットワークを利用するIPアドレスを使用する必要があることに注意してください。プライベートネットワークIPを使用している場合は、ウェブサーバーのプライベートIPを使用するために以下のルールを作成する必要があります。パブリックインターネットを使用するようにMySQLを構成した場合、WebサーバーのパブリックIPアドレスと一致させる必要があります。'';リモートアカウントを取得したので、ローカルユーザーと同じ特権を与えることができます。'wordpressuser'@'';特権をフラッシュしてディスクに書き込み、使用を開始します。PRIVILEGES;次に、次のように入力してMySQLプロンプトを終了します。exit新しいデータベースとリモート対応ユーザーを設定したので、データベースと接続をテストしましょう。*アカウントを使用して、ローカルマシンとWebサーバーの両方からデータベースに接続できることを確認することをお勧めします。新しいアカウントでログインして、データベースマシンからのローカル接続をテストします。-pプロンプトが表示されたら、このアカウントに設定したパスワードを入力します。MySQLプロンプトが表示されたら、ローカル接続は成功しています。次のように入力して、もう一度終了できます。exitWebサーバー*にログインして、リモート接続をテストします。ウェブサーバーに、リモートデータベースにアクセスするには、MySQLのクライアントツールをインストールする必要があります。ローカルパッケージキャッシュを更新してから、クライアントユーティリティをインストールします。mysql-clientこれで、次の構文を使用してデータベースサーバーに接続できます。-pこの場合も、データベースサーバーに正しいIPアドレスを使用していることを確認する必要があります。MySQLをプライベートネットワークでリッスンするように構成した場合は、データベースのプライベートネットワークIPを入力します。ない場合は、データベースサーバーのパブリックIPアドレスを入力します。*アカウントのパスワードを求められ、すべてがうまくいけばMySQLプロンプトが表示されます。次のコマンドを使用して、接続がSSLを使用していることを確認できます。SSL:+`行は、SSL暗号が使用されているかどうかを示します。リモートで接続できることを確認したので、すぐにプロンプ​​トを終了できます。exit追加のチェックとして、3番目のサーバーから同じことを試して、この他のサーバーにアクセスが許可されていないことを確認できます。ローカルアクセスとWebサーバーからのアクセスを確認しましたが、他の接続が拒否されることを確認していません。先に進んで、特定のユーザーアカウントを設定していないサーバーで同じ手順を試してください。上記と同様に、クライアントユーティリティをインストールする必要がある場合があります。-pこれは正常に完了しないはずです。次のようなエラーが返されます。serverこれは私たちが期待するものであり、私たちが望むものです。リモート接続のテストに成功し、WordPressのインストールを続行できるようになりました。ステップ5-WordPressのインストール新しいリモート対応MySQLサーバーの機能を実証するために、人気のあるブログプラットフォームであるWordPressをWebサーバーにインストールして設定します。これには、ソフトウェアをダウンロードして抽出し、接続情報を構成してから、WordPressのWebベースのインストールを実行する必要があります。*ウェブサーバー*で、WordPressの最新リリースをホームディレクトリにダウンロードします。+」というディレクトリが作成されます。latest.tar.gzWordPressには、開始点として使用するサンプルの構成ファイルが含まれています。+」を削除して、WordPressによってロードされるようにします。~/wordpress/wp-config.phpファイルを開くとき、最初の業務は、インストールにセキュリティを提供するためにいくつかの秘密鍵を調整することです。WordPressはこれらの値に対して安全なジェネレーターを提供しているため、独自に適切な値を考え出す必要はありません。これらは内部でのみ使用されるため、ここで複雑で安全な値を使用しても、使いやすさを損なうことはありません。WordPressシークレットキージェネレーターから安全な値を取得するには、次のように入力します。+`ファイルにコピーして貼り付けることができます。^qUswWgn+6&xqHN&%');受け取った出力をクリップボードにコピーしてから、テキストエディターで構成ファイルを開きます。~/wordpress/wp-config.phpそれらの設定のダミー値を含むセクションを見つけます。これは次のようになります。.これらの行を削除し、コマンドラインからコピーした値を貼り付けます。次に、リモートデータベースの接続情報を入力する必要があります。これらの構成行は、ファイルの先頭、キーを貼り付けた場所のすぐ上にあります。以前にリモートデータベーステストで使用したものと同じIPアドレスを使用することを忘れないでください。.最後に、ファイル内の任意の場所に、MySQLデータベースへのSSL接続を使用するようWordPressに指示する次の行を貼り付けます。MYSQLI_CLIENT_SSL);ファイルを保存して閉じます。wordpress`ディレクトリにあるファイルとディレクトリをNginxドキュメントルートにコピーする必要があります。+`フラグを使用して、アクセス許可が維持されていることを確認します。/var/www/htmlこれで、すべてのファイルが配置されました。あとは、ファイルの所有権を変更するだけです。+`が所有するように設定します。/var/www/htmlこれで、WordPressがインストールされ、Webベースのセットアップルーチンを実行する準備ができました。次のステップでそれを行います。ステップ6-Webインターフェースを介したWordpressのセットアップWordPressには、いくつかの質問をして、データベースに必要なテーブルをインストールするWebベースのセットアップルーチンがあります。Webサーバーに関連付けられているドメイン名(またはパブリックIPアドレス)に移動します。http://WordPressインストーラーの言語選択画面が表示されます。適切な言語を選択し、クリックしてメインのインストール画面に進みます。[WordPressインストール画面]情報を送信したら、作成したアカウントを使用してWordPress管理インターフェイスにログインする必要があります。その後、ダッシュボードが表示され、サイトをカスタマイズして操作できます。結論このチュートリアルでは、MySQLデータベースをセットアップして、リモートのWordpressインストールからSSLで保護された接続を受け入れます。使用したコマンドと手法は、プログラミング言語で記述されたWebアプリケーションに適用できますが、具体的な実装の詳細は異なります。詳細については、アプリケーションまたは言語のデータベースドキュメントを参照してください。