このチュートリアルでは、Let’sEncryptSSL証明書をUbuntu18.04VPSにインストールし、NginxWebサーバーで構成する手順を説明します。
Let’s Encryptは、無料の自動化された認証局組織です。彼らは、ウェブ全体のすべてのユーザーに安全なウェブサイトを提供することを目指しています。インストールが簡単でシンプルになり、証明書の有効期限が切れる心配がないように自動更新を設定することもできます。インストールを始めましょう。
前提条件
- Ubuntu18.04OSを搭載したサーバー。これは他のLinuxディストリビューションでも機能するはずですが、このチュートリアルでは特にUbuntu18.04について説明しています。
- sudo権限を持つシステムユーザー、またはrootアカウント
- サーバーを指すドメインまたはサブドメイン。このチュートリアルでは、
domain.com
を使用します 例として。
ステップ1:ログインしてサーバーを更新する
まず、SSHを介してユーザーrootとしてUbuntu 18.04サーバーにログインするか、sudo権限を持つ他のユーザーにログインします
ssh root@IP_Address -p Port_Number
ここで、「IP_Address」と「Port_Number」はサーバーの実際のIPアドレスとSSHポート番号です。
ログインしたら、次のコマンドを実行して、サーバーにインストールされているすべてのパッケージが利用可能な最新バージョンに更新されていることを確認します
apt update && apt upgrade
以前のブログ投稿の1つで説明されているように、サーバーで自動更新を有効にすることもできます。これを強くお勧めします。このようにして、システムは自動的に更新をチェックします。
ステップ2:NginxWebサーバーをインストールする
このチュートリアルでは、NginxWebサーバーをインストールして使用します。これは、優れたパフォーマンス、安定性、低リソース使用量、豊富な機能セット、および単純な構成で知られる、無料のオープンソースの高性能Webサーバーです。 Nginxは公式のUbuntu18.04リポジトリで利用可能であり、インストールは非常に簡単です。次のコマンドを実行してサーバーにインストールします
apt -y install nginx
Nginx Webサーバーがインストールされると、自動的に起動するはずです。次のコマンドでステータスを確認できます
systemctl status nginx
出力:
â nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-24 02:40:17 CDT; 1min 8s ago Docs: man:nginx(8) Process: 28420 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 28419 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 28421 (nginx) Tasks: 3 (limit: 2321) CGroup: /system.slice/nginx.service ââ28421 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ââ28422 nginx: worker process ââ28423 nginx: worker process Jul 24 02:40:17 hostname systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 24 02:40:17 hostname systemd[1]: Started A high performance web server and a reverse proxy server.
サーバーの再起動後にNginxが自動的に起動するようにする
systemctl enable nginx
ステップ3:Certbotをインストールする
Certbotは、Pythonで記述された無料のオープンソースツールであり、Let’s EncryptからSSL証明書を取得し、それをWebサーバーに構成するのに役立ちます。公式のUbuntuリポジトリからインストールできるCerbotのバージョンは古くなっているため、Certbotチームが管理する最新バージョンをインストールするには、リポジトリのリストにCertbotPPAを追加する必要があります。
これを行うには、サーバーで次のコマンドを実行します
apt install software-properties-common add-apt-repository universe add-apt-repository ppa:certbot/certbot
リポジトリを追加するプロセス中に、Enterボタンを押してリポジトリを受け入れるように求められます。その後、リポジトリリストを更新します
apt update
リポジトリが追加され、リポジトリリストが更新されたら、先に進んでCertbotNginxパッケージをインストールします
apt -y install python-certbot-nginx
ステップ4:Let’sEncryptSSL証明書をインストールする
チュートリアルの「前提条件」セクションで説明したように、domain.com
を使用します ドメインの例として。したがって、このドメイン名のLet’s Encrypt SSL証明書を取得するために、特定のドメインのNginx構成を編集する–nginxプラグインを使用してCertbotを実行します。
certbot --nginx -d domain.com -d www.domain.com
Let’s Encrypt SSL証明書のインストール中に、緊急の更新とセキュリティ通知に使用される電子メールアドレスを入力するように求められます
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected]
Let'sEncryptの利用規約を読んで同意する
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory ------------------------------------------------------------------------------- (A)gree/(C)ancel: A
すべてのトラフィックをHTTPSにリダイレクトするかどうかを選択します。これが推奨されます。
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default -------------------------------------------------------------------------------
この手順で、domain.com
のSSL証明書 が正常にインストールされ、https://domain.com
でドメイン名にアクセスできます。 。 Certbotを使用してこれを確認し、証明書の有効期限を確認できます
certbot certificates
出力:
Saving debug log to /var/log/letsencrypt/letsencrypt.log ------------------------------------------------------------------------------- Found the following certs: Certificate Name: domain.com Domains: domain.com Expiry Date: 2019-10-22 08:56:19+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/domain.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/domain.com/privkey.pem -------------------------------------------------------------------------------
ステップ5:自動更新をテストする
このチュートリアルでインストールしたcertbotパッケージには、SSL証明書をチェックし、有効期限が切れる前に自動的に更新するsystemdタイマーが付属しています。以下に示すように、タイマーが実行されているかどうかを確認できます
systemctl list-timers |grep certbot Wed 2019-07-24 15:38:39 CDT 9h left n/a n/a certbot.timer certbot.service
自動更新が正しく機能するかどうかをテストするには、次のコマンドを発行します
certbot renew --dry-run
それが機能する場合は、それだけです!これで、Ubuntu 18.04 VPSでLet’s Encrypt証明書が正常に設定され、自動更新が設定されました。
もちろん、マネージドUbuntu Hostingをご利用の場合は、Nginxを使用してUbuntu 18.04にLet’sEncryptをインストールする必要はありません。管理者に質問して座ってリラックスしてください。管理者は、Nginxを使用してUbuntu 18.04にLet’sEncryptをすぐにインストールします。
PS。 Nginxを使用してUbuntu18.04にLet’sEncryptをインストールする方法に関するこの投稿が気に入った場合 、下の共有ボタンを使用してソーシャルネットワークで友達と共有するか、コメントセクションにコメントを残してください。ありがとう。