メニューを閉じる

テクノデジタルグループ

メニューを開く

2023.06.16

インフラ

AmazonLinux2023でWordPress環境を構築してみた

2023年3月15日にAmazon Linux 2の後継バージョンとなるAmazon Linux 2023が一般公開されました。

そこで今回はこのAmazonLinux2023にPHP、nginx、MySQLをインストールしてWordPress用の環境を構築してみました。

作業内容

EC2へアクセス

まずは作成したEC2へsshで接続します。
EC2で建てたAmazon Linux 2023(以下AL2023)サーバへteratermで接続しようとすると、、、?

teratermでAmazon Linux 2023にログインできない

セキュリティーグループを弄っても再起動してみてもteratermからは接続できませんでした。

検索をすると原因が判明しました。
参考

以下要約

Amazon Linux 2023では、opensshサーバーの設定において、デフォルトでRSA/SHA1(ssh-rsaシグネチャ)が無効化されてます。
そのため、rsaのキーペアを使用しteraterm4系からsshログインしようとしてもエラーではじかれます。

rsaのキーペアを使用している場合でも、新しいsshクライアント(rsa-sha2-256かrsa-sha2-512をサポートしているもの)を使っていればログインできますし、teratermでも5.0ベータ版を使用するとエラー回避できます。
また、teraterm4系を使用していても、ED25519キーペアを使用していれば接続可能です。

 

teraterm4系でRSAタイプの鍵を使用してる時だけ起こるんですね~

試しにコマンドプロンプトから接続してみると、、できました。

それでもteraterm4系でrsaのキーペアを使用して接続したい場合はおすすめはしませんが下記を実行してください。

1./usr/share/crypto-policies/policies/modulesの下に、SHA1SSHD.pmodというファイルを新規作成し、以下内容で保存する。

sign@openssh-server = RSA-SHA1+

2.以下コマンドを実行

update-crypto-policies --set DEFAULT::SHA1SSHD

3.現在適用されているポリシーの確認

cat /etc/crypto-policies/state/CURRENT.pol
sign@bind = ECDSA-SHA3-256 ECDSA-SHA2-256 ECDSA-SHA2-256-FIDO ECDSA-SHA3-384 
ECDSA-SHA2-384 ECDSA-SHA3-512 ECDSA-SHA2-512 EDDSA-ED25519 EDDSA-ED25519-FIDO 
EDDSA-ED448 RSA-PSS-SHA3-256 RSA-PSS-SHA2-256 RSA-PSS-SHA3-384 RSA-PSS-SHA2-384 
RSA-PSS-SHA3-512 RSA-PSS-SHA2-512 RSA-PSS-RSAE-SHA3-256 RSA-PSS-RSAE-SHA2-256 
RSA-PSS-RSAE-SHA3-384 RSA-PSS-RSAE-SHA2-384 RSA-PSS-RSAE-SHA3-512 
RSA-PSS-RSAE-SHA2-512 RSA-SHA3-256 RSA-SHA2-256 RSA-SHA3-384 RSA-SHA2-384 
RSA-SHA3-512 RSA-SHA2-512 ECDSA-SHA2-224 RSA-PSS-SHA2-224 RSA-SHA2-224 
ECDSA-SHA3-224 RSA-PSS-SHA3-224 RSA-SHA3-224 RSA-SHA1 ECDSA-SHA1

RSA-SHA1が追加されているのを確認できました。

他にも何か困りそうなことがないか調べたところ、、、
参考

cronもsyslogも無いみたいです!!
一々journalを確認するのも面倒ですしcronとrsyslogをインストールしました。

cronieのインストール

dnf install cronie

※Cronを使用したい場合はcronieをインストールしてください。

rsyslogのインストール

dnf install rsyslog

それでは今度こそWPを使えるようにしていきます。
AWS公式手順

MySQLのインストール

AWSの公式ではmariadb105を使用することを推奨していますがMySQLをインストールしたかったので下記のコマンドで実行しました。

Fedoraではインストールできず、CentOS Stream はFedra と RHEL の中間的な位置づけなのでこちらの記事を参考にしました。
[小ネタ]Amazon Linux 2023にMySQL Clientをインストールする

Amazon Web Services ブログ

Amazon Linux 2023 を、特定の Fedora リリースと直接比較することはできません。Amazon Linux 2023 の GA バージョンには、Fedora 34、35、36 のコンポーネントが含まれています。一部のコンポーネントは Fedora のコンポーネントと同じで、一部は変更されています。他のコンポーネントは、CentOS Stream 9 のコンポーネントにより良く似ているか、または独自に開発されたものです。

dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
dnf -y install mysql
dnf -y install mysql-server
mysql --version
# mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

インストールできました。
続いて初期パスワードを確認します。

systemctl enable mysqld
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log
# A temporary password is generated for root@localhost: ************

※rsyslogをインストールしていない人はjournalを確認してMySQLの初期パスワードを見つけてください。

パスワードの変更をしてWP用のデータベースを作成しました。

CREATE DATABASE `wpdatabase`;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '*************';
# 権限付与
GRANT ALL PRIVILEGES ON `wpdatabase`.* TO "wpuser"@"localhost";
# 権限反映
FLUSH PRIVILEGES;
exit

nginxをインストール

dnf install nginx
nginx -v
# nginx version: nginx/1.22.1

phpをインストール
インストールできるバージョンを確認してみます。

dnf list | grep php
# php8.1.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-cli.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-common.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-devel.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-fpm.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-mbstring.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-mysqlnd.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-opcache.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-pdo.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php8.1-xml.x86_64 8.1.16-1.amzn2023.0.1 @amazonlinux
# php-pear.noarch 1:1.10.13-2.amzn2023.0.4 amazonlinux
# php8.1-bcmath.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-dba.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-dbg.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-embedded.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-enchant.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-ffi.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-gd.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-gmp.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-intl.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-ldap.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-odbc.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-pgsql.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-process.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-soap.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# php8.1-tidy.x86_64 8.1.16-1.amzn2023.0.1 amazonlinux
# sphinx-php.x86_64 2.2.11-24.amzn2023.0.4 amazonlinux
# texlive-graphpaper.noarch 9:svn58661-59.amzn2023.0.2 amazonlinux

php81しかそのままではインストールできないみたいです、、。(古いWPは動かないかも)
インストールしました。

dnf install wget php-fpm php-mysqli php-json php php-devel php-gd
php -v
# PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64)
# Copyright (c) The PHP Group
# Zend Engine v4.1.16, Copyright (c) Zend Technologies
# with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies

WPをインストール

wget http://ja.wordpress.org/latest-ja.tar.gz ~/
tar zxvf latest-ja.tar.gz

とりあえず最新のWPを取得しました。

MySQLは起動してるので残りを起動します。

systemctl start php-fpm
systemctl start nginx

表示されました。

まとめ

WP用のPHP、nginx、MySQLのインストールは詰まることもありませんでしたがその手前で変わってることが色々有りそうでした。
Fedoraがメインであってもチャンポンになってるので、できるだけAWSが推奨するものを使ったほうがエラーに合わなくて済みそうですね。

AWSを使用したインフラ構築のご依頼はこちら

その他インフラサービスはこちら


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事