【AWSでWordPress】EC2にWordPressをインストールする

2021年3月13日

EC2にWordPressをインストールしていきます。

この記事はAWSでWordPress環境を構築する連続記事の4番目です。
その他の手順はリンクからどうぞ!

  1. AWSのアカウントを作成する: 30分
  2. EC2インスタンスの作成: 20分
  3. EC2にLAMP環境を整える: 20分
  4. EC2にWordPressをインストールする: 20分
  5. 独自ドメインを取得する: 30分
  6. 通信をHTTPS化する: 60分

〜発展〜
・ストレージをS3にする
・データベースをRDSにする
・自動で定期バックアップをとる

WordPressパッケージのダウンロード

まずはWordPress公式ページからWordPressソフトウェアのパッケージをダウンロードします。

PCにダウンロードして、ダウンロードファイルをEC2にアップロードしてもよいですが、EC2で直接ダウンロードしましょう。

ここで気をつけるのは、日本語版のWordPressをインストールしたい場合は「WordPress.org 日本語」サイトからダウンロードすること。「WordPress.org」とググって英語サイトからダウンロードすると英語版のソフトウェアがインストールされます。

WORDPRESS.ORG 日本語:https://ja.wordpress.org/download/

ちなみに「https://ja.wordpress.org/latest-ja.tar.gz」で常に上記ページから最新のバージョンをダウンロードできます。現在は「WordPress 5.6.2」がダウンロードされるはず。

ちなみに「-ja」とついているのが日本語版です。「~~~latest.tar.gz」だと英語版がダウンロードされるので注意。

バージョンを選んでインストールしたかったら上記ページ内の「すべてのリリース」というリンクをクリックしてインストールしたいバージョンを探します。

好きなバージョンの「.tar.gz」リンクを右クリックで「リンクのアドレスをコピー」すると、「https://ja.wordpress.org/好きなバージョン-ja.tar.gz」がコピーされるので、以下の説明では置き換えて読んでください。

EC2に接続して、下記コマンドを打ってインストールパッケージをダウンロード。

wget https://ja.wordpress.org/latest-ja.tar.gz

次にダウンロードしたファイルを解凍します。

tar -xzf latest-ja.tar.gz

解凍すると「wordpress」という名前のフォルダができます。

ls

を実行して「wordpress」というフォルダが表示されていればOK。

WordPress用のデータベースを作成

WordPressの投稿記事やコメントなどはデータベースに保存されます。

前記事でEC2にMariaDBをインストールしているので、そちらにデータが格納されるようにしていきます。

MariaDBを起動

sudo systemctl start mariadb

MariaDBにrootユーザでログイン

mysql -u root -p

パスワード入力を求めれられるので、入力。ログインに成功したら以下のように歓迎されます。嬉しい!

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.2.10-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;’ or '\h’ for help. Type '\c’ to clear the current input statement.
MariaDB [(none)]>

データベースのユーザとパスワードを作成
以下の「wordpress-user」のところを好きなユーザ名、「your_strong_password」のところを好きなパスワードに変えて、入力。最後の「;」も忘れない。

CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';

データベースを作成する
「wordpress-db」のところを分かり易い名前にする。なんならそのまま「wordpress-db」でもよい。「`」キー気をつける。

CREATE DATABASE `wordpress-db`;

作成したデータベースに対して、WordPressユーザに対する権限を付与
適宜自分の決めた文字列に変えて読み替え。

GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";

変更を有効

FLUSH PRIVILEGES;

MariaDBログアウト!

exit

wp-config.phpの作成

WordPressのconfigファイルを作成します。

解凍してできた「wordpress」フォルダのなかに、wp-config-sample.phpというサンプル構成ファイルがあるのでこれをコピーしてwp-config.phpファイルを作ります。

wordpressディレクトリに移動

cd wordpress

コピーしてwp-config.php作成

cp wp-config-sample.php wp-config.php

phpファイルを編集する

sudo vi wp-config.php

上記コマンドを実行すると編集画面になります。
「i」キーを押すと編集可能状態に、「esc」キーを押すと編集終了状態になります。

DB_NAMEを定義している行を探して、自分で決めたデータベース名に変更

define('DB_NAME’, 'wordpress-db');

DB_USERを定義している行を探して、自分で決めたデータベースユーザ名に変更

define('DB_USER’, 'wordpress-user');

DB_PASSWORDを定義している行を探して、自分で決めたパスワードに変更

define('DB_PASSWORD’, 'your_strong_password');

次に「Authentication Unique Keys and Salts」というセクションを探します。
セキュリティに関するところです。
https://api.wordpress.org/secret-key/1.1/salt/ にアクセスすると自動でランダムにキーを作ってくれるのでコピーして以下のところを丸ごと書き換えます。

define('AUTH_KEY’, ' ~~~~~~~~~~~~~~~~~~~~');
define('SECURE_AUTH_KEY’, ' ~~~~~~~~~~~~~~~~~~~~');
define('LOGGED_IN_KEY’, ' ~~~~~~~~~~~~~~~~~~~~');
define('NONCE_KEY’, ' ~~~~~~~~~~~~~~~~~~~~’);
define('AUTH_SALT’, ' ~~~~~~~~~~~~~~~~~~~~');
define('SECURE_AUTH_SALT’, ' ~~~~~~~~~~~~~~~~~~~~');
define('LOGGED_IN_SALT’, ' ~~~~~~~~~~~~~~~~~~~~');
define('NONCE_SALT’, ' ~~~~~~~~~~~~~~~~~~~~');

以上まで終わったら、「esc」キーを押下して編集終了状態にした後、「:wq」と打ってEnterで保存・終了されます。

WordPress関連ファイルをApacheドキュメントルート配下に

「wordpress」フォルダを、Apacheのドキュメントルート配下にコピーします。

先ほどwordpressディレクトリに移動したままなので一回出ます。

cd ~

WordPressをドキュメントルートの下のどこで使用するかによってコピー先が変わります。

WordPressをドキュメント直下で実行する場合

cp -r wordpress/* /var/www/html/

WordPressをドキュメントルート配下のサブディレクトリやフォルダで実行する場合
(例えば「EC2のDNS/blog 」という構造でブログを運用したい場合)

mkdir /var/www/html/blog
cp -r wordpress/* /var/www/html/blog/

.htaccessファイルの有効化

Apacheの.htaccessファイルがデフォルトで有効になっていないので有効にします。

このファイルを有効にしないとWordPressのパーマリンクが正しく機能しません。

httpd.confファイルをテキストエディタで開く

sudo vi /etc/httpd/conf/httpd.conf

<Directory “/var/www/html">で始まるセクションを探して、
「AllowOverride」の行を「None」から「All」に書き換える

<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
# Require all granted
</Directory>

下記のように書き換えたら、「esc」、「:wq」で保存してテキストエディタ終了。

AllowOverride All

PHPグラフィックライブラリのインストール

PHPの画像関連ライブラリであるGDライブラリをインストールします。
アップロードした画像のリサイズやトリミングができるようになります。

インストール

sudo yum install php-gd

インストールしたバージョンを確認したいとき

sudo yum list installed | grep php-gd

WordPressのインストール

いよいよWordPressをインストールします。
前記事(【AWSでWordPress】EC2にLAMP環境を整える)のファイルを操作できるようにするが終わっていない人はまず設定。

httpdとmariadbがシステム起動時に起動することを確認する

sudo systemctl enable httpd && sudo systemctl enable mariadb

httpdが実行中であることを確認
Active: active (running) と表示されたら実行中です。

sudo systemctl status httpd

実行中でない場合、起動する

sudo systemctl start httpd

mariadbが実行中であることを確認
Active: active (running) と表示されたら実行中。

sudo systemctl status mariadb

実行中でない場合、起動する

sudo systemctl start mariadb

ウェブブラウザで、EC2インスタンスのパブリックDNSアドレスを打ち込む。(wordpressフォルダをドキュメントルート配下のサブディレクトリなどにコピーした場合は/blogなどをつける)
※http:// にすること

WordPressインストールスクリプトが表示されます。

言われるがまま、必要な事項を記入して、「WordPressをインストール」をクリック!!

成功しました!

「ログイン」をクリックするとログイン画面が現れるので
設定したユーザ名とパスワードを入力すると……

WordPressのダッシュボードに入れました!成功です!
これでWordPressがうまくインストールできました!やったね!

左上の家マークを押すと、実際のサイトページにいけます。

これが出来立てほやほやのブログページ。愛おしいですね。
ここからカスタマイズして自分だけのブログになってゆくわけです。愛おしいですね。
大きくなるんだぞ〜。

これでEC2にWordPressをインストールすることができました。
次は実際にブログとして運用するためにドメインを取得したり通信をセキュアにしたりしたいと思います。

お疲れ様です。では!
\楽しい人生/

ブログランキング・にほんブログ村へ