LoginSignup
2
0

WSL(Ubuntu)上でWAS Liberty環境を動かす

Last updated at Posted at 2023-07-21

背景と目的

手元のWindows環境上で急いでWAS Liberty環境を動かすために行った手順です。同じような必要に迫られた方の試行錯誤の時間削減に貢献することを目的とします。

WSLの有効化とUbuntuのインストール

1.「Windowsの機能の有効化または無効化」でWSLを有効化

  • 「検索」から「Windowsの機能の」で検索
    image.png

  • 「Linux用Windowsサブシステム」「Windowsハイパーバイザープラットフォーム」をクリックして、OKを押下
    image.png

2. Ubuntuをインストール

  • コマンドプロンプトを管理者として実行

  • wsl --list --online でインストール可能なディストリビューションを確認

  • wsl --install Ubuntu でWSLのUbuntuをインストールできる。

    • ユーザIDとパスワードを聞かれるので入力して設定
      image.png
  • 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のインストール

  1. WAS Libertyをダウンロード
# 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 以下の行を書いて保存
lighttpd.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/ に接続してこの画面が出れば成功!
    image.png

アプリケーションの稼働を確認する

例としてGitbucketを実行

  • wget https://github.com/gitbucket/gitbucket/releases/download/4.39.0/gitbucket.war ※ ダウンロード先は適宜最新版を確認してください

  • sudo mv gitbucket.war /opt/wlp/usr/servers/was1/dropins/.

  • ファイルを配置するだけで自動的にwarファイルが展開
    image.png

  • http://localhost:81/gitbucket に接続して、ログイン画面が出ればOK!
    image.png

    • id:root / pass:rootでログインできます

参考文献

Libertyクイックスタートのための情報をそろえていただき、大変参考になりました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0