SSL用の仮想サイトを追加しようとしたらApacheが起動しなくなった

WebminでSSL用の仮想サイトを起こして再起動しようとしました。 ……が、起動しません。 先ほどまで動いており、やったことは上述の仮想サイトを追加したことだけ。そんな変な設定はしていないはずなのに……と予想外のところで嵌まってしまいました。
# systemctl start httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
それは分かった。
# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 月 2019-05-13 17:04:20 JST; 4s ago

## 略

 5月 13 17:04:20 example.jp httpd[21116]: [Mon May 13 17:04:20.077687 2019] [so:warn] [pid 21116] AH01574: module rewrite_module is already loaded, skipping
 5月 13 17:04:20 example.jp httpd[21116]: (98)Address already in use: AH00072: make_sock: could not bind to address XXX.XXX.XXX.XXX:443
 5月 13 17:04:20 example.jp httpd[21116]: no listening sockets available, shutting down
 5月 13 17:04:20 example.jp httpd[21116]: AH00015: Unable to open logs
 5月 13 17:04:20 example.jp systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
 5月 13 17:04:20 example.jp kill[21118]: kill: cannot find process ""
 5月 13 17:04:20 example.jp systemd[1]: httpd.service: control process exited, code=exited status=1
 5月 13 17:04:20 example.jp systemd[1]: Failed to start The Apache HTTP Server.
 5月 13 17:04:20 example.jp systemd[1]: Unit httpd.service entered failed state.
 5月 13 17:04:20 example.jp systemd[1]: httpd.service failed.
確かに起動していませんね……何故。 (98)Address already in use: make_sock: could not bind to addressのエラーメッセージで検索すると、ポートを占有しているからだ、という記事がヒットしました。 Address already in usecould not bind to addressなので確かにダメなのでしょうけど、心当たりがない。
# lsof -i | grep httpd
#

# netstat -lnp | grep :443
#
何故か生き残っているプロセスとかいませんね。そしてlistenしているポートもなさそう。 「いないはずの何者かにポートが占有されているって、もはや幽霊かなにかか」と感じていたところ。
# less /etc/httpd/conf.d/ssl.conf



#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443 https
Listen 10.2.1.44:443
ssl.confの先頭にListenが2つ。 ……まさかこれでしょうか? 試しに
Listen 443 https
#Listen 10.2.1.44:443
片方をコメントアウトしてみます。
# systemctl start httpd.service
#
動いた……。 ssl.confなんて編集していないのですが、何故このタイミングで発生してしまったのか……謎ですが、とりあえず解決しました。

参考

この記事を書いた人

アバター

アルム=バンド

フルスタックエンジニアっぽい何か。LAMPやNodeからWP、gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。