LoginSignup
4
1

More than 3 years have passed since last update.

【CentOS stream】nginxでSSL証明書設定!

Posted at

※自分のメモ用で作成してます。あと文面がちょっとやさぐれてます。
 不快な思いをさせたらすみません。

環境:
CentOS Stream release 8
nginx version: nginx/1.18.0

以下サイトを基に実施してみた

まずはGitにてcertbotをクローン

cd /usr/local
git clone https://github.com/certbot/certbot

ここまではOK。

問題は次

[user@ik1-XXX-XXXXX certbot]$ ./certbot-auto certonly --standalone -t
Requesting to rerun ./certbot-auto with root privileges...
Skipping bootstrap because certbot-auto is deprecated on this system.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.

え???
なぜ??

というわけで調査した結果、
こちらのサイトより、どうやらcertbot-auto自体がすべてのOSにおいて
非対応になったとのこと。

なので、最新のCentOSではもうcertbot-auto使えないんだって。
(経緯とかは上記サイト参考)

じゃあどうすればいいかというと、

certbot-autoなどの旧式をアンイストール
snapdをインストール/アップグレード
snapでcertbotをインストール
certbotを実行

の手順を踏めばいいそう。
ありがたいです。

というわけで、certbot-autoはGitで落としてきただけだからとりあえず
certbotディレクトリごと削除

ちなみに、基本的に以下リンクを参考に作業しています。

で、(自分の場合は)snapdがなかったのでインストール

[user@ik1-XXX-XXXXX certbot]$ sudo dnf --enablerepo=epel -y install snapd
Error: Unknown repo: 'epel'

(。´・ω・)・・・ん?
エラーがでた。。

ナンデコーナルノ!!
(スムーズにいかないものですなぁ。。)

というわけで、EPELリポジトリがないみたい。
どうせ失敗するだろうけど、EPELをインストールしてみる

[user@ik1-XXX-XXXXX certbot]$ sudo dnf install epel-release
Last metadata expiration check: 2:15:32 ago on Sun 21 Mar 2021 08:51:15 PM JST.
Dependencies resolved.
================================================================================
 Package               Architecture    Version            Repository       Size
================================================================================
Installing:
 epel-release          noarch          8-8.el8            extras           23 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 23 k
Installed size: 32 k
Is this ok [y/N]: y
Downloading Packages:
epel-release-8-8.el8.noarch.rpm                 381 kB/s |  23 kB     00:00
--------------------------------------------------------------------------------
Total                                            39 kB/s |  23 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : epel-release-8-8.el8.noarch                            1/1
  Running scriptlet: epel-release-8-8.el8.noarch                            1/1
  Verifying        : epel-release-8-8.el8.noarch                            1/1
Installed products updated.

Installed:
  epel-release-8-8.el8.noarch

Complete!

はい。では改めて(うまくいくといいなぁ)

[user@ik1-XXX-XXXXX certbot]$ sudo dnf --enablerepo=epel -y install snapd
Extra Packages for Enterprise Linux Modular 8 - 627 kB/s | 557 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64  5.7 MB/s | 9.0 MB     00:01
Last metadata expiration check: 0:00:01 ago on Sun 21 Mar 2021 11:08:26 PM JST.
Dependencies resolved.
================================================================================
 Package                    Arch   Version                         Repo    Size
================================================================================
Installing:
 snapd                      x86_64 2.49-2.el8                      epel    19 M
Installing dependencies:
 bash-completion            noarch 1:2.7-5.el8                     baseos 274 k
 checkpolicy
(省略)
  python3-setools-4.3.0-2.el8.x86_64
  snap-confine-2.49-2.el8.x86_64
  snapd-2.49-2.el8.x86_64
  snapd-selinux-2.49-2.el8.noarch

Complete!

あ、いけた。(ほっ)

というわけで、snapdまでは完了。

続きまして、snapでcertbotをインストール。
の前に、snap通信ソケットを管理するsystemdユニットを有効化。

[user@ik1-XXX-XXXXX local]$ sudo systemctl enable --now snapd.socket
Created symlink /etc/systemd/system/sockets.target.wants/snapd.socket → /usr/lib/systemd/system/snapd.socket.

従来のsnapサポートを有効にするには、以下を実行して/var/lib/snapd/snapの/snapへのシンボリックリンクを作成。

sudo ln -s /var/lib/snapd/snap /snap

ここもOK
そしてsnapdの最新バージョン使用確認

[user@ik1-XXX-XXXXX ~]$ sudo snap install core
2021-03-21T23:33:27+09:00 INFO Waiting for automatic snapd restart...
core 16-2.49 from Canonical? installed
[user@ik1-XXX-XXXXX ~]$ sudo snap refresh core
snap "core" has no updates available

多分更新可能なcore(データ)がないって言ってるから、
最新のsnapdであることと同義だと思われる。

では、満を持してcertbotインストールへ。

[user@ik1-XXX-XXXXX ~]$ sudo snap install --classic certbot
certbot 1.13.0 from Certbot Project (certbot-eff?) installed
[user@ik1-XXX-XXXXX ~]$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
[user@ik1-XXX-XXXXX ~]$ sudo ls -la /usr/bin/certbot
lrwxrwxrwx 1 root root 17 Mar 21 23:39 /usr/bin/certbot -> /snap/bin/certbot
[user@ik1-XXX-XXXXX ~]$ sudo ls -la /snap/bin/certbot
lrwxrwxrwx 1 root root 13 Mar 21 23:38 /snap/bin/certbot -> /usr/bin/snap
[user@ik1-XXX-XXXXX ~]$ sudo certbot --version
certbot 1.13.0
[user@ik1-XXX-XXXXX ~]$
sudo certbot --nginx
(省略)

諸々の設定をした後に

Could not automatically find a matching server block for [ドメイン名] Set the `server_name` directive to use the Nginx installer.

IMPORTANT NOTES:
 - Unable to install the certificate
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/[ドメイン名]/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/[ドメイン名]/privkey.pem
   Your certificate will expire on 2021-06-19. To obtain a new or

あ゛??
失敗したぞ・・・
はい~~~失敗した~~~
いいよいいよどうせこうなると思ったよ〇そが!!!

で???
原因はなんや?(半ギレ)

これでした。

どうやら、nginx.confの「server」の項目の
「server_name」に独自ドメインを入力すればいいらしい。

sudo vi /etc/nginx/nginx.conf
server {
        listen       80;
        listen       [::]:80;
        server_name  ★ここに独自ドメイン名を入力(ex:****.jp);
    (略)

原因が分かったところで、再度実行。

sudo certbot --nginx
Your existing certificate has been successfully renewed, and the new certificate
has been installed.

The new certificate covers the following domains:
https://ikoutesutoyousn3029.work
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/ikoutesutoyousn3029.work/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/ikoutesutoyousn3029.work/privkey.pem
   Your certificate will expire on 2021-06-19. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

無事にhttpsで表示されました。

image.png

参考になるサイトがあって本当に助かりました。
(ちょっとやさぐれてますが参考になれば幸いです。)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1