Debian 10.0(buster)のApache2で、SSL(https)を動かした。インストール時に自動的に作られているSSL証明書を使うとすんなり動いた。LAN内で運用するのでこれでよい。
LAN内にapache2とphpを運用しているが、ある条件でfirefoxからアクセスできない事象が発生。原因の詳細はわからないがhttpsでアクセスできれば解消されると予想した。予想は的中したが、その事象についてはここには書かない。
DebianやUbuntuのapache2の設定方法はCentOSなどに比べてちょっと作りこんであるらしい。"apache2 https" で検索をかけて出てきた中からUbuntuのものを参考にした。
ずっと、何に使うのか気になっていた、/etc/apache2/sites-available/default-ssl.conf を編集。
変更したのはDocumentRootだけ
#2022-1-22 adachi # DocumentRoot /var/www/html DocumentRoot /srv/www/public
他のsites-availableのファイルを変更していなければ、000-default.conf の DocumentRoot と同じになる。httpでアクセスしてもhttpsでアクセスしてもよいという環境になるはずだから、これでよいはず。
a2enmod ssl するだけ。
root@fumita:/etc/apache2# a2enmod ssl Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2
sslモジュールのファイルは mods-available にあり、mods-enabled にシンボリックリンクが作られることで有効になる。
設定ファイルを編集したdefault-sslを有効にする。これも a2ensite default-ssl するだけ。
root@fumita:/etc/apache2# a2ensite default-ssl Enabling site default-ssl. To activate the new configuration, you need to run: systemctl reload apache2
これも sites-available にあるファイルのシンボリックリンクが sites-enabled に作られることで有効になる。
注意に従い、systemctl restart apache2 する。
root@fumita:/etc/apache2# systemctl restart apache2
これで、これまで http://nan.dabiyone.com/ などとアクセスしてきたところが、 https://nan.dabiyone.com/ でアクセスできる。ただし最初だけ警告がでる。
サンプルの証明書を使っているので不正なものと警告される。確認の上、このサンプル証明書を例外的に信頼するものとして登録する。
firefoxの場合は以下のような画面で行う。
LAN内のnan.dabiyone.comのサーバーの証明なので、[詳細情報…]に進んで、次の画面を出し…
[危険性を承知で続行]を押します。
今回、参考にさせていただいたサイトはこちら。 【Ubuntu 18.04 LTS Server】ApacheのSSL通信(https)を使う | The modern stone age.