開発運用

Linuxで無料SSL証明書をインストール

Let’s Encrypt を使用して、Linux サーバーに無料の SSL 証明書をインストールする手順を以下に示します。Let’s Encrypt は無料で利用でき、ドメイン認証型(DV)の SSL 証明書を提供します。これにより、ウェブサイトのセキュリティが強化され、HTTPS プロトコルを使用して通信が暗号化されます。

1. 事前準備

1.1 サーバーの確認

Let’s Encrypt を使用するには、サーバーがインターネットに接続されている必要があります。また、管理者権限(rootまたはsudo)が必要です。

まず、サーバーにログインし、サーバーが正しく動作していることを確認します。

bash
ssh 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 用のプラグインをインストールします。

bash
sudo 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 をインストールします。

bash
sudo 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 用

bash
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Apache 用

bash
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

上記コマンドでは、yourdomain.comwww.yourdomain.com を実際のドメイン名に置き換えてください。Certbot は自動的にウェブサーバーの設定を変更して、SSL 証明書を適用します。

3.3 証明書の自動更新設定

Let’s Encrypt の証明書は 90 日間有効です。これを自動的に更新するために、cron または systemd のタスクを設定することができます。

Cron を使用した自動更新

まず、証明書の自動更新コマンドを cron に追加します。

bash
sudo crontab -e

次に、以下の行を追加します。このコマンドは毎日午前 3 時に Certbot を実行し、証明書の更新を確認します。

bash
0 3 * * * certbot renew --quiet

4. SSL 証明書の確認

証明書が正しくインストールされ、HTTPS でアクセスできることを確認するために、ブラウザでドメイン名にアクセスします。https://yourdomain.com と入力し、鍵アイコンが表示されていれば成功です。

また、SSL 証明書の有効期限を確認するために、以下のコマンドを実行することもできます。

bash
sudo certbot certificates

これにより、インストールされている証明書の詳細が表示されます。

5. トラブルシューティング

もし証明書のインストール中に問題が発生した場合、以下の点を確認してください。

  • ドメイン名が正しく設定されており、DNS が正常に機能しているか。
  • Web サーバーが正しく動作しているか。
  • 80 番ポートと 443 番ポートが開いているか(ファイアウォールの設定を確認)。

結論

Let’s Encrypt を使って Linux サーバーに無料の SSL 証明書をインストールするのは比較的簡単です。Certbot を使うことで、自動化が可能となり、証明書の更新も手間なく行えます。ウェブサイトに HTTPS を導入することで、ユーザーのセキュリティを高め、SEO の向上にもつながります。

Back to top button