Certbot クライアントのインストール
Let's Encrypt が発行する SSL/TLS サーバ証明書は、Certbot クライアント(旧・Let's Encrypt クライアント)から簡単なコマンド操作で取得することができます。
※Certbot クライアントは、電子フロンティア財団(EFF)が提供している証明書取得・管理ソフトウェアです。
Certbot クライアントの適切なインストール手順は、OS(ディストリビューション)によって異なります。使用している OS を選んでください。
Debian 7 (wheezy)
今のところ、Debian 7 (wheezy) のパッケージ管理システムには Certbot クライアントは収録されていません。
その他の UNIX 系 OS の手順 に従って、certbot-auto
をインストールしてください。
Debian 8 (jessie)
Debian 8 (jessie) 用のパッケージは、リポジトリ backports から入手できます。
Debian Backports Instructions (英文) の指示に従って Jessie backports リポジトリを有効にしてから、下記のコマンドを入力します。
sudo apt-get install certbot python-certbot-apache -t jessie-backports
※Apache プラグインを使用しない場合には、上記の python-certbot-apache
は省略可能です。
cron ジョブの自動追加について
Debian パッケージ版の Certbot クライアントは、自動的に cron ジョブを /etc/cron.d/certbot
に追加します。この cron ジョブは、毎日2回 certbot renew を実行して、有効期限が近い SSL/TLS サーバ証明書を自動的に更新します。
※有効期限が近い証明書が存在しない場合には、証明書の更新は行われません。
Debian testing / unstable
Debian 8 (jessie) の手順 に従って、Jessie backports リポジトリから Certbot のパッケージをインストールしてください。
Debian (その他)
今のところ、Debian 8 (jessie) / testing / unstable 以外の Debian ディストリビューションに対応しているパッケージ化された Certbot クライアントは存在しません。
その他の UNIX 系 OS の手順 に従って、certbot-auto
をインストールしてください。
Ubuntu 16.04 (xenial)
Ubuntu 16.04 (xenial) 用の Certbot パッケージは、 apt-get コマンドからインストールできます。
sudo apt-get install letsencrypt python-letsencrypt-apache
※Apache プラグインを使用しない場合には、上記の python-letsencrypt-apache
は省略可能です。
Ubuntu 14.04 (trusty)
今のところ、Ubuntu 14.04 (trusty) のパッケージ管理システムには Certbot クライアントは収録されていません。
その他の UNIX 系 OS の手順 に従って、certbot-auto
をインストールしてください。
Ubuntu (その他)
今のところ、buntu 16.04 (xenial) 以外の Ubuntu ディストリビューションに対応しているパッケージ化された Certbot クライアントは存在しません。
その他の UNIX 系 OS の手順 に従って、certbot-auto
をインストールしてください。
Gentoo
Gentoo Portage から Certbot パッケージをインストールできます。
emerge -av app-crypt/certbot
emerge -av app-crypt/certbot-apache
※root 以外のユーザーの場合には、コマンドの前に sudo
を付けてください。
※Apache プラグインを使用しない場合には、上記の app-crypt/certbot-apache
は省略可能です。
現在、Portage に含まれているのは Apache プラグインのみで、nginx プラグインは含まれていません。nginx プラグインを導入したい場合には、mrueg overlay を追加するために Layman を使用する必要があります。
emerge -av app-portage/layman
layman -S
layman -a mrueg
emerge -av app-crypt/certbot-nginx
※nginx プラグインは不具合が多いことが確認されているため、nginx の設定ファイルをバッグアップした上で、慎重に使用する必要があります。新しい nginx プラグインが完成するまでの間は、app-crypt/certbot パッケージを使用することを強くお勧めします。
Apache プラグインの使用時に、Gentoo のデフォルト状態の httpd.conf
の場合、“cannot find a cert or key directive” というエラーが発生します。これを回避するには、/etc/apache2/httpd.conf
を下記のように修正(2行をコメントアウト)する必要があります。
<IfDefine SSL>
LoadModule ssl_module modules/mod_ssl.so
</IfDefine>
#<IfDefine SSL>
LoadModule ssl_module modules/mod_ssl.so
#</IfDefine>
※当面の間は、上記の修正を行うことが、Apache プラグインによる証明書の導入時に適切にディレクティブを認識させるための唯一の方法です。
※他のプラグインを使用する場合(Apache プラグインを使用しない場合)には、上記の修正は必要ありません。
Arch Linux
Arch Linux 用の Certbot パッケージは、パッケージ管理システム Pacman からインストールできます。
sudo pacman -S certbot
詳しい情報は Let’s Encrypt - ArchWiki に記載されています。
Fedora 22 以下
今のところ、Fedora バージョン 22 以下のパッケージ管理システムには Certbot パッケージは収録されていません。
その他の UNIX 系 OS の手順 に従って、certbot-auto
をインストールしてください。
Fedora 23 以上
Fedora バージョン 23 以上では、パッケージ管理システム DNF (Dandified Yum) から Certbot パッケージをインストールすることができます。
sudo dnf install certbot
sudo dnf install python-certbot-apache
※Apache プラグインを使用しない場合には、python-certbot-apache
をインストールする必要はありません。
CentOS 6 / RHEL 6
Certbot クライアントが必要とする依存関係にあるパッケージの一部が EPEL (Extra Packages for Enterprise Linux) リポジトリに含まれているため、Certbot クライアントをインストールする前に有効にする必要があります。
sudo yum install epel-release
EPEL リポジトリを有効にした後は、その他の UNIX 系 OS の手順 に従って certbot-auto
をインストールしてください。
CentOS 7 / RHEL 7
CentOS 7 / Red Hat Enterprise Linux 7 用の Certbot パッケージは、EPEL (Extra Packages for Enterprise Linux) リポジトリからインストールすることができます。
EPEL リポジトリを有効にして、Certbot パッケージをインストールするには、下記のコマンドを入力します。
sudo yum install epel-release
sudo yum install certbot python-certbot-apache
※Apache プラグインを使用しない場合には、python-certbot-apache
をインストールする必要はありません。
FreeBSD
下記のコマンドを入力することで、FreeBSD に Certbot パッケージをインストールできます。
cd /usr/ports/security/py-certbot && make install clean
pkg install py27-certbot
OpenBSD
下記のコマンドを入力することで、OpenBSD に Certbot パッケージをインストールできます。
cd /usr/ports/security/letsencrypt/client && make install clean
pkg_add letsencrypt
Mac OS X
パッケージマネージャー Homebrew を使用して、Mac OS に Certbot パッケージをインストールすることができます。
Homebrew の公式サイト の説明に従って Homebrew をインストールしてから、下記のコマンドを入力してください。
brew install certbot
その他の UNIX 系 OS
使用している OS のパッケージ管理システムに Certbot パッケージが存在しない場合には、下記の方法で、電子フロンティア財団(EFF)の公式サイトから Certbot クライアントを直接ダウンロードしてください。
Certbot クライアントをダウンロード・インストールするには、次のコマンドを入力します。
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
certbot-auto
を実行すると、OS 標準のパッケージリポジトリ( apt-get
や yum
など)を使用して、Certbot クライアントの実行に必要な複数のパッケージ(依存関係にあるパッケージ)が自動的にインストールされ、仮想化された Python 環境(PyPI からダウンロードしたパッケージを動作させるための環境)が構築されます。
※root 権限への昇格が要求されます(Certbot クライアントが root 権限を要求する理由)。
※Python 環境の仮想化 virtualenv (英文) により、PyPI パッケージによる OS メイン空間の汚染を防いでいます。
※Certbot クライアントを実行すると、パッケージ管理システム(yum など)を使用したパッケージのインストール・アップデートが、確認画面の表示無しで自動的に行われます。厳格にパッケージのバージョンを管理しているサーバの場合にはご注意ください。自動的にインストール・アップデートされるパッケージは、「python」「python-virtualenv」「python-pip」「python-devel」「python-tools」「tcl」「tix」「tk」「tkinter」「gcc」「augeas-libs」「openssl」「ca-certificates」「dialog」「libffi-devel」「openssl-devel」「redhat-rpm-config」「keyutils-libs-devel」「krb5-devel」「libcom_err-devel」「libselinux-devel」「libsepol-devel」「zlib-devel」「mod_ssl」です(2016年05月18日 に CentOS 6.7 で確認)。なお、左記のパッケージ一覧は環境により異なる場合があり、将来的に変更される可能性があります。
Certbot クライアントは、起動時に自動的にアップデートされる仕組みになっているので、特に意識しなくても常に最新のバージョンを使用できます。
パッケージ管理システムからインストールした Certbot パッケージではなく、certbot-auto
を使用する場合には、ユーザーガイド におけるコマンド名 certbot
を certbot-auto
に読み替えてください。
補足説明:
certbot
は、OS 標準のパッケージ管理システムからインストールした Certbot パッケージ(旧・Let's Encrypt パッケージ)を実行する際に使用するコマンドです。
wget https://dl.eff.org/certbot-auto
または git clone https://github.com/certbot/certbot
コマンドでインストールした Certbot クライアントを使用する場合には、クライアントをダウンロードしたディレクトリにある certbot-auto
(ファイル名)を実行します。
いずれの Certbot クライアントも基本的な動作は同じなので、共通のコマンドラインオプションが使用できます。
例えば、次のコマンドを入力することで、基本的なヘルプを参照できます。
/path/to/certbot-auto --help
※ /path/to/
の部分は実際のパス(カレントディレクトリの場合は ./
)に置き換えてください。
- スポンサーリンク