CyberPanelでドメインのSSL証明書を再発行する方法:管理画面とSSHの両方を利用した手順

SSL証明書は、ウェブサイトと訪問者の間で送受信されるデータを暗号化し、ブラウザ上でサイトの信頼性と安全性を向上させる重要な役割を果たしています。しかし、SSL証明書は有効期限切れ、自動更新の失敗、DNS設定の変更、サーバー移行、システムエラーなどによって問題が発生する場合があります。そのような場合、SSL証明書の再発行が必要になります。

本記事では、CyberPanelにおいてSSL証明書を再発行するための複数の方法を詳しく解説します。CyberPanelの管理画面を利用する方法だけでなく、SSH経由で実行する方法についても紹介します。

SSL証明書を再発行するべきタイミング

以下のような状況が発生した場合、SSL証明書の再発行を検討してください。

  • ブラウザに「接続は安全ではありません」という警告が表示される
  • SSL証明書の有効期限が切れている、または間もなく期限切れになる
  • CyberPanelによる自動更新が失敗している
  • ウェブサイトを新しいサーバーへ移行した
  • DNSレコードを変更した
  • SSL証明書ファイルが削除または破損した

方法1:既存のSSL証明書を削除し、CyberPanelから再発行する

最も簡単で一般的な方法です。

ステップ1:既存のSSL証明書を削除する

SSHでサーバーへ接続し、以下のコマンドを実行します。

rm -rf /etc/letsencrypt/live/domain.com
rm -rf /etc/letsencrypt/archive/domain.com
rm -rf /etc/letsencrypt/renewal/domain.com.conf

続いてOpenLiteSpeedを再起動します。

systemctl restart lsws

ステップ2:CyberPanel管理画面からSSLを再発行する

CyberPanelへログインし、以下のメニューへ移動します。

Websites → List Websites → Manage → Issue SSL

または、

SSL → Manage SSL

を開きます。

CyberPanelはLet’s Encryptに接続し、新しいSSL証明書を自動的に発行します。

方法2:CyberPanelのコマンドライン機能を利用してSSLを再発行する

CyberPanelの管理画面にアクセスできない場合や正常に動作しない場合は、SSHから直接SSL証明書を発行できます。

以下のコマンドを実行します。

python3 /usr/local/CyberCP/plogical/sslUtilities.py -d domain.com

CyberPanelのバージョンによっては、次のコマンドを使用する場合があります。

python3 /usr/local/CyberCP/plogical/virtualHostUtilities.py issueSSL --domain domain.com

発行後、以下のコマンドで証明書ファイルを確認します。

ls -la /etc/letsencrypt/live/domain.com/

cert.pem、fullchain.pem、privkey.pemなどのファイルが存在すれば、SSL証明書の発行は成功しています。

方法3:Certbotを利用してSSL証明書を発行する

CertbotはLet’s Encrypt公式推奨のSSL管理ツールです。

Certbotのインストール

Ubuntuの場合:

apt update
apt install certbot -y

AlmaLinuxまたはRocky Linuxの場合:

dnf install certbot -y

SSL証明書を発行する

certbot certonly --webroot \
-w /home/domain.com/public_html \
-d domain.com \
-d www.domain.com

発行後、証明書は以下のディレクトリに保存されます。

/etc/letsencrypt/live/domain.com/

必要に応じて、CyberPanelへ手動でインポートすることも可能です。

方法4:ワイルドカードSSL証明書を発行する

ワイルドカードSSL証明書を利用すると、ドメイン配下のすべてのサブドメインを保護できます。

例:

*.domain.com

以下のコマンドを実行します。

certbot certonly \
--manual \
--preferred-challenges dns \
-d "*.domain.com" \
-d domain.com

Certbotは次のDNS TXTレコードの作成を要求します。

_acme-challenge.domain.com

DNSの反映後、Let’s Encryptによる認証が完了し、ワイルドカードSSL証明書が発行されます。

この方法は、以下のような複数のサブドメインを運用している環境に最適です。

  • mail.domain.com
  • blog.domain.com
  • api.domain.com
  • shop.domain.com

方法5:acme.shを利用する

多くのサーバー管理者は、軽量かつ安定性に優れたacme.shを利用しています。

acme.shのインストール

curl https://get.acme.sh | sh
source ~/.bashrc

SSL証明書を発行する

acme.sh --issue \
-d domain.com \
-w /home/domain.com/public_html

証明書をインストールする

acme.sh --install-cert -d domain.com \
--key-file /usr/local/lsws/conf/key.pem \
--fullchain-file /usr/local/lsws/conf/cert.pem

OpenLiteSpeedを再起動します。

systemctl restart lsws

SSL証明書の発行に失敗した場合の確認事項

Let’s Encryptによる証明書発行や更新に失敗した場合は、以下の項目を確認してください。

DNS設定の確認

ドメインが正しいサーバーIPアドレスを指していることを確認します。

dig domain.com +short
dig www.domain.com +short

ポート80の確認

Let’s Encryptはドメイン認証のためにHTTP(ポート80)へアクセスする必要があります。

ss -tulpn | grep :80

または、

curl http://domain.com

を実行して応答を確認してください。

ファイアウォール設定の確認

以下のポートが開放されている必要があります。

80/tcp
443/tcp

確認コマンド:

firewall-cmd --list-ports

または、

ufw status

CyberPanelログの確認

tail -f /usr/local/lscp/logs/error.log

Let’s Encryptログの確認

tail -f /var/log/letsencrypt/letsencrypt.log

まとめ

CyberPanelでは、管理画面とコマンドラインの両方からSSL証明書の発行および更新を行うことができます。多くの場合、既存の証明書を削除して「Issue SSL」を再実行するだけで問題は解決します。

また、多数のサブドメインを運用している場合は、DNS認証を利用したワイルドカードSSL証明書が効率的な選択肢となります。DNS設定、ファイアウォール、システムログを定期的に確認することで、SSL関連のトラブルを未然に防ぎ、安全で安定したウェブサイト運営を実現できます。