OpenLiteSpeed:クイックスタート
WordPress をインストールしていない場合はOpenLiteSpeed クイックスタート画面が表示される。

【LSWS 初期設定】SWAP 作成&phpMyAdminのアクセス制限 など

WordPress 運用がしやすいように「SWAP 領域の確保」「phpMyAdmin へのアクセス禁止」を行います。f1-micro ではメモリ不足になるため、SWAP 領域で臓器します。また、セキュリティ対策として「phpMyAdmin へのアクセス禁止」も行います。
WordPress 運用がしやすいように「SWAP 領域の確保」「phpMyAdmin へのアクセス禁止」を行います。f1-micro ではメモリ不足になるため、SWAP 領域で臓器します。また、セキュリティ対策として「phpMyAdmin へのアクセス禁止」も行います。

デプロイしたOpenLiteSpeed × WordPress 環境を使いやすくするために、LiteSpeed Web Server(LSWS) の設定を少し追加と設定を行います。
具体的には「SWAP 領域の確保」「phpMyAdmin へのアクセス禁止」「ドメインへのリダイレクト設定」を行います。


SWAP メモリの作成

※ 高性能のVM インスタンス タイプを利用している場合は、ここはスキップしていただいてOKです。

LiteSpeed Web Serve では、最初からSWAP 領域が用意さていません。
高性能のマシンであれば問題はありませんが、600 MB のf1-micro ではメモリ不足で頻繁にVM インスタンスが落ちてしまいます。

f1-micro から高性能のマシンに変更すれば解決しますが、Alway Free(無料枠)を利用するにはf1-micro を使用しなければなりません。そこでf1-micro にHDD にメモリ領域を作成し、擬似的にメモリを増強するためにSWAP 領域を用意します。

VM インスタンスにSSH 接続を行い、ターミナルを起動します。
次のコマンドを実行し、現在のメモリ状況の確認とSWAP 領域を確認します。

free -h -t
ターミナル:メモリー状況を確認
メモリーが600M、SWAP が0 であることが確認できます。

次のコマンドを実行し、SWAP 領域として使う 4Gのswapfile ファイルを/tmp/lshttpd/ に作成します。

※OpenLiteSpeed では、スワップディレクトリは「/tmp/lshttpd/swap」で指定されています。
※ここではSWAP 領域を4Gにしていますが、お好みの数値に変更してください。

sudo fallocate -l 4G /tmp/lshttpd/swapfile

次のコマンドを実行し、作成したファイルの権限を所有者のみの読み書きに変更します。

sudo chmod 600 /tmp/lshttpd/swapfile

次のコマンドを実行し、作成したswapfile ファイルをSWAP 領域として指定します。

sudo mkswap /tmp/lshttpd/swapfile

次のコマンドを実行し、swapfile ファイルをSWAP 領域を有効にします。

sudo swapon /tmp/lshttpd/swapfile
ターミナル:SWAP 領域の作成

この状態ではVM インスタントが再起動時にリセットされてしまうため、起動時にSWAP が自動マウントされるようにfstab に追記します。

次のコマンドを実行し、fstab ファイルに「/tmp/lshttpd/swapfile none swap sw 0 0」を追記します。

echo '/tmp/lshttpd/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
ターミナル:fstab :SWAP を自動マウント

次のコマンドを実行し、SWAP の使用状況を確認します。

swapon --show
ターミナル:SWAP 状況を確認
SWAP ファイルが表示されます。

以上でSWAP 領域の設定となります。

phpMyAdmin を非表示

OpenLiteSpeed のデフォルト設定では、「http://IP アドレス/phpmyadmin」でphpMyAdmin へのアクセスができる状態になっています。
phpMyAdminを保護 するために、LiteSpeed のコントロールパネルでphpMyAdmin をアクセス禁止(非表示)に変更します。

phpMyAdmin ログイン画面

VM インスタンスにSSH 接続し、ターミナルを表示させます。
次のコマンドを実行し、すべてのIP アドレスがポート 7080 へのアクセスを許可します。

sudo ufw allow 7080
ターミナル:ポート 7080 への接続許可

次のコマンドを実行し、LSWS のコントロールパネルの ID/PW を取得します。

cat /home/ubuntu/.litespeed_password
ターミナル:OpenLiteSpeed の管理者 ID/PWの取得

「http://IPアドレス:7080」でLiteSpeed の管理画面にアクセスし、取得したID/PWを入力してログインします。

OpenLiteSpeed のWeb管理画面

操作しやすいように上部バーの右側のEnglish を日本語に変更します。

バーチャルホストを選択し、「wordpress」をクリックします。

OpenLiteSpeed コントロールパネル:バーチャルホスト

コンテキスト タブを選択し、アクションから編集をクリックします。

OpenLiteSpeed コントロールパネル:バーチャルホスト:コンテキスト

