OpenLiteSpeedでSSLを導入

LiteSpeedのオープンソース版である、OpenLiteSpeed(OLS)は、ApacheやNginxと異なり、管理画面(WebAdmin Console)またはコマンドラインからSSLの設定を行います。ここでは、最も一般的な「Certbot (Let’s Encrypt)」を使用した無料SSLの導入手順を解説します。

環境はRocky Linux 8.7です。

CertbotによるSSL証明書の取得

まずはサーバーOSにSSH接続し、Let’s Encryptの証明書を取得します。

Certbotのインストール

Certbotとは無料、自動でSSL証明書を発行、更新できるOSSツールです。
認証局であるLet’s Encryptによって証明書を作成しています。

yum update
yum install certbot -y

インストール出来たら次に証明書発行をします。

証明書の発行(Webroot方式)

OLSが既に稼働している場合は、以下のコマンドで認証を行います。

sudo certbot certonly --webroot -w /usr/local/lsws/wordpress -d example.com
  • -w: WordPressのインストールディレクトリを指定します(デフォルトは/usr/local/lsws/wordpress)。
  • -d: あなたのドメイン名を入力してください。

成功すると /etc/letsencrypt/live/example.com/ 内に fullchain.pem と privkey.pem が生成されます。

OpenLiteSpeed管理画面(WebAdmin)の設定

ここがOLS特有の作業です。ブラウザから「https://サーバーIP:7080」にログインしてください。

リスナーの変更(443ポート)
  1. 左メニュー [Listeners] > [wordpressssl]をクリック。
  2. [SSL] タブを選択します。
  3. [SSL 秘密鍵 & 証明書] の「編集」をクリック。
  4. 以下を入力(example.com は自分のものに変更)秘密鍵ファイル: /etc/letsencrypt/live/example.com/privkey.pem証明書ファイル: /etc/letsencrypt/live/example.com/fullchain.pem証明書チェーン: Yes
  5. [保存] をクリック。

バーチャルホストのマッピング
  1. [Listeners] 一覧に戻り、「wordpressssl」リスナーの [バーチャルホストマップ] > [追加] をクリック。
  2. Virtual Host: 自分のサイトのVHost名(例:wordpress)を選択。
  3. ドメイン: example.com,(必要な方はローカルipも)を入力して保存。

ここまでできたら、OLSを再起動して設定を反映します。

WordPress側のHTTPS化対応

OLS側の準備ができたら、WordPress本体の設定を更新します。

  1. WordPress管理画面(ダッシュボード) > [設定] > [一般]。
  2. WordPress アドレス (URL) と サイトアドレス (URL) を以下のように書き換えます。修正前:http://example.com修正後:https://example.com
  3. 一番下の [変更を保存] をクリック(一度ログアウトされますが正常です)。

HTTPからHTTPSへの常時リダイレクト設定

無事「https://example.com」でアクセスできることが確認できたら、「http://」でアクセスしてきたユーザーを自動的に「https://」へ飛ばす設定を追加しましょう。

  1. OLS管理画面 > [Virtual Hosts] > [wordpress] > [Rewrite] タブ。
  2. [Rewrite Control] を以下に設定:Rewriteを有効にする: YesAuto Load from .htaccess: Yes
  3. さらに下の [Rewriteルール] に以下を追記
    rewriteCond %{HTTPS} !on
    rewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

ここまでできたら、OLSを再起動して設定を反映します。

SSL証明書の自動更新設定

Let’s Encryptの期限は90日なので、自動更新を有効にします。

certbot renew --dry-run

エラーが出なければ、通常はcronやsystemd timerで自動更新されますが、OLSの場合は更新後にサーバーを再起動する必要があります。

自動再起動用フックの作成

毎月1日の午前1時に証明書を自動更新しOLSを再起動するフックを作ります。更新日時はお好みで設定してください。

nano /etc/crontab
00 01 01 * * root /usr/bin/certbot renew --force-renewal && /usr/bin/systemctl restart lsws

 

以上でOpenLiteSpeedでSSLを導入することができました。

次回なにするかは未定です。

コメント

タイトルとURLをコピーしました