SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

AWS lightsailのPHPが古いので、アップデートする


とのことなので、アップデートする。

このサイトは古いバージョンの PHP (7.4.22) を実行しており、セキュリティアップデートを受け取れません。更新する必要があります。

AWS Lightsail で PHP 7.4.22 をお使いとのこと、セキュリティ面からも早急なアップデートが必要ですね。Lightsail で PHP のバージョンをアップデートする方法は、いくつかのパターンと注意点があります。

Lightsail でのPHPバージョンアップの基本的な考え方

Lightsail のインスタンスは、多くの場合 Bitnami などによって事前に設定されたLAMP (Linux, Apache, MySQL, PHP) スタックが含まれています。これらのスタックは特定のPHPバージョンで構成されているため、単に apt upgrade や yum update といったコマンドを実行するだけでは、PHPのメジャーバージョン(例: 7.4から8.xへ)が自動的にアップグレードされるわけではありません。

LightsailにおけるPHPバージョンアップの主な方法は、以下の2つです。

新しいPHPバージョンを含む新規インスタンスに移行する (推奨)

既存インスタンスのPHPを手動でアップグレードする (上級者向け、リスクあり)

それぞれ詳しく説明します。

geminiさんもこうおっしゃっているので、 素直にインスタンスを新しく立てる方向性でやってみる。

インスタンスたてる

エクスポート

All-in-One WPにて、そのままエクスポート。 500MBくらい。

-> インポート時にエラーがでるので、

  1. SSHでLightsailインスタンスに接続
    上記で説明した手順で、LightsailコンソールからブラウザSSH接続を行うか、お使いのSSHクライアントで接続します。

  2. php.ini ファイルを見つけて編集する
    Bitnami 環境では、php.ini ファイルは通常以下の場所にあります。

/opt/bitnami/php/etc/php.ini

このファイルを編集するには、sudo を使用してroot権限でテキストエディタを開く必要があります。ここでは nano エディタを例にします。

Bash

sudo nano /opt/bitnami/php/etc/php.ini

  1. 以下の設定項目を探し、値を変更する
    ファイルを開いたら、以下の行を探して適切な値に変更します。推奨値は、アップロードしたいファイルサイズによって異なりますが、例えば100MBのファイルをアップロードしたい場合を想定します。

Ini, TOML

upload_max_filesize = 100M
post_max_size = 128M # upload_max_filesize より大きく
memory_limit = 256M # post_max_size より大きく

M はメガバイト、G はギガバイトを意味します。

upload_max_filesize はアップロードしたいファイルの最大サイズに合わせて設定します。

post_max_size は upload_max_filesize よりも少し大きな値に設定します。

memory_limit は post_max_size よりもさらに大きな値に設定します。

パーマリンクを更新。

インポートタイミングで、 httpになってしまっていることがある

ので、

/opt/bitnami/wordpress/wp-config.php

define('WP_HOME','http://xxxxx');

define('WP_HOME','http://YOUR_IP_ADDRESS'); define('WP_SITEURL','http://YOUR_IP_ADDRESS');

あたりをhttpsにする必要がある

記録

5$でも性能に結構ちがいでてる? RAMとか減ってる気がする

最終的にいろいろやったけど結論

  • インスタンス作成(5,7$のどちらかで良さそう)
  • all-in-oneのエクスポート
  • IPのデタッチ、アタッチ
    • もともとの静的IPをはずして、新しいインスタンスにつける
    • IPでアクセスを確認する
  • ディストリビューションのオフ
  • lightsailのDNSのDNSレコードを、一時的に静的IPに変える(インスタンスに直接向ける)
    • ディストリビューションではなく、Aレコード。xxxxxx.cloudfront.netみたいなのにむけていたので
  • アップロードの上限を上げる
    • sudo nano /opt/bitnami/wordpress/wp-config.php
  • 取得しているドメインでアクセスを確認する
  • ドメインでアクセスできている状況で、インポート
  • bncertやってみる => 成功(ドメイン通ってるからっぽい)

Really Simple Securityは、いったん無効化にしてよさそう。( bncertがうまくいったので。)

あと、bncertしちゃわないとアクセスできないこともあり。

ディストリビューションを戻す方法

ディストリビューションをオンにする

以下の部分を、 ディストリビューションの「デフォルトドメイン」にすると戻せる。

おまけ

2021に作成したのか。

すごい歴史あるなー地味に。