アクセス可能 項目を「いいえ」に変更し、静的コンテキストの定義バーの「保存」をクリックします

OpenLiteSpeed コントロールパネル:バーチャルホスト:コンテキストの設定

変更を適用するには、OpenLiteSpeed を再起動しなければなりません。
上部 右上の「緩やかな再起動」をクリックし、再起動を実行します。

OpenLiteSpeed コントロールパネル:緩やかな再起動

アクセス禁止 の状態でphpMyAdmin にアクセスすると「403 Forbidden」と表示されます。

OpenLiteSpeed:403 Forbidden

次のコマンドを実行し、ポート 7080への接続を閉じてOpenLiteSpeed の管理画面にアクセスできないようにします。

sudo ufw delete allow 7080
ターミナル:ポート 7080 への接続許可を削除

以上で、phpMyAdmin をアクセス禁止(非表示)に変更が完了となります。

補足:phpMyAdmin へのアクセス制限

上記では、phpMyAdmin 自体へのアクセス不可能にする設定でしたが、許可したIP アドレスのみをアクセス可能でそれ以外はアクセスができないようにする設定もあります。

同じようにLiteSpeed のコントロールパネル > バーチャルホスト > wordpress > コンテキスト > phpmyadmin に移動し、コンテキスト リストを編集します。

「アクセスが許可されました」にアクセスを許可するIP アドレス を設定し、「アクセスが拒否されました 」に* で設定します。
サブネットを利用する場合は、IP アドレス/サブネット で設定できます。

OpenLiteSpeed のWeb管理画面:コンテキスト リストの編集:アクセス制限
アクセスが拒否されました の「*」は(許可されたアクセスを除き)すべてのアクセスを禁止します。

この変更を適用するために「緩やかな再起動」を実行し、変更を適用させます

IP アドレスをドメインにリダイレクト

IP アドレス には何も設定されていないので、IP アドレスで検索するとそのままIP アドレスが表示されます。「IP アドレス」「ドメイン」が同じサイトでも別サイトとしてインデックスされるのでIP アドレスをドメインへのリダイレクトするように設定します。

LiteSpeed の管理画面にアクセスし、バーチャル ホストから「wordpress」をクリックします。

OpenLiteSpeed コントロールパネル:バーチャルホスト

「Rewrite」タブを選択し、Rewrite ルールを編集します。

OpenLiteSpeed コントロールパネル:バーチャルホスト:Rewrite

下記のコードをコピーし、IP アドレスとドメインを適当に変更して、保存を行います。

※ HTTP をHTTPS へのリダイレクト設定をすでに設定済みのため、http://35.240.201.78 でのアクセスはhttps://http://vietnam.4watcher365.dev/ へとリダイレクトされます。

RewriteCond %{HTTP_HOST} ^35\.240\.201\.78$
RewriteRule ^(.*)$ http://vietnam.4watcher365.dev/$1 [L,R=301]

※ 「. (ドット/ピリオド)」は正規表現で任意の1文字という意味を持っているため、「\(バックスラッシュ)」を付けることでURLのピリオドと認識させます。

OpenLiteSpeed コントロールパネル:バーチャルホスト:Rewrite ルールの編集
「35.240.201.78」を「http://vietnam.4watcher365.dev/」へとリダイレクト。

この変更を適用するために「緩やかな再起動」を実行し、変更を適用させます。

OpenLiteSpeed コントロールパネル:バーチャルホスト:IP アドレスをドメインへのリダイレクト設定

以上でIP アドレスをドメインへのリダイレクト設定となります。

LSWS 管理画面を閉じた後は次のコマンドを実行し、ポート 7080への接続を閉じてOpenLiteSpeed の管理画面にアクセスできないようにします。

sudo ufw delete allow 7080
ターミナル:ポート 7080 への接続許可を削除

まとめ

今後、WordPress 運用がしやすいように「SWAP 領域の確保」「phpMyAdmin へのアクセス禁止」「ドメインへのリダイレクト設定」を行いました。
貧弱なf1-micro ではメモリ不足でVM インスタンスが度々落ちてしまいます。そこでSWAP 領域を作ることでメモリを擬似的に増強することで安定した運用が行なえます。所感ですが g1-small (vCPU x 1、メモリ 1.7 GB)であればSWAP 領域も作らず、安定した運用ができました。
高性能なマシン タイプを使用している場合はSWAP は作成しなくても大丈夫ですが、「phpMyAdmin へのアクセス禁止」はどのマシン タイプであっても行っておくべきセキュリティ対策です。
デフォルトのphpMyAdmin ユーザーIDはroot またはwordpress です。パスワードも複雑で長いパスワードとはいえ、総当り攻撃で突破されてしまいます。また、総当り攻撃により、VM インスタンスへの負荷が明る可能性もあるのでアクセス禁止またはアクセス制限を掛けておくべき事項です。

OpenLiteSpeed の記事

参考リンク