LibreSSLを用いなければそれなりに情報がある
普通にビルドするのであればこのスクリプトを用いることで確実にビルドできますし、確実だと思います。常にアップデートされているため、これを利用するのがベストだと思います。
また、初めて構築される方はあえてUbuntuで構築したほうが良いと思います。というのも、こんな面倒なことしなくてもいいですし、その時間もっとサーバー管理だったりプログラミングだったりそういうことに使えると思います。あと、あちらのほうがcertbotがまともに動くと思われます。(爆弾発言)
コード
上がBefore、下がAfterなのですが、コマンドを学んでいるうちに まだ改善の余地はありそうです…。sed -i -e
で解決するような気がするのと、下のコードでLIBRESSLのバージョンが最新のものを引っ張ってきているのに古いバージョンが使われているため、
※ 上のコードは動きません。また、下のコードを使用するときはnginx 1.11.8をビルドした時に出るSPECファイルを再利用しています。
大変だったこと・学んだこと
ベースがあったのでそこまで苦労していない…といわれるとそこまでですが、途中からbuildできなくなってしまったため、SPECファイルだけ古いバージョンのものを利用しています。(1.11.8)
また、古いバージョンを利用しているということから、sedコマンドで書き換えを行っています。その時に、シングルクォーテーションで書いてたせいでバージョンの置換ができなかったというヘマを行ってしまいました。
変数を新たに定義する時に$マークを付けるだけで数値が入り、結合するため、今後シェルスクリプトを書くときには参考にしたいです。内製していたコードから久しぶりにgistを見たらPerlっぽいようなコードを書いてforkしている方やDockerを利用してビルドして配布されていた方もおられたため、至らないな、と深く猛省しております。
今後やりたいこと
- 開発環境の整備(VBox)
- 検証環境の作成(さくらのクラウド)
- 独自レポジトリの作成(CentOSで管理しているサーバー台数がそこまで多くないのでおそらくムリ)
- 管理画面などをCertbotにする、静的サイトジェネレータの導入(など)