LinuxでSSLおよびTLS証明書を生成する一般的な方法がいくつかあります。 SSL証明書を発行する最も一般的な方法の1つは、無料のSSL証明書を提供する認証局であるLet’sencryptです。依存関係や要件を必要としない、証明書を発行するさらに簡単な方法があります。シェルで記述されたacme.shスクリプトを使用すると、LinuxシステムでSSL証明書を簡単に生成してインストールできます。この記事では、Linuxシステムにacme.shスクリプトをインストールする方法と、それを使用してSSL証明書を生成およびインストールする方法を学習します。
acme.shのインストール
acme.shのインストールは、シンプルで簡単なプロセスです。以下の手順に従って、アプリケーションをインストールしてください。
方法1:curlコマンドを使用する
$ curl https://get.acme.sh | sh
方法2:gitリポジトリを使用する
$ git clone https://github.com/acmesh-official/acme.sh.git$ cd ./acme.sh$ ./acme.sh --install
インストールが完了したら、次のコマンドを実行して確認します。
$ acme.sh --version
出力:
SSL証明書を生成する
acme.shを使用したSSL証明書の生成は、非常に簡単なプロセスです。以下の手順に従って証明書を生成します。
ウェブルートモードを使用して単一ドメインの証明書を生成します。
$ acme.sh --issue -d vitux.com -w /home/wwwroot/vitux.com
同じ証明書で複数のドメインの証明書を生成する
$ acme.sh --issue -d vitux.com -d www.vitux.com -d example.vitux.com -w /home/wwwroot/vitux.com
どこで、
/home/wwwroot/vitux.comは、Webサイトファイルがホストされているwebrootフォルダーです。 webrootフォルダへの書き込みアクセスを許可することを忘れないでください。
vitux.comは、SSL証明書の生成に使用したドメイン名です。それに応じてドメイン名を選択できます。
すべてのドメイン名は同じwebrootディレクトリを指す必要があります。
生成されたSSL証明書は、ディレクトリ〜/ .acme.sh /
ここで、domain-nameは、証明書の生成中に提供されたドメインで作成されたディレクトリです。
スタンドアロンサーバーを使用して証明書を発行する
次のコマンドを使用して、スタンドアロンサーバーを使用してSSL証明書を生成します。
単一ドメインの場合
$ acme.sh --issue --standalone -d vitux.com
複数ドメインの場合
$ acme.sh --issue --standalone -d vitux.com -d www.vitux.com -d example.vitux.com
TCPポート80でリッスンするには、sudoまたはrootユーザーのアクセス許可が必要です。ポート80は、サーバーで自由にリッスンできる必要があります。
スタンドアロンSSLサーバーを使用してSSL証明書を生成する
次のコマンドを使用して、スタンドアロンSSLサーバーを使用してSSL証明書を生成します。この例では、デモンストレーションにlinuxways.comドメインを使用しました。証明書を生成するときは、独自のドメイン名を考慮してください。
$ acme.sh --issue --alpn -d vitux.com -d www.vitux.com -d example.vitux.com
TCPポート443でリッスンするには、sudoまたはrootユーザーのアクセス許可が必要です。また、リッスンするポート443を解放することを忘れないでください。そうしないと、解放するように求めるプロンプトが表示されます。
apacheモードを使用して証明書を生成します
Webサーバーを実行するためのSSL証明書を生成するには、Webrootモードをお勧めします。 ApacheがWebサーバーとして使用されている場合は、Apacheモードを使用して証明書を発行できます。このモードでは、webrootディレクトリにファイルは書き込まれません。
このモードはApacheWebサーバーと対話する必要があるため、root/sudo権限が必要です。
$ acme.sh --issue --apache -d vitux.com www.vitux.com
上記のコマンドは、証明書ファイルのみを生成します。証明書をインストールするには、apache構成ファイルの証明書ファイルディレクトリを指定する必要があります。
nginxモードを使用して証明書を発行します
特に、nginxをWebサーバーとして使用している場合は、webrootモードの代わりにnginxモードを使用できます。これはnginxWebサーバーと相互作用するため、必要なのはroot/sudo特権だけです。このモードでは、webrootディレクトリにファイルは書き込まれません。
$ acme.sh --issue --nginx -d vitux.com www.vitux.com
上記のコマンドは、証明書のみを生成します。インストールするには、nginx構成ファイルの証明書ファイルディレクトリを指定する必要があります。
ワイルドカードドメインの証明書を発行する
ワイルドカードドメインの証明書の生成は簡単です。 -d paramentの代わりに、ワイルドカードドメインを次のように使用します。
$ acme.sh --issue -d vitux.com -d * .vitux.com --dns dns_cf
–dnsパラメーターは、使用しているDNSホスティング業者を指定します。dns_cfはcloudflareを表します。
acme.shでSSL証明書を暗号化しましょう
を更新しますacme.shのインストール中に、SSL証明書を60日ごとに更新するcronジョブを作成します。したがって、証明書を手動で更新する必要はありません。ただし、 forceを使用して証明書を更新できます。 オプション:
$ acme.sh --renew -d vitux.com --force
cronジョブを見つけるには、次のコマンドを実行します。
$ crontab -l </ pre>
![]()
ログファイルディレクトリ
acme.shのログファイルはディレクトリ〜/.acme.shにあります。ログファイルの生成はデフォルトでは有効になっていません。 account.confファイルに次の変更を加えます。
$ cd〜/ .acme.sh $ vi account.conf
![]()
次に、次のコマンドを使用して、生成されたログファイルを見つけます。
$ cd〜/ .acme.sh $ tail -f acme.sh.log結論
この記事では、LinuxシステムでSSL証明書を生成するためにacme.shスクリプトをインストールする方法を学びました。複数のドメインのSSL証明書を一度に生成する方法とSSL証明書を更新する方法を説明しました。
AlmaLinux 8、Centos 8、またはRockyLinux8にOpenVPNをインストールする方法 CentOS8およびRockyLinux8にGCCコンパイラコレクションをインストールする方法Cent OS