AWSのEC2にWordPressを構築しよう!

はじめに

皆さんはWordPressというものをご存知でしょうか?これはCMS(コンテンツ管理システム)の1つで、世界で圧倒的シェアを獲得している無料ソフトウェアのことです。これを使うことで、Webの専門知識がなくても簡単に「ブログ」や「ホームページ」を作成することができます。本記事では、このWordPressをAWS(Amazon Web Service)で利用するにあたってのメリットやデメリット、AWSのEC2に構築するところまで解説していきます。レンタルサーバーやクラウドサーバーなどのサイト運用に利用できるサービスが多様にある中で、AWSのEC2を使って、WordPressを始めてみたい方の参考になれば幸いです。

WordPressの構築・公開方法

WordPressは、構築して公開するのにサーバーへとアップロードする必要があります。サーバーにはレンタルサーバーやクラウドサーバーなどがあります。

クラウドサーバー

クラウドサーバーとは、クラウド環境に作られたサーバーのことです。インターネット回線を通してサービスを利用することができます。AWSはこちらにあたります。

レンタルサーバー

レンタルサーバーとは、サーバーを貸し出すサービスのことです。月額料金を支払うことで、サーバーの構築や回線、運用管理を業者が行なってくれるものを指します。

AWSを利用するメリットとデメリット

まず、AWSのEC2でWordPressを使用するメリットとデメリットについて説明していきます。

メリット

初期費用、手間の削減

AWSはクラウドプラットフォームサービスなので、サーバーや環境を整える手間とコストがかからず初期費用が安く済みます。これにより、WordPressでのサイトの作成により集中することができます。

スケールアップとスケールダウン

必要に応じてスケールアップとスケールダウンが行われます。オートスケーリングによって自動的に行われるので、一時的なアクセスの増減にも対応可能で、手間もかからず必要な分だけ利用可能です。これにより運用時の管理の負担を減らすことができます。

インスタンスの複製

AMI(Amazon Machine Image)を作成し、比較的簡単にインスタンスを複製することができます。同じ型のインスタンスになるので、バックアップや本番環境の構築をしたいときに役に立ちます。

セキュリティ

セキュリティの維持には、高度な専門知識と技術が必要とされます。AWSは、Amazon社がセキュリティ対策を行っているので、常に一定以上のセキュリティが保証されており自動的に最新の状態に更新されます。これによりセキュリティ対策にかかるコストを別の作業に有効活用することができます。また、ELB(Elastic Load Balancing)というトラフィックを複数のEC2インスタンス等に自動的に分散することで、負荷を分散することができます。

多様な機能

AWSは、多様なサービスを提供しているので、目的に合ったサービスを選んで構築することができます。レンタルサーバーでは、サービス元のマシンのスペックや与えられる権限によって制限が発生するので、AWSの方が自由度の高いサービスとなっています。また、WordPressの運営だけでなく、他の開発などを行う場合もAWSで行うことができます。利用するサービスの数が増えるほど料金も高くなるので注意が必要です。

デメリット

必要知識

AWSでは多様なサービスを提供しているので、自分で目的に合ったサービスを選ばなければいけません。組み合わせによって様々なことができますが、無駄な機能を付けてしまう可能性もあります。AWSを利用するにはある程度のAWSに関する知識が必要となります。

稼働後のコスト

AWSは複数のサービスを利用できるので、料金を計算しづらい側面があります。また、従量課金制のため、サービスの拡大やアクセス数の増加で想定よりも費用が掛かる可能性があります。初期費用が掛からないことがメリットの反面稼働時にデメリットがあるので、行うサービスの目的や規模をしっかりと考えた上で費用を計算しましょう。レンタルサーバーを使用すれば、月額の料金は決まっています。

個別サポート

AWSには個別でのサポート体制はありません。問題点や不明瞭な点があっても自力で解決する必要があります。レンタルサーバーはサービスによってはチャットや電話でサポートをしているものがあります。

前提条件

これからEC2上にWordPressを構築していくにあたって、前提条件としては以下の3項目です。

  • AWS EC2(Amazon Linux2)が作成済みであること。
  • AWS RDS(MySQL)が作成済みであること。
  • EC2にログインし、そこからRDSへログインできること。

これらの前提条件がクリアされているのを想定して、以降の解説を進めていきます。

①Apacheのインストール

まず始めにApacheのインストールをしていきます、手順は以下の通りです。

1:SSHでEC2サーバーにログインし、EC2インスタンスのライブラリの更新をしていきます。EC2サーバーにログインしたら、「sudo yum update -y」を入力し実行してください。このコマンドを実行するとEC2インスタンスの各種ライブラリが最新の状態に更新されます。最後に、「完了しました!」が表示されていれば、更新は成功です。

2:Apacheのインストールをしていきます。「sudo yum -y install httpd」コマンドを入力して実行してください。最後に「完了しました!」が表示されていれば、Apacheのインストールは成功です。ちなみに、「httpd」というのはApacheを構成する実行ファイルのことです。

3:Apacheがインストールされただけでは起動しないので、Apacheが自動で起動するように設定します。「sudo systemctl enable httpd.service」コマンドを入力して実行することで、Apacheが自動で起動するようになります。また、自動で起動しているのか確認するために「sudo systemctl is-enabled httpd.service」コマンドを入力して実行してください。実行後に「enabled」が表示されていればApacheの自動起動が有効になっています。

②データベース作成

続いて、WordPress用のデータベースを作成していきます。なぜデータベースが必要かというと、WordPressを使用するためにはデータベースの方に接続する必要があるからです。手順は以下の通りです。

1:データベースを作成するため、EC2に接続してRDSのMySQLに接続します。「CREATE DATABASE word_press DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;」コマンドを入力して実行し、実行後に「Query OK」と表示されていればデータベースの作成は完了です。また、作成されたデータベースを確認するために「SHOW DATABASES;」コマンドを入力して実行してください。実行後データベースが表示されればOKです。

2:続いてWordPress用のユーザを作成していきます。「CREATE USER ‘word_press’@’%’ IDENTIFIED BY ‘password’;」コマンドを入力し、実行してください。これでユーザ名が「word_press@ホスト名」でパスワードが「password」のユーザが作成されます。

3:最後に、作成したユーザにデータベース操作権限を付与していきます。「GRANT ALL ON word_press.* TO ‘word_press’@’%’;」コマンドを入力し、実行してください。コマンド実行後「Query OK」が表示されていれば権限付与ができています。しかし、これだけではまだMySQLの方に設定が反映されていないので、「FLUSH PRIVILEGES;」コマンドを入力し実行してください。このコマンドを実行して「Query OK」が表示されれば、設定は完了です。

③WordPressインストール

ここからWordPressのインストール手順を解説していきます。コマンドに慣れていない方には少々難しいかもしれませんが、手順は以下の通りです。

1:WordPressを動かすにはPHPが必要なので、PHPをインストールします。「sudo amazon-linux-extras install -y php7.2」コマンドを入力して実行してください。このコマンドを実行し、画面が止まったらインストール完了です。続いて、PHP関連のライブラリをインストールするので、「sudo yum install -y php php-mbstring」コマンドを入力実行してください。実行後「完了しました!」が表示されれば完了です。

2:WordPressのファイルをダウンロードしていきます。まず、「cd ~」でホームディレクトリに移動し、「wget https://ja.wordpress.org/latest-ja.tar.gz」コマンドを入力し実行してください。コマンド実行後「保存完了」が表示されればダウンロード完了です。

3:ダウンロードしたファイルは圧縮されているので解凍していきます。次のコマンドを入力し実行してください。「tar xzvf latest-ja.tar.gz」、このあと「ls」と入力し実行すると解凍された「wordpress」ディレクトリが表示されます。

4:WordPressディレクトリのファイルをApacheから見れる場所にコピーします。まず、「cd wordpress/」でwordpressディレクトリ内に移動し、続いて「sudo cp -r * /var/www/html」コマンドを入力して実行してください。これでコピーが完了します。

5:WordPressのファイルの所有者をApacheに変更します。「sudo chown apache:apache /var/www/html/ -R」コマンドを入力して実行してください。実行後、設定を反映するためにApacheを再起動します。「sudo systemctl status httpd.service」コマンドを入力して実行してください。実行後「active」が表示されれば完了です。これでインストールは完了です。

④WordPressの設定

Webブラウザを開き、自身のドメイン名でWebサーバーにアクセスします。アクセスすると、WordPressの設定画面が開くので「データベース名(②で作成したデータベース名)」、「ユーザ名(②で作成した@より前のユーザー名)」、「パスワード(②で作成したパスワード)」、「データベースのホスト名(EC2のエンドポイント)」を入力し、「送信」ボタンをクリックします。

続いて、「インストール実行」ボタンをクリックするとサイト名などの入力画面になるので、それらを入力して「WordPressをインストール」ボタンをクリックすると、WordPressが使えるようになります。

まとめ

AWSでWordPressを利用するメリットとデメリット、AWS EC2でWordPressの構築方法を解説してきましたが、いかがだったでしょうか?AWSは多様なサービスを提供しているサービスなので、よく理解して利用すれば非常に便利です。特徴をよく理解して有効活用できるようにしていきましょう。構築に関してはほとんどがコマンド操作なので、コマンドに慣れていない方からすると難しく感じたかもしれません。しかし、やっていることはそこまで複雑ではないので、実際に手を動かして確かめながらWordPress構築まで是非やってみてください。そうすることでより良いサイトを構築できるようになるはずです。そして、自分でWordPressを構築しWebサイトを公開することができるようになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

EC2って何?

次の記事

ETLジョブを効率化するAWS Glue