1
1

Amazon Linux 2023でWordPressを構築

Last updated at Posted at 2024-02-17

概要

EC2にWordPressを構築して初期表示までやってみたいと思います。

EC2を作成

まずはEC2を作成していきます。

AMIはAmazon Linux 2023を使用します。
スクリーンショット 2024-02-16 22.10.30.png

キーペアも作成しておきます。(SSH接続で使う)
スクリーンショット 2024-02-16 22.11.48.png

EC2へSSH接続する

作成したキーペアを.sshへ移動します。

% mv Downloads/aws-test-key.pem .ssh/

パーミッションを変更する。

% chmod 400 "aws-test-key.pem"

ここまできたらEC2にSSH接続してみる。

% ssh -i "aws-test-key.pem" ec2-user@インスタンスのパブリック IPv4 アドレス

  ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'

一応rootユーザーになっておきます。

$ sudo su -

パッケージをアップデート

まずパッケージを最新にしておきましょう

# dnf update -y

Apacheのインストール

# dnf install -y httpd

Complete!と出たら完了です。

起動します。

# systemctl start httpd

起動されたか確認します。
active (running)になっていたら起動成功です。

# systemctl status httpd

自動起動するようにしておきます。

# systemctl enable httpd

Webサーバは起動できたので、この時点でEC2のパブリックIPにアクセスすると初期ページが表示されるはずです。

MySQLをインストール

リポジトリをインストールします。

# dnf -y localinstall  https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

次にパッケージをインストールしますが、デフォルトだと下記のエラーが出るはずです。

# dnf install mysql-community-server mysql-community-client mysql-community-devel
Error: GPG check FAILED

GPGキーをインポートします。

# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

これでもう一度クライアントをインストールします。
Complete!と表示されたら完了です。

# dnf install mysql-community-server mysql-community-client mysql-community-devel
Complete!

起動してみる。

# systemctl start mysqld

起動確認
active (running)になっていたら成功です。

# systemctl status mysqld

自動起動設定をします。

# systemctl enable mysqld

PHPのインストール

次に、PHPをインストールしていきます。

# dnf -y install php-fpm php-mysqli php-json php php-devel

インストールされたかどうか確認します。

# php -v
PHP 8.2.15 (cli) (built: Jan 16 2024 12:19:32) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.15, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.15, Copyright (c), by Zend Technologies

WordPressのインストール

wgetコマンドでWordPressをインストールしていきます。

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

パッケージを展開します。

# tar -zxvf latest-ja.tar.gz

展開が終わったら元のファイルは不要なので削除します。

# rm latest-ja.tar.gz 

Web公開用にドキュメントルートにWordPressのファイルを配置します。

# mv wordpress/* /var/www/html/

サーバを再起動します。

# systemctl restart httpd.service

ここまできたらEC2のパブリックIPにアクセスするとWordPressの初期画面が表示されます。

スクリーンショット 2024-02-17 12.33.39.png
スクリーンショット 2024-02-17 12.33.54.png

DBの各種設定

MySQLにログインします。

# mysql -u root -p

ここでパスワードが聞かれますが、MySQLの初期パスワードは/var/log/mysqld.logで確認することができます。

# less /var/log/mysqld.log

lessコマンドで確認すると以下の様なログが確認できるはずです。
root@localhost:以降のGrGapdplN0*m:が初期パスワードです。

[Note] A temporary password is generated for root@localhost: GrGapdplN0*m:

ログインができたら、初期パスワードを変更する必要があります。
(パスワードの変更をしないとデータベース操作やクエリ実行ができないため)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';

WordPress用のデータベースを作成します。

mysql> CREATE DATABASE 'wordpress';

WordPress用のユーザーとパスワードを作成します。

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

DBに対する完全な権限を付与します。

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

変更を適用

mysql> FLUSH PRIVILEGES;

WordPressの各種設定

先ほど作成したDBの接続情報をWordPressの設定ファイルに記述していきます。

WordPressの設定ファイルを配置します。

# cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

wp-config.phpのDB設定の箇所を変更します。

# vi /var/www/html/wp-config.php 
/** The name of the database for WordPress */
define( 'DB_NAME', 'データベース名' );

/** Database username */
define( 'DB_USER', 'ユーザー名' );

/** Database password */
define( 'DB_PASSWORD', 'パスワード' );

ブラウザ Cookie に暗号化レイヤーを提供するためにランダムな値を設定します。
下記のURLにアクセスして値を取得してください
https://api.wordpress.org/secret-key/1.1/salt/

define('AUTH_KEY',         ' #U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-');
define('SECURE_AUTH_KEY',  'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg');
define('LOGGED_IN_KEY',    'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3');
define('NONCE_KEY',        'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj');
define('AUTH_SALT',        'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h');
define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv');
define('LOGGED_IN_SALT',   ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/');
define('NONCE_SALT',       '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG');

これで初期画面から必要な項目を設定してインストールを完了させることでWordPressを使用することができるようになります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1