編集

Windows11 にAlmaLinux9を入れてみた

2024/02/25

はじめに

随分、記事の更新が止まっておりましたが、ちょっとCI4でWebアプリでも作ろうかとやり始めて数カ月経ちましたので、WSL2を使った開発環境のところを健忘録もかねて書いておこうと思います。
今回、UbuntuではなくAlmaLinux9にしました。

AlmaLinuxは、いまさら説明するまでもないですが、CentOS8のサポート終了を機にオープンソースの後継OSとしてRockyLinuxとともに、非常に人気のあるLinuxディストリビューションです。

Rocky Linuxではなく、AlmaLinuxにしたのはどちらも日本語の情報はあるのですが、MIRACLE LINUXを開発している日本企業が支援してるから日本語情報も多いかなと思った次第です。

今回は、ローカル環境であるWindowsをホストOSとして、AlmaLinuxを使いたいので、WSL2を通じてAmalinux9を利用する必要があります。
この記事では、Amalinux9をWSL2で利用する方法について書いてみます。(すでに沢山同様の記事があるので、いまさらではありますが)

WSL2のインストールと設定

まず、WSL2をインストールし、Amalinux9を実行するための環境を整える必要があります。
WSL2のインストールは、Windowsの「PowerShell」を管理者権限で開き、「wsl --set-default-version 2」コマンドを実行することで可能です。
このコマンドは、デフォルトのLinux環境をWSL2に設定することになります。
Windowsの再起動後、Microsoft StoreからLinuxディストリビューションをダウンロードします。

Amalinux9のインストール

次に、Amalinux9をインストールします。
Microsoft Storeアプリを起動して、「AlmaLinux」で検索します。

Microsoft Store

2つのアプリが出てきますが、ここでは AlmaLinux 9を選択してインストールします。

インストールが完了したら、スタートメニューからAmalinux9を開き、初期設定を行います。

初期設定では、ユーザー名とパスワードを設定する必要があります。
これらの設定は後から変更することも可能ですが、初期設定で適切なユーザー名とパスワードを設定しておくことをお勧めします。

systemdのおまじない

/etc/wsl.conf で 以下の設定をしないとnginx とかsystemctlで動かすものが初期設定のままではエラーになっちゃいます。

systemdエラー

/etc/wsl.confをエディタで開いて、以下の設定をして再起動してください。

[boot]
systemd=true

Amalinux9の利用

Amalinux9を利用するには、Windowsの「コマンドプロンプト」または「PowerShell」を開き、'wsl'コマンドを実行します。
これにより、Amalinux9のシェルが開き、Linuxコマンドを直接実行することができます。
また、'exit'コマンドを使用すると、Amalinux9から抜け出すことができます。

VSCode使いの方なら、ターミナルでWSLを選択することが一番簡単かも知れませんが、SSH Serverをインストールして設定すれば、TeraTermやPuttyからSSH接続することも可能です。

追加パッケージ

追加で入れたパッケージをリストアップしてみました。

まずは、レポジトリの追加です。
参考にしたのは、Server Worldさんの初期設定のページです。

そのあと、dnfコマンドを使って、以下のよく使うやつをインストールしました。

  • vim
  • net-tools
  • iproute
  • nginx
  • php8
  • sqlite

初期状態で、IPアドレスが確認できなかったのでiprouteをインストール

AlmaLinux9をインストールして、初期時に取得できたIPアドレスを確認したくて、ifconfigとかip addr showとかコマンドを打ってもコマンドがないとおっしゃる状態でした。
そこで、上の通りにnet-toolsとiprouteのパッケージをインストールしました。
最近は、ip aっていいらしいですが、昔のコマンドが慣れているので・・・(滅多に使うコマンドでもないですが)。

nginxは、nginxのレポジトリから入れるのがおすすめ

nginxについては、Almalinux9のAppStreamのレポジトリで、1.20系がありますが、nginxのレポジトリを利用するように変更しています。
一度、AppStreamで入れてたのですが脆弱性対応で1.25が出ていたので素直に入れ直しました。
ちなみに、PHPerでもあるのでPHP8もインストールしています。
これは、AppStreamレポジトリにあるPHP8で大丈夫そうです。

まとめ

Windowsで、Linux環境を作る選択肢の1つとしてWSL2はかなり有用です。
ひと昔前のVirtualBoxとかVargrantとかで作っていたときに比べたら、サクッと環境作れるWSL2は便利です。
とはいえ、デスクトップ版Linuxを使うとか、そもそもStoreに載っていないOSとか入れるのは面倒なので、
その場合はVirtualBoxでISOイメージインストールするのがベストかと思います。
ということで、WSL2とVSCodeでいい感じの開発環境が出来上がりました。