Windows10のWSL(Linux 用 Windowsサブシステム)で追加されたUbuntuにインストールした[Apache2]とWindows10にセットアップしているインターネット インフォメーション サービス(IIS)を共存させる方法を備忘録的に投稿します。
localhostで表示させる
WSL2では “localhost” が強化されて、LinuxとWindowsの双方でループバックが利用できるようになりました。
WSLでUbuntuにApache2をインストールする記事を検索すると、インストール後してサービス起動後にWindows10のブラウザでURLに “http://localhost” と入力してApache2の動作確認を説明している記事を見かけます。
で、実際に私のWindows10にインストールしてブラウザーのURLに “http://localhost” を入力すると、次の画面が表示されるんですよね。
そうなんですよね。Windowsでウェブ開発している私のパソコンにはインターネット インフォメーション サービス(IIS)をセットアップしていて、ループバックアドレスではIISの既定ページが表示されてしまいます。
Windows10側の[管理ツール|サービス]で[World Wide Web 発行サービス]を停止することで、WSLでインストールしたApache2を動作させることもできますが、切り替えるのが非常に面倒くさい。
Apache2のポートを変更して共存
IIS側のポートを変更しても同じですが、今回は後からセットアップしたApache2を変更する方法を紹介します。
具体的には次の手順で変更します。(WSL2にインストールされたUbuntuにApache2がセットアップされている前提です)
1.[Windows Terminal]の[PowerShell]タブに次のコマンドを入力してWSLを起動します。
wsl
2. 表示されたUbuntuのプロンプトに次のコマンドを入力します。
sudo vi /etc/apache2/ports.conf
3. 表示された設定ファイルを次のように変更します。
# /etc/apache2/sites-enabled/000-default.conf
#Listen 80
Listen 88
<IfModule ssl_module>
# Listen 443
Listen 8443
</IfModule>
<IfModule mod_gnutls.c>
# Listen 443
Listen 8443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
4. 次のコマンドを入力して apache2 サービスを再起動します。
sudo service apache2 restart
* Restarting Apache httpd web server apache2 [ OK ]
5. サービスが再起動したらWindows10のブラウザーを起動して次のURLを入力します。
http://localhost:88
6. Apache2の既定ページが表示されます。
まとめ
WSLにインストールしたUbuntuに割り振られたIPアドレスを入力しても、Apache2のページを表示することができますが、WSLの仕様で起動時にIPアドレスが変更される場合があるので、毎回IPアドレスを気にする必要があります。
Windows10側でIISなどの他のウェブサーバーを使っている場合には、WSLでインストールしたApache2のポートを変更することで、同じ “localhost” を使ってウェブサーバーを共存させることができます。
Windows10のWSLでインストールしたApache2で “localhost” で既定ページが表示できない人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。