Let’s Encrypt を使用して、Linux サーバーに無料の SSL 証明書をインストールする手順を以下に示します。Let’s Encrypt は無料で利用でき、ドメイン認証型(DV)の SSL 証明書を提供します。これにより、ウェブサイトのセキュリティが強化され、HTTPS プロトコルを使用して通信が暗号化されます。
1. 事前準備
1.1 サーバーの確認
Let’s Encrypt を使用するには、サーバーがインターネットに接続されている必要があります。また、管理者権限(rootまたはsudo)が必要です。
まず、サーバーにログインし、サーバーが正しく動作していることを確認します。
bashssh username@your_server_ip
1.2 ドメイン名の確認
SSL 証明書は特定のドメインに対して発行されるため、ウェブサイトのドメインが正しく設定されていることを確認します。example.com
のようなドメイン名があることを確認してください。もしまだ設定していない場合は、ドメインの購入とDNS設定を行ってください。
2. Certbot のインストール
Let’s Encrypt の証明書を簡単に取得するために、Certbot というツールを使用します。Certbot は自動で証明書の取得、インストール、更新を行ってくれます。
2.1 Certbot のインストール(Ubuntu/Debian の場合)
最新の Certbot をインストールするために、まずはリポジトリを更新し、Certbot とその Nginx または Apache 用のプラグインをインストールします。
bashsudo apt update
sudo apt install certbot python3-certbot-nginx # Nginx を使用する場合
# または
sudo apt install certbot python3-certbot-apache # Apache を使用する場合
2.2 CentOS/RHEL の場合
CentOS や RHEL では、epel-release
リポジトリを有効にし、その後に Certbot をインストールします。
bashsudo yum install epel-release
sudo yum install certbot python3-certbot-nginx # Nginx を使用する場合
# または
sudo yum install certbot python3-certbot-apache # Apache を使用する場合
3. SSL 証明書の取得
3.1 Nginx または Apache の設定を確認
SSL 証明書を取得するためには、Nginx または Apache サーバーが正しく設定されている必要があります。/etc/nginx/sites-available/
や /etc/httpd/
などにある設定ファイルを確認し、Web サーバーがインターネットからアクセス可能な状態で動作していることを確認してください。
3.2 Certbot を使用して証明書を取得
次に、以下のコマンドを実行して、Let’s Encrypt から SSL 証明書を取得します。
Nginx 用
bashsudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Apache 用
bashsudo certbot --apache -d yourdomain.com -d www.yourdomain.com
上記コマンドでは、yourdomain.com
と www.yourdomain.com
を実際のドメイン名に置き換えてください。Certbot は自動的にウェブサーバーの設定を変更して、SSL 証明書を適用します。
3.3 証明書の自動更新設定
Let’s Encrypt の証明書は 90 日間有効です。これを自動的に更新するために、cron
または systemd
のタスクを設定することができます。
Cron を使用した自動更新
まず、証明書の自動更新コマンドを cron
に追加します。
bashsudo crontab -e
次に、以下の行を追加します。このコマンドは毎日午前 3 時に Certbot を実行し、証明書の更新を確認します。
bash0 3 * * * certbot renew --quiet
4. SSL 証明書の確認
証明書が正しくインストールされ、HTTPS でアクセスできることを確認するために、ブラウザでドメイン名にアクセスします。https://yourdomain.com
と入力し、鍵アイコンが表示されていれば成功です。
また、SSL 証明書の有効期限を確認するために、以下のコマンドを実行することもできます。
bashsudo certbot certificates
これにより、インストールされている証明書の詳細が表示されます。
5. トラブルシューティング
もし証明書のインストール中に問題が発生した場合、以下の点を確認してください。
- ドメイン名が正しく設定されており、DNS が正常に機能しているか。
- Web サーバーが正しく動作しているか。
- 80 番ポートと 443 番ポートが開いているか(ファイアウォールの設定を確認)。
結論
Let’s Encrypt を使って Linux サーバーに無料の SSL 証明書をインストールするのは比較的簡単です。Certbot を使うことで、自動化が可能となり、証明書の更新も手間なく行えます。ウェブサイトに HTTPS を導入することで、ユーザーのセキュリティを高め、SEO の向上にもつながります。