背景と目的
手元のWindows環境上で急いでWAS Liberty環境を動かすために行った手順です。同じような必要に迫られた方の試行錯誤の時間削減に貢献することを目的とします。
WSLの有効化とUbuntuのインストール
1.「Windowsの機能の有効化または無効化」でWSLを有効化
2. Ubuntuをインストール
-
コマンドプロンプトを管理者として実行
-
wsl --list --online
でインストール可能なディストリビューションを確認 -
wsl --install Ubuntu
でWSLのUbuntuをインストールできる。 -
Debianじゃないの?
- WSL上のsystemdが最初から有効になっているのがUbuntuでした。
- Debianでもsystemdを有効にできるはずですが、ここでは省略します。
-
Debianが不要であれば
wsl --unregister Debian
で削除 -
インストールされているディストリビューションの一覧を出したい場合は
wsl --list
で確認
3. WAS Libertyをインストールする環境を用意
- 安全のため、インストールされた環境をコピーしてwasインストール用の環境を個別に用意する。
wsl --export Ubuntu c:\temp\Ubuntu.tar
mkdir %LOCALAPPDATA%\WslLocal (フォルダ名はお好みで)
wsl --import Ubuntu-was %LOCALAPPDATA%\WslLocal c:\temp\Ubuntu.tar
-
wsl -d Ubuntu-was
- 環境コピーで作成したイメージで起動した時はrootでのログインとなる
なお、wsl --install
でインストールしたディスクイメージは %LOCALAPPDATA%\Packages\CnonicalGroupLimited.Ubuntu_xxxxxxxx\LocalState\ext4.vhdx
に保管されている
WAS Libertyのインストール
- WAS Libertyをダウンロード
-
IBM Support > WebSphere Liberty for developers にある"Download Package"から
WebSphere Liberty xx.x.x.x + Java SE x for linux-x86
をダウンロード
# wget https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/23.0.0.6/wlp-webProfile8-java8-linux-x86_64-23.0.0.6.zip
※ (2023/7時点)
# sudo apt install unzip
# unzip wlp-webProfile8-java8-linux-x86_64-23.0.0.6.zip
-
回答したwlpディレクトリを適当なディレクトリに配置
sudo mv ./wlp /opt/.
-
Serverを作成(ここではwas1という名前で作成)
sudo /opt/wlp/bin/server create was1
sudo /opt/wlp/bin/server run was1
これでWindows側のブラウザ(Edgeなど)でhttp://localhost:9080 に接続するとWAS Libertyの画面が出てくるはず…だが、うまく接続できない。
何らかのセキュリティの設定なのだろうと思うが、WAS Libertyを設定方法がうまく調べきれず、急いでいたのでhttpサーバでリバースプロキシを立ち上げてワークアラウンドする。
なお、この状態で別のコンソールからw3m http://localhost:9080/
などで接続すると、接続できていることができる。
一旦Ctrl+CでWAS Libertyを止める。
lighttpdでリバースプロキシを設定する
-
sudo apt install ssh
別コンソールからログインするため、SSHをインストール。- sshで2つのコンソールでログインする(詳細略)
- 一つのコンソールでもう一度
sudo /opt/wlp/bin/server run was1
を実行
-
もう一つのコンソールで以下を実行
sudo apt update; sudo apt install lighttpd
-
sudo nano /etc/httpd.conf
以下の行を書いて保存
# 既にある server.modules += ( ... に"mod_proxy"を追加するのでも良い。
server.modules = (
"mod_proxy"
)
$SERVER["socket"] == ":81" {
proxy.server = (
"" => (
(
"host" => "127.0.0.1",
"port" => 9080
)
)
)
}
sudo systemctl restart lighttpd
-
http://localhost:81/ に接続してこの画面が出れば成功!
アプリケーションの稼働を確認する
例としてGitbucketを実行
-
wget https://github.com/gitbucket/gitbucket/releases/download/4.39.0/gitbucket.war
※ ダウンロード先は適宜最新版を確認してください -
sudo mv gitbucket.war /opt/wlp/usr/servers/was1/dropins/.
-
http://localhost:81/gitbucket に接続して、ログイン画面が出ればOK!
- id:root / pass:rootでログインできます
参考文献
Libertyクイックスタートのための情報をそろえていただき、大変参考になりました。