2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2023.06.16
インフラAmazonLinux2023でWordPress環境を構築してみた
2023年3月15日にAmazon Linux 2の後継バージョンとなるAmazon Linux 2023が一般公開されました。
そこで今回はこのAmazonLinux2023にPHP、nginx、MySQLをインストールしてWordPress用の環境を構築してみました。
まずは作成した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をインストールしました。
dnf install cronie
※Cronを使用したい場合はcronieをインストールしてください。
dnf install rsyslog
それでは今度こそWPを使えるようにしていきます。
※AWS公式手順
AWSの公式ではmariadb105を使用することを推奨していますがMySQLをインストールしたかったので下記のコマンドで実行しました。
Fedoraではインストールできず、CentOS Stream はFedra と RHEL の中間的な位置づけなのでこちらの記事を参考にしました。
[小ネタ]Amazon Linux 2023にMySQL Clientをインストールする
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
dnf install nginx
nginx -v
# nginx version: nginx/1.22.1
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
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つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索