single.php

WSL2でApache2とIISを共存させる方法

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” で既定ページが表示できない人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です