はじめに
Phoenix とは、Elixir 言語で利用可能な WebAP フレームワークです。
WSL で Phoenix サーバを起動し、ブラウザで参照するための手順をまとめます。
以下参考ページです。
WSL で Phoenix を起動
動作環境
- Windows 11
- WSL Ubuntu 20.04
事前準備
WSL ディストリビューションの複製(非必須)
お試しで実行する場合は WSL Ubuntu イメージを複製しておくのがお勧めです。
本手順は必須ではありません。
各種インストール
Ubuntu パッケージのアップデート
初めに、Ubuntu パッケージを最新化しておきます。
$ sudo apt update
$ sudo apt upgrade
Elixir のインストール
Erlang と Elixir をインストールします。
Ubuntu の標準リポジトリにも elixir はありますが、2022/09/19 現在では 1.9.1 のバージョンがインストールされてしまいます。
一方で Phoenix では 1.12 以降の Elixir を必要としますので、Erlang のリポジトリからインストールするようにします。
$ wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && sudo dpkg -i erlang-solutions_2.0_all.deb
$ sudo apt update
$ sudo apt install esl-erlang
$ sudo apt install elixir
バージョン 1.13.4 の Elixir をインストールできました。
$ elixir -v
Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit:ns]
Elixir 1.13.4 (compiled with Erlang/OTP 25)
PostgreSQL インストール
Phoenix はデータベースとして、デフォルトでは PostgreSQL を利用するようになっています。
postgresql をインストールして、サービスを手動で起動しておきます。
$ sudo apt install postgresql
$ sudo service postgresql start
サービス起動後、postgres ユーザのパスワードを設定しておきます。
これをやっておかないと、後続の mix ecto.create
のタイミングでエラーが発生します。
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
パッケージのインストール
Elixir のパッケージ管理ツールの hex をインストールします。
mix コマンドからインストールすることができます。
$ mix local.hex
続いて、hex を介して phx_new をインストールします。
Phoenix のプロジェクトジェネレータです。
$ mix archive.install hex phx_new
ここまでで事前準備完了です。
Phoenix プロジェクト作成および起動
mix コマンドを利用して、Phoenix のデフォルトプロジェクトを作成します。hello
ディレクトリが作成され、この配下に各種ファイルが配置されます。
$ mix phx.new hello
次に実行するべきコマンドは、先ほどのコマンドの出力にて指示されます。
その通りに順に実行してやります。
$ cd hello
$ mix ecto.create
$ mix phx.server
ここまで実行すると、Phoenix の Web サーバが起動されます。
Chrome などのウェブブラウザから http://localhost:4000
にアクセスすることで、Welcome ページにアクセスすることができます。
なお、ウェブブラウザは WSL 上で起動する必要はありません。
Windows 11 にインストールされている Chrome や Edge で十分です。
