DigitalOcean (DO) で WordPress (WP) サイトを 10 分以内に起動します。
初心者のブロガーやサイト所有者は、共有ホスティングでサイトの読み込みを速くする方法をよく尋ねますが、彼らはその限界を知っています。そして、いくつかのフラストレーションの瞬間を経て、共有ホスティングからクラウドホスティングに移行したいと考えています。
最初に思い浮かぶクラウド ホスティング プラットフォームの 1 つは DigitalOcean です。
DO は、それを始めるのに最適です。 AWS や GCP よりも安く、スケーラブルで高速で、期待できるすべての機能を提供します。
ただし、システム管理タスクに慣れていないと、サイトのセットアップは困難です。 OS と自分で対処するために必要なものすべてを提供してください。サーバー構成の専門的な知識をすべて使用したくない場合は、 Cloudways Web ホスティングを選択し、数回クリックするだけで DigitalOcean Web サーバーをセットアップすることもできます。 Digitalocean プレミアム ドロップレットも提供しています。
DO で WP サイトをセットアップする方法について多くの質問を電子メールで受け取った後、より多くの視聴者が恩恵を受けるための手順をまとめようと考えました。
技術的な実装に入る前に、DO はドメイン レジストラーではないことに注意してください。つまり、そこからドメインを購入することはできません。すでにドメインをお持ちだと思いますが、お持ちではなく新しいドメインを取得したい場合は、Namecheap から購入してください。
はじめましょうか…
WordPress をセットアップするには複数の方法がありますが、私が見つけた最も簡単な方法の 1 つは EasyEngine を使用することです。このチュートリアルでは、EasyEngine を使用して必要なソフトウェアをすべてインストールし、WP サイトを作成します。
DigitalOcean サーバーの取得
DO は世界中の複数の場所にデータセンターを持っています。視聴者に近いものを選択してください。
- DigitalOcean にログインします (まだアカウントをお持ちでない場合はサインアップします)。
- 新しいドロップレットを作成し、OS として Ubuntu 18.x を選択します
- 要件に基づいてドロップレット プランを選択しますが、それまでに開始する場合は 2GB または 3GB RAM で問題ありません。
- 追加オプションとして監視を選択します
- ホスト名を指定して「作成」をクリックします
1 分ほどかかり、新しく作成されたサーバーがリストに表示されるはずです。
DO は、サーバーの資格情報を登録済みの電子メールに送信します。
- SSH クライアントを使用して、指定された資格情報と IP でサーバーにログインします。
初めてログインするときは、パスワードを変更するように求められます。これは予想されることであり、複雑なパスワードに変更することが推奨されます。
EasyEngineのインストール
サーバーの準備ができたら、EasyEngine (EE) をインストールします。 EE は、簡単なコマンドで複数のタイプのサイトを作成できる優れた自動化スクリプトです。 EE の良い点は、Nginx、MariaDB、Redis、PHP などの個々のコンポーネントのセットアップについて心配する必要がないことです。すべてがバックグラウンドで処理され、完全に無料です。
EE の最新バージョンは Docker を活用していますが、繰り返しになりますが、Docker について知る必要はありません。 EE は実稼働対応であり、何千ものトラフィックの多いサイトで愛用されています。
EasyEngine の使い方がいかに簡単かを説明しましょう。まだ DigitalOcean サーバーにログインしていると思います。
- 以下のコマンドを実行してアップデートしてみましょう
apt-get update
- そして、次のコマンドでEEをインストールします。
wget -qO ee rt.cx/ee4 && sudo bash ee
必要なソフトウェアがバックグラウンドでインストールされるまでに数分かかり、完了するとプロンプトが表示されます。
Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell | /bin/bash |
| PHP binary | /usr/bin/php7.2 |
| PHP version | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 |
| php.ini used | /etc/php/7.2/cli/php.ini |
| EE root dir | phar://ee.phar |
| EE vendor dir | phar://ee.phar/vendor |
| EE phar path | /root |
| EE packages dir | |
| EE global config | |
| EE project config | |
| EE version | 4.0.10 |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
root@lab:~#
これで、EasyEngine がインストールされ、使用できるようになりました。
WordPress サイトの作成
EE には、パフォーマンスが向上する Redis キャッシュを使用して WordPress サイトを作成するオプションがあります。私は で Redis を使用していますが、満足していますので、試してみることをお勧めします。
Redis キャッシュを使用してドメイン上に WP サイトを作成してみましょう。
ee site create lab.com --type=wp --cache
上記では、
ee
コマンドを使用してドメイン名 lab.com のサイトを作成し、キャッシュ オプションを使用して WordPress と入力しています。
数秒かかりますが、次のような成功メッセージが表示されるはずです。
Configuring project.
Creating WordPress site lab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.
Installing WordPress site.
Success: http://lab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site | http://lab.com |
+--------------------+----------------------------------------+
| Site Root | /opt/easyengine/sites/lab.com |
+--------------------+----------------------------------------+
| Site Title | lab.com |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| DB Host | global-db |
+--------------------+----------------------------------------+
| DB Name | lab_com |
+--------------------+----------------------------------------+
| DB User | lab.com-DRf3pP |
+--------------------+----------------------------------------+
| DB Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| E-Mail | xxxxx@lab.com |
+--------------------+----------------------------------------+
| SSL | Not Enabled |
+--------------------+----------------------------------------+
| Cache | Enabled |
+--------------------+----------------------------------------+
root@lab:~#
これで、WP サイトが作成されました。 EasyEngine が Nginx、データベース、PHP の最適化を処理するため、変更を行う必要はありません
それをテストする時が来ました。
lab.com にアクセスするとうまくいくと思いますか?
いいえ!
DigitalOcean サーバー IP を指すようにドメインの A レコードを更新する必要がありました。
- ドメイン レジストラー コンソールにログインし、A レコードを更新します。
これで lab.com にアクセスできるようになりました
ご覧のとおり、わずか数分で、DO クラウド サーバー上で WP が実行されるようになります。
また、次のことを行うことをお勧めします。
SSHポートの変更
デフォルトでは、SSH ポートは 22 であり、誰もが知っています。これは、攻撃者がブルート フォース攻撃を実行するのに役立ち、サーバーのパスワードが脆弱な場合、サーバーがハッキングされる可能性があります。デフォルトのポートを別のポートに変更すると、すぐに成功します。
SSHポートの変更方法は以下の記事で解説しています。
SSL/TLS証明書の実装
サイトを HTTPS 経由で使用することは必須ですが、無料で入手できるのが良い点です。技術的な実装に時間のかかる作業をしたくない場合は、Cloudflare を試してみることをお勧めします。
Cloudflareは、無料のSSLに加えて、その他のパフォーマンスとセキュリティの利点を提供します。
WordPress の保護
WordPress を安全でないまま放置しないでください。
利用可能なプラグインは複数ありますが、予算が許せばプレミアム ソリューションをお勧めします。 Cloudflare PRO プランまたは SUCURI のどちらかを選択できます。どちらも、無料の SSL 証明書、DDoS 攻撃の防止、OWASP トップ 10 の脆弱性軽減など、包括的なパフォーマンスとセキュリティ機能を提供します。
DigitalOcean WP サイトの速度はどれくらいですか?
どのサイトも独自であるため、これを一般化するのは困難です。ただし、参考までに、いくつかの負荷テストを行ったので、その結果を示します。
StudioPress で Authority Pro テーマ をインストールし、Blazemeter を使用してテストするためにダミーの投稿をいくつか置きました。
かなりすごいですね。そうじゃない?
ご覧のとおり、テストは北カリフォルニアから 50 人のユーザーを対象に 5 分間行われ、結果は素晴らしいものでした。
- 平均応答時間 – 351.19ms
- エラー – 0%
1 秒未満でも印象的です。
結論
共有ホスティングを使用していて、クラウドへの移行を検討しており、セットアップに時間を費やす準備ができている場合は、DigitalOcean が良い選択となるでしょう。ただし、自分を管理する時間とスキルがない場合は、Kinstaを検討することをお勧めします。
Kinstaは、Google Cloud Platformを活用して最高のパフォーマンスとセキュリティを提供するプレミアムマネージドWPホスティングプラットフォームです。