Let's Encrypt の無料証明書を発行・管理する certbot-auto が Debian/Ubuntu OS で非対応になりました。certbot と python3-certbot-apache をインストールしてサーバ証明書の管理をします。
/etc/apache2/sites-available/000-default.conf ファイルで ServerName にドメインを設定します。
certbot で Apache の設定を読み込んで実行し、各設問に答えて設定します。
更新通知のメールアドレスを入力します。
A を入力して同意します。
Electronic Frontier Foundation からのお知らせを受けてとるか答えます。
対象のドメインを番号で選択します。
HTTP接続のときに HTTPSにリダイレクトするかを選択します。
Congratulations! のメッセージが表示されれば設定完了です。
今回の設定でサーバ証明書が自動更新されますが、certbot.timer でサーバ証明書の有効期限や次回更新日時を確認できます。
certbot でサーバ証明書の更新ができますが、 --dry-run でテストできます。
yarn は npm と互換性のあるパッケージマネージャで、少しずつ使われるようになっている感じです。
apt-key を追加
「/etc/apt/sources.list.d/yarn.list」に stable のURLを追加
アップデート&インストール
バージョン確認
2020/1/12:バージョンを最新にしておく npmとyarnの脆弱性とpostinstall - Cybozu Inside Out | サイボウズエンジニアのブログ
package.json が作成される
Macで npm install すると パッケージ依存によっては Pythonのバージョンが新しすぎてエラーになる。
上記の場合、Mac はPython3.7系だが、npm install のライブラリが 2.7 でないとインストールできない模様
npm でインストールがエラーになる場合は、互換性のある yarn を利用するのも良いかも知れない。 yarn インストール
Nginxで無料証明書「Let's Encrypt」を利用してみる。
「Let's Encrypt」は非営利団体の ISRG (Internet Security Research Group) が運営している、証明書の発行・インストール・更新を無料利用することができる。
Ubuntu18には「certbot」パッケージがあるのでインストール
※後々の設定でうまくいきませんでした。
こちらは、ソースないの「certbot-auto」が利用できる。
※設定がうまくいきませんでした。
ここで、こけました。
certbot-auto を実行すると、Apache か Nginx 聞かれる。
この辺は、サーバ設定によりますが Nginx 個人的事情で問題があったので Apacheにしました。
https にリダイレクトするか聞かれますが、とりあえずリダイレクトしないようにしました。
設定がうまくいくと、以下のファイルが書き出される。
以下のパスにファイルを作成されたようです。
/etc/nginx/site-avaible/xxxx ファイルにSSLの設定を記述する
90日で証明書の有効期限が切れるため、crontabなどで定期的に更新スクリプトを実行する必要がある。
※2020/04/09 更新
Apache2.4 を起動したところ以下のエラー
/etc/apache2/apache2.conf の設定をみると
基本的に拒否の設定になっているので、/etc/apache2/sites-available/000-default.conf に個別設定する必要がある。
Ubuntuのユーザ関連のコマンドは、Debianと異なるようだ。
sudo権限もつけておく
Debian9系だとNode.jsのバージョンが古く npmもインストールできないので、パッケージを更新してからインストールする。
upgrade などしてしまって、PHP7.2のパッケージが消失してしまう。
以下を参照 How To Install PHP (7.3, 7.2 & 5.6) on Debian 9 Stretch
PHP7.2を Debian 9(stretch)にインストールする方法
<
p class="code">$ sudo apt-get install apt-transport-https lsb-release ca-certificates $ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg $ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list 認証して、/etc/apt/sources.list.d/ に php.list を新たに追加している模様
install libgl1-mesa-glx
import matplotlib as mpl mpl.use('Agg')