Linux 用 Windows サブシステム2 (WSL2)のトップページ


Linux 用 Windows サブシステム2 (WSL2)

Web サーバとして使う

WSL をインストールした後にここの手順で各種ソフトウェアをインストールすれば既に Web サーバの機能が設定されています.

まずは Ubuntu に設定されている IP アドレスを確認します.このためには ip a というコマンド入力し IP アドレスを探します.すると,この環境では172.23.116.166 というアドレスが割り当てられていることがわかりました.このアドレスを控えておきます.

rinsaka@XPS2019:~$ ip a ⏎
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: bond0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 7e:18:44:8e:94:2e brd ff:ff:ff:ff:ff:ff
3: dummy0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 6e:b3:63:d5:14:d8 brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
5: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:5f:2d:f0 brd ff:ff:ff:ff:ff:ff
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe5f:2df0/64 scope link
       valid_lft forever preferred_lft forever
rinsaka@XPS2019:~$

もしも大量の出力から目的の IP アドレスを探すのが面倒であれば,次のように grep で出力を絞り込む方法もあります.なお | はパイプ記号と呼ばれます.

rinsaka@XPS2019:~$ ip a | grep inet ⏎ # 「inet」が含まれる行だけを出力すると「inet6」の行も出力される
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
    inet6 fe80::215:5dff:fe5f:2df0/64 scope link
rinsaka@XPS2019:~$ ip a | grep "inet " ⏎ # 「inet」の後ろに半角空白が含まれる行だけを出力するとさらに絞り込まれる
    inet 127.0.0.1/8 scope host lo
    inet 172.23.116.166/20 brd 172.23.127.255 scope global eth0
rinsaka@XPS2019:~$

Web ブラウザを起動してアドレスバーに上で調べた IP アドレス(172.23.116.166)を入力します.次のような「Apache2 Default Page」が表示されればOKです.

wsl-apache-01

なお,Web ページのコンテンツは /var/www/html/ ディレクトリにあります.本来このディレクトリ(あるいはディレクトリ内のファイル)の所有は管理者 (root ユーザ) ですが,ここの手順でインストールした時に所有者をログインユーザに変更していることに注意してください.

rinsaka@XPS2019:~$ cd /var/www/ ⏎
rinsaka@XPS2019:/var/www$ ls -l ⏎
total 4
drwxr-xr-x 2 rinsaka rinsaka 4096 Mar 18 09:00 html
rinsaka@XPS2019:/var/www$ cd html/ ⏎
rinsaka@XPS2019:/var/www/html$ ls -l ⏎
total 12
-rw-r--r-- 1 rinsaka rinsaka 10671 Mar 18 09:00 index.html
rinsaka@XPS2019:/var/www/html$

このフォルダにある index.html を編集して Web ページ作成の学習ができます.ここの手順でWindows に Visual Studio Code をインストールした後,次のコマンドで Visual Studio Code を起動すると良いでしょう.なお,code . の後ろに & を入力すると,Visual Studio Code がバックグラウンドで実行され,すぐにプロンプトが入力可能な状態になります.もしも & を付けなければ Visual Studio Code を終了するまでプロンプトが入力可能にならないことを確認すると良いでしょう.

rinsaka@XPS2019:/var/www/html$ code . & ⏎

上のコマンドで Visual Studio Code が起動しカレントフォルダが開かれるので,index.html ファイルの編集作業ができます.

wsl-apache-02

Web ページ作成の詳細については HTML 入門を参照してください.

また,WSL にインストールした Ubuntu ではシステムの再起動時などに Apache2 が自動では起動しません.したがって,必要に応じて次のコマンドで起動状態を確認して,Apache2 を起動してください.

rinsaka@XPS2019:~$ sudo service apache2 status ⏎
 * apache2 is not running
rinsaka@XPS2019:~$ sudo service apache2 start ⏎
 * Starting Apache httpd web server apache2                                                                              *
rinsaka@XPS2019:~$ sudo service apache2 status ⏎
 * apache2 is running
rinsaka@XPS2019:~$