忘備録 > サイトSSL化

自宅サーバー構築 サイトSSL化

Linuxによるサーバー構築メモ サイトSSL化

 Ubuntu 20.04LTS で構築した WwbサーバーをLet's Encryptのサーバ証明書を利用して SSL化する。

※ 最終更新:2021/06/07 

Ubuntu 20.04LTS サーバー

 Ubuntu 20.04 LTSのサーバー版インストールイメージ、「ライブインストーラー版」
 モジュール名:ubuntu-20.04.2-live-server-amd64.iso

Let's EncryptのSSL/TSLサーバ証明書の取得と更新設定

事前準備

SSL/TLSサーバ証明書の取得

Let's Encryptサーバ証明書の自動更新

サイトの SSL化

Apache2 の設定

  1. SSLに関するモジュールを有効化する
    $ sudo a2enmod ssl
  2. 設定ファイルを編集 (以下修正箇所)
    $ sudo vi /etc/apache2/sites-available/default-ssl.conf
    
     (管理者のメールアドレスへ修正)
     ServerAdmin = izutsum@venus.dti.ne.jp
    
     (ルートディレクトリとして公開するディレクトリのパスへ修正)
     DocumentRoot = /var/www/html
    
     (取得したサーバ証明書と公開鍵のパスに変更)
     SSLCertificateFile      /etc/letsencrypt/live/izutsu.aa0.netvolante.jp/cert.pem
    
     (取得した秘密鍵のパスに変更)
     SSLCertificateKeyFile   /etc/letsencrypt/live/izutsu.aa0.netvolante.jp/privkey.pem
    
     (コメント解除して取得した中間証明書のパスに変更)
     SSLCertificateChainFile /etc/letsencrypt/live/izutsu.aa0.netvolante.jp/chain.pem
  3. サイト設定を有効化する
    $ sudo a2ensite default-ssl
  4. Apache2 の再起動
    $ sudo systemctl restart apache2
  5. ブラウザより「https://izutsu.aa0.netvolante.jp」に接続。WEBページが表示されれば完了

HTTP接続に対してHTTPSへのリダイレクトをかける

  1. Apache2のRewriteEngine はオプションなので、有効にしないと動作しない

    ● 現在の状態を確認する
    $ sudo ls /etc/apache2/mods-enabled
    access_compat.load  authn_file.load  autoindex.load  env.load          mpm_prefork.load  reqtimeout.conf     ssl.conf
    alias.conf          authz_core.load  deflate.conf    filter.load       negotiation.conf  reqtimeout.load     ssl.load
    alias.load          authz_host.load  deflate.load    mime.conf         negotiation.load  setenvif.conf       status.conf
    auth_basic.load     authz_user.load  dir.conf        mime.load         php7.4.conf       setenvif.load       status.load
    authn_core.load     autoindex.conf   dir.load        mpm_prefork.conf  php7.4.load       socache_shmcb.load
    ● mod_rewrite を有効にする
    $ sudo a2enmod rewrite
    Enabling module rewrite.
    To activate the new configuration, you need to run:
      systemctl restart apache2
    ● Apache2の再起動
    $ sudo systemctl restart apache2
    ● 有効化を確認する
    $ sudo ls /etc/apache2/mods-enabled
    access_compat.load  authn_file.load  autoindex.load  env.load          mpm_prefork.load  reqtimeout.conf  socache_shmcb.load
    alias.conf          authz_core.load  deflate.conf    filter.load       negotiation.conf  reqtimeout.load  ssl.conf
    alias.load          authz_host.load  deflate.load    mime.conf         negotiation.load  rewrite.load     ssl.load
    auth_basic.load     authz_user.load  dir.conf        mime.load         php7.4.conf       setenvif.conf    status.conf
    authn_core.load     autoindex.conf   dir.load        mpm_prefork.conf  php7.4.load       setenvif.load    status.load
  2. 設定ファイルに下記のように 3行を Virtualhost 内最下部に追記
    $ sudo vi /etc/apache2/sites-available/000-default.conf
    
    <VirtualHost *:80>
        :
        :
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </VirtualHost>
  3. Apache2の再起動
    $ sudo systemctl restart apache2

サイト内コンテンツの修正

更新履歴

参考資料


Last-modified: 2021-06-27 (日) 15:59:34