ペコネット

ページの先頭へ
ページの先頭へ
ホーム > サーバー構築 > Ubuntu Server 22.04 LTS を使う > 無料SSL/TLSの発行(httpsへの対応)

無料SSL/TLSの発行(httpsへの対応 : Ubuntu)

Apache2.4で稼働するウェブサイトに無料SSL/TLS証明書を発行して(Let's Encrypt)httpsに対応したいと思います。

Certbotのインストール

Let's Encryptが発行する、無料のSSL/TLS証明書を取得するためのソフトウェア「Certbot」をインストールします。

$ sudo apt install certbot

Certbotのインストール

SSL/TLS(サーバー)証明書の発行

$ sudo certbot certonly --webroot -w /var/www/html -d mini5103.ddns.net

無料SSL/TLS証明書を発行します。

certbot certonly --webroot -w ドキュメントルート -d ドメイン となります。

メールアドレス、規約の同意をします。

SSL/TLS証明書の確認

SSL/TLS(サーバー)証明書の発行1

画像の拡大

$ ls -l /etc/letsencrypt/live/mini5103.ddns.net/

サーバー証明書は「/etc/letsencrypt/live/mini5103.ddns.net(ドメイン)」に作成されました。

Apacheへ設定する

ここでは、デフォルトの設定ファイルである「/etc/apache2/sites-available/default-ssl.conf」にそのまま記述しています。

サイトを複数設定している場合などは適宜、ファイル名を変更して下さい。

$ sudo a2enmod ssl

最初にSSLに関するモジュールを有効化します。

$ sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/site-available/default-ssl.conf.default

設定ファイルのバックアップはしておきます。(末尾に.defaultとつけました)

$ sudo vim /etc/apache2/sites-available/default-ssl.conf

「/etc/apache2/sites-available/default-ssl.conf」をエディタで開き編集します。

SSL/TLS(サーバー)証明書の発行2

画像の拡大

  • 2行目のメールアドレスをサーバー証明書発行時に申告したアドレスに
  • 4行目のドキュメントルートをサーバー証明書発行時に申告したディレクトリに
  • SSL/TLS(サーバー)証明書の発行3

    画像の拡大

  • 31行目の「SSLCertificateFile」のパスを「/etc/letsencrypt/live/ドメイン/cert.pem」に
  • 32行目の「SSLCertficateKeyFile」のパスを「/etc/letsencrypt/live/ドメイン/privkey.pem」に
  • 41行目の行頭の「#」を削除して「SSLCertficateChainFile」のパスを「/etc/letsencrypt/live/ドメイン/chain.pem」に
  • サイト設定の有効化

    $ sudo a2ensite default-ssl

    設定した「default-ssl.conf」を有効化してApache2に読み込まれるようにします。

    Apacheの再起動

    $ sudo systemctl restart apache2

    Apacheを再起動します。

    ファイアーウォール

    $ sudo ufw allow 443/tcp
    $ sudo ufw reload

    ポート(443)を開けます。

    SSL/TLS(サーバー)証明書の更新

    「Let’s Encrypt」のSSL/TLS(サーバー)証明書の有効期限は3ヶ月です。有効期限の30日未満から更新が可能となります。

    $ sudo certbot renew

    SSL/TLS(サーバー)証明書の更新をします。

    ※ 30日未満でないと更新処理がスキップされますが、有効期限の確認が出来ます。