Web開発ログ | エンジニアに役立つ情報 | 開発の中での気づきを発信

高卒Devlog

【EC2】EC2にWordPressブログを構築してみた

thumbnail

こんにちは! RYOTAです!

当記事をご覧くださりありがとうございます!

こちらの記事は当ブログ(高卒Devlog)の構築で実際に行った作業手順となります! AWS上にブログを構築してみたいという方は是非最後までご覧ください!

はじめに

これまではXserverさくらのレンタルサーバーでブログを構築していましたが、せっかくなので新しくAWS上に構築してみたので作業ログを残そうと思います。
Nginxは設定が面倒なので今回のサーバーはApacheを使用します。
今回の使用技術はこちらです。

  • EC2(AWS)
  • WordPress
  • Apache

作業手順

今回はAWSのEC2インスタンスを立ち上げ、その上にWebサーバーのApacheをインストールするところまでをゴールとします。
大まかな流れはAWS側の設定をし作成されたインスタンスに各種必要なライブラリ等をインストールしていきます。
作業手順

  1. EC2インスタンスの作成
  2. MariaDBのインストール
  3. PHPのインストール
  4. Apacheのインストール

AWS: EC2インスタンスの立ち上げ

インスタンスの作成

AMIを選択
Amazon Linux 2 AMI (HVM), SSD Volume Type
インスタンスタイプを選択
t2.micro
自動割り当てパブリックIP: [有効] に変更
残りはデフォルトで次に進みインスタンスを作成します。
キーペアを作成のフローがあるので作成しダウンロードをします。
※pemファイルは重要なファイルとなるので大切に保管しましょう。

セキュリティグループを変更

先ほど作成したインスタンスに紐づいているセキュリティグループを選択し、下記のルールを追加します。
HTTP 80 カスタム 0.0.0.0/0, ::/

SSH接続

インスタンスが作成されたら実際にEC2にアクセスしてみます。
作成時にダウンロードしたpemファイルを用いてssh接続をするため、そちらの設定をおこないます。

.pemファイルを~/.sshに移動

$ mv ~/Downloads/{file_name}.pem ~/.ssh

.pemファイルにアクセス権限を付与

$ cd ~/.ssh
$ chmod 0600 {file_name}.pem

SSH接続

$  ssh -i ~/.ssh/{file_name}.pem ec2-user@{instanse_name}

下記が表示されればアクセスが完了です。

各種ライブラリのインストール

EC2インスタンスの構築が完了したらWordPressを動かすために必要な各種ライブラリをインストールします。
インストールするライブラリは下記の一覧です。
インストール一覧

  • MariaDB
  • PHP
  • Apache

MariaDB Foundation … Continue reading "MariaDB Foundation" MariaDB.org
PHP: Hypertext Preprocessor PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
https://httpd.apache.org/

MariaDBのインストール

インストール

$ sudo yum install -y mariadb-server

DBの起動

$ sudo systemctl start mariadb

自動起動の有効化

$ sudo systemctl enable mariadb      # 有効化
$ sudo systemctl is-enabled mariadb  # 設定の確認

セキュリティ設定

$ sudo mysql_secure_installat

DBにアクセス

$ mysql -u root -p

Userの作成

$ CREATE USER "{user_name}"@'localhost' IDENTIFIED BY "{db_password}";

データベースの作成

$ CREATE DATABASE "{db_name}";

権限を付与

$ GRANT ALL PRIVILEGES ON "{db_name}".* TO "{user_name}"@"localhost";

権限設定のフラッシュ

$ FLUSH PRIVILEGES;

DBから抜ける

$ exit

ここまででデータベースの作成と事前準備が完了です。

PHPのインストール

次はWordPressを動かすためのPHP環境を構築します。
今回PHPのバージョンは7.4系を使用します。

ソフトウェアアップデート

$ sudo yum update -y

事前準備

$sudo amazon-linux-extras install epel #Amazon Linux でepel-releaseパッケージをインストール出来るようにする
$sudo yum install epel-release #epel-releaseパッケージをインストール
$sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm #remiリポジトリを使えるようにする

PHPと関連ライブラリのインストール

$ sudo yum install -y php74 php74-php php74-php-fpm
$ sudo yum install php74-php-gd php74-php-mysqlnd php74-php-xmlrpc -y
$ sudo ln -s /usr/bin/php74 /usr/bin/php

インストールの確認

下記コマンドでPHPのバージョンが返って来れば完了です。

$ php -v

Apacheのインストール

続いてWebサーバーのApacheをインストールします。
※Nginxに比べ設定が簡単なので今回はこちらを用います。

インストール

$ sudo yum install httpd

起動

$ sudo systemctl start httpd.service

自動起動の有効化

$ sudo chkconfig httpd on                         # 有効化
$ sudo systemctl is-enabled httpd.service   # 設定確認

ブラウザでアクセス


http://{EC2のパブリックIPアドレス}

ブラウザで上記の画面が表示されればApacheからのアクセスが返ってきている証拠です。
ここまででサーバーの構築が完了したので次回はWordPressをインストールしApache上で動かしていきたいと思います。