自鯖のSSL(https)化 FreeBSD設定

2017年9月24日

導入理由

最近のブラウザはhttpのものは危険サイトと表示されるようになり、SSL(https)化は不可避だなと考えていたが証明書の費用で躊躇していたら、Let’s Encryptという自鯖やっている人などに無料証明書を出してくれるところがあるらしい。

更にFreeBSD用にpkgがあるのでそれを利用してみることとする。

py27-certbot導入

pkgからpy27-certbotをインストールする。pkgなのでコマンド一つで終了。

まずは証明書の取得を行う。これもコマンド一つ入力で終わり。メールアドレスをMLに登録するか聞いてきたのでそれの返事をするとしばらくして終了。

証明書は/usr/local/etcの下にletsencryptのディレクトリが作成されており、実体はファイルはarchive/ドメイン名の下に4つのファイルがある。

Apacheの設定

SSLと証明書の設定をApacheに行う。まずは、httpd-ssl.confの設定。Certbotで取得した証明書を設定する。

次にhttpd.confの設定する。モジュールと先ほど設定したhttpd-ssl.confのコメントアウトを外して有効化する。

念のため設定ファイルをチェックする。その後Apacheに設定を反映

IPFの設定

外からのアクセスできる様にするため443ポートを開放する。
IPFの設定ファイルに下記を追加。

Cron登録

証明書の有効期間が90日なので30日毎に更新をするためにCronに登録する